13

我正在尝试为以下内容创建 Podspec:https ://github.com/sincerely/shiplib-ios-framework

Pod Lint 通过 & 文件被添加到项目中,但它没有链接二进制“Sincerely”文件。由于通过以下方式导入时缺少文件,示例项目构建失败:<Sincerely/filename.h>

 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
4

2 回答 2

14

不会为框架复制标头,也不应将其指定为源文件。如果您只想将框架添加为vendored_framework. 这是CP 0.23.0中的新功能。

文档

  spec.ios.vendored_frameworks = 'Frameworks/MyFramework.framework'

编辑:
删除所有关于.frameworkfrom的东西s.source_files。源文件就是这样,文件,而不是框架。

于 2013-08-13T22:33:36.753 回答
0

我猜你的项目可能在sincerely.framework 中缺少sincerely 库。如果您使用 sourcetree 来管理项目,则导致问题的原因是 sourcetree 的错误。Sourcetree 没有检测到sincerely 库。

于 2017-10-24T11:11:42.723 回答