workspace 中使用 pod

在xcworkspace 中使用cocoapod

  1. 在xcworkspace同级目录中创建一个 Podfile 文件
  2. 编写 Podfile 文件
  3. 运行 pod install 命令
workspace 'Demo.xcworkspace'

target 'Demo_001' do
	platform :ios,'9.0'
	pod 'YYKit'
	 # - 使用本地的pod路径
	 # - pod 'QIEPayUIComponent', '0.3.4'
	 # - pod 'QIEBasePlayerCompont', :path => '../../../MyGit/QIEBasePlayerCompont'
	 
	 # - 禁用 UIWebView	
	 # - pod 'SensorsAnalyticsSDK', :subspecs => ['DISABLE_UIWEBVIEW']
	 
	# - 仅在debug 条件下导入
	# pod 'DoraemonKit/Core', '~> 3.0.1', :configurations => ['Debug'] #必选

	xcodeproj 'Demo_001/Demo_001.xcodeproj'
end

target 'Demo_002' do
	 # - 指定pod版本号
	 pod 'AFNetworking', '~> 4.0'
	xcodeproj 'Demo_002/Demo_002.xcodeproj'
end

podspec的文件内容

Pod::Spec.new do |s|
  s.name             = '组件名称'
  s.version          = '0.2.0'
  s.summary          = '播放器'

  s.description      = <<-DESC
 '播放器'
                       DESC

  s.homepage         = '主页地址'
  s.license          = { :type => 'type', :file => 'file' }
  s.author           = { 'xxx' => 'xx@qq.com' }
  s.source           = { :git => 'git地址', :tag => s.version.to_s }

  s.ios.deployment_target = '9.0'
  
  # - 在pch中写入条件判断的内容
  s.prefix_header_contents = <<-EOS
   #ifdef __OBJC__
   #import "QIEBasePlayerConstants.h"
   #endif
  EOS
  
  # - 在pch中写入要导入的头文件
  s.prefix_header_contents = '#import <UIKit/UIKit.h>', '#import <Foundation/Foundation.h>'
  
  # - 指定pch文件
  s.prefix_header_file = 'iphone/include/prefix.pch'

  # - 组案的源文件
  s.source_files = 'QIEBasePlayerCompont/Classes/QIEBasePlayerConstants.h','QIEBasePlayerCompont/Classes/QIEBasePlayerHeader.h'
  
  # - 组件的资源文件
  s.resources = ['QIEBasePlayerCompont/Assets/*.plist','QIEBasePlayerCompont/Assets/Images/*.png', 'QIEBasePlayerCompont/Assets/Images/*.jpg', 'QIEBasePlayerCompont/Assets/SVG/*.svg']
  
  # - 依赖的框架
  s.frameworks = "VideoToolbox", "AudioToolbox","AVFoundation","Foundation","UIKit"
  
  # - 依赖的静态库
  s.libraries = "c++", "z"

  # - 每个子组件
  s.subspec 'LFLiveKit' do |ss|
      # - 子组件的资源文件
      ss.source_files ='QIEBasePlayerCompont/Classes/LFLiveKit/**/*.{h,m,mm,cpp,c,hpp}'
      
      # - 子组件的公开的头文件,因为在podfile中使用了use_frameworks!,那么cocopods会帮我们自动生成头文件xxx-umbrella.h,这里面导入了所有我们在podspec中配置的所有公共头文件(类似于pch文件),只要我们引用了这个文件中导入的头文件(无论是什么类型的头文件),就会引用整个模块,这就导致了如果私有库中使用了C++的代码,那么只要引用到相关的代码,就会提示找不到文件。(如果调用方不使用use_frameworks就没有这个问题,但我们不能强求别人对吧),为了避免这情况, 这里写成 public_header_files
      ss.public_header_files = ['QIEBasePlayerCompont/Classes/LFLiveKit/*.h', 'QIEBasePlayerCompont/Classes/LFLiveKit/objects/*.h', 'QIEBasePlayerCompont/Classes/LFLiveKit/configuration/*.h']
      
      # - 以来的.a文件
      ss.vendored_libraries = 'QIEBasePlayerCompont/Classes/LFLiveKit/faceDetect/libs/*.a'
      
      # - 使用的资源文件
      ss.resources = 'QIEBasePlayerCompont/Classes/LFLiveKit/*.bundle'
      
      # - 依赖的系统框架
      ss.frameworks = 'UIKit','Foundation','AVFoundation','VideoToolbox','AudioToolbox'
      
      # - 依赖的系统静态库
      ss.libraries = 'z', 'c++'
      
      # - 依赖的非系统框架
      ss.ios.vendored_frameworks = 'QIEBasePlayerCompont/Classes/DYLiveKit/DYLiveKit_Lib/*.framework'
      
      # - 依赖的非系统静态库
      ss.ios.vendored_libraries = 'QIEBasePlayerCompont/Classes/DYLiveKit/FFMPEG_Lib/libs/*.a', 'QIEBasePlayerCompont/Classes/DYLiveKit/*.a'
      
      # - 修改arc和mrc的一些参数
      ss.requires_arc = false
      ss.requires_arc = ['QIEThreePartyLibs/Classes/SMTPSender/ARC/**/*.m']
  end
    
  s.subspec 'QIEAVCommonClass' do |ss|
      ss.source_files = 'QIEBasePlayerCompont/Classes/QIEAVCommonClass/*.{h,m}'
      ss.dependency 'QIEAppDelegateManager'
      ss.dependency 'TXLiteAVSDK_Professional'
  end
   
  s.subspec 'QIEPusher' do |ss|
      ss.source_files = 'QIEBasePlayerCompont/Classes/QIEPusher/*.{h,m}'
      
      # - 依赖的其它子组件
      ss.dependency 'QIEBasePlayerCompont/LFLiveKit'
  end
  
  # - 依赖的其它组件
  s.dependency 'Masonry'
  s.dependency 'QIEConfigComponent'
  s.dependency 'QIEBaseTool'
  s.dependency 'QIEThreePartyLibs/UmengLib'

  s.static_framework = true
  
  # - 以下的属性可以在 build setting 中赋值粘贴出来名;
  # - pod_target_xcconfig 表示修改pod本身的编译选项; user_target_xcconfig 表示修改依赖pod 的项目的编译选项
  # - 用编辑器打开项目文件Pods.xcodeproj,查找该编译选项的Key,也可以在这里查看

  # - 禁用bitcode
  s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
  s.user_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
  
  # - HEADER_SEARCH_PATHS, FRAMEWORK_SEARCH_PATHS, LIBRARY_SEARCH_PATHS
  s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
  s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(SRCROOT)/libs/Frameworks/Huoyan' }
  s.xcconfig  = { 'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/iOS_Util/iOS_Util/AMR/lib"' }
  
  # - 修改Clang的一些参数
  s.xcconfig = {
      'CLANG_CXX_LANGUAGE_STANDARD' => 'gnu++11',
      'CLANG_CXX_LIBRARY' => 'libc++',
      'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2'
  }
  
  # - 修改 OTHER_LDFLAGS
  s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }

end

使用参数搞podfile文件

  PODFILE_TYPE = []
  PODFILE_TYPE = ENV['PODFILE_TYPE'].split(".") if ENV['PODFILE_TYPE']
  if(PODFILE_TYPE.include?('QIESVGKit'))
  if(PODFILE_TYPE.include?('branch'))
     pod 'QIESVGKit', :git => 'https://github.com/aliyun/QIESVGKit.git', :branch => 'master'
   elsif(PODFILE_TYPE.include?('local'))
     pod 'QIESVGKit', :path => '/Users/lichaoqun/Desktop/公司/QIESVGKit'
   end
 else
  pod 'QIESVGKit' , '0.0.3'
 end
 
// - 更新pod
# - 使用 本地的cocoapod: env PODFILE_TYPE=QIEUserCenterComponent.local pod install
# - 使用远程branch的 cocoapod: env PODFILE_TYPE=QIEUserCenterComponent.branch pod install
# - 使用默认的 cocoapod: pod install
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Simulink,From Workspace模块可以用来从MATLAB Workspace导入数据作为模型的输入信号,以下是From Workspace模块的使用步骤: 1. 在MATLAB Workspace创建输入数据 在MATLAB创建一个向量或矩阵作为输入信号,可以使用MATLAB的函数来生成或处理数据。例如,可以使用如下语句生成一个包含10个正弦波周期的等间隔向量: ``` t = linspace(0, 10, 1000); u = sin(2*pi*5*t); ``` 这个向量u包含了一个正弦波信号,可以作为模型的输入信号。 2. 在Simulink添加From Workspace模块 在Simulink模型,可以从Simulink库添加From Workspace模块,或者使用快捷键Ctrl+Shift+L来打开Library Browser,然后在搜索框输入“From Workspace”进行搜索。 3. 配置From Workspace模块 双击From Workspace模块,打开其参数设置窗口,按照以下步骤进行配置: - Data:选择在MATLAB Workspace创建的输入数据变量名,例如u。 - Time:选择在MATLAB Workspace创建的时间变量名,如果输入信号不是时域信号,可以不选择时间变量。 - Interpolation:选择插值方法,例如“ZOH”表示使用零阶保持插值。 - Sample time:设置采样时间,如果输入信号采用连续时间表示,则采样时间可以设置为0。 - Limit data points to last:设置从输入数据读取的数据点数。 4. 连接From Workspace模块 将From Workspace模块的输出连接到模型的其他模块或信号源。 5. 运行模型 运行模型,From Workspace模块将导入在MATLAB Workspace创建的输入数据,并将其作为模型的输入信号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值