Podspec链接二进制库
我正在尝试创build一个Podspec: https : //github.com/sincerely/shiplib-ios-framework
Pod Lint通过并将文件添加到项目中,但不链接二进制“Sincerely”文件。 当通过<Sincerely/filename.h>
导入时,由于缺less文件导致示例项目生成失败
Pod::Spec.new do |s| s.name = 'ShipLib' s.version = '1.4' ... s.source = { :git => 'https://github.com/sincerely/shiplib-ios-framework.git', :tag => 's.version.to_s' } s.library = 'Sincerely' s.source_files = 'Sincerely.framework','Sincerely.framework/Headers/*.h' s.resources = 'Sincerely.framework/Resources/*.{png,nib}' s.frameworks = 'AddressBook', 'AddressBookUI', 'SystemConfiguration', 'CoreTelephony' s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '$(PODS_ROOT)/ShipLib/' } end
编辑:
Pod::Spec.new do |s| s.name = 'ShipLib' s.version = '1.4' s.platform = :ios s.summary = 'Allow users to send printed photos from your app.' s.author = { 'Sincerely' => 'dev@sincerely.com' } s.homepage = 'https://github.com/sincerely/shiplib-ios-framework' s.license = { :file => 'LICENSE', :type => 'Commercial' } s.source = { :git => 'https://github.com/sincerely/shiplib-ios-framework.git', :tag => 's.version.to_s' } s.frameworks = 'AddressBook', 'AddressBookUI', 'SystemConfiguration', 'CoreTelephony' s.ios.vendored_frameworks = 'Sincerely.framework' end
不会为框架复制标题,也不应将其指定为源文件。 如果你想要做的就是把框架添加为vendored_framework
。 这在CP 0.23.0中是新的。
从文档
spec.ios.vendored_frameworks = 'Frameworks/MyFramework.framework'
编辑:
从s.source_files
删除所有关于.framework
的东西。 源文件只是文件,而不是框架。
我想你的项目可能缺乏Sincerely.framework中的Sincerely库。 如果你使用sourcetree来pipe理项目,那么这就是造成这个问题的源码树的bug。 Sourcetree不检测Sincerely库。