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'

編集: from
に関するすべてのものを削除します。ソース ファイルは単なるファイルであり、フレームワークではありません。.frameworks.source_files

于 2013-08-13T22:33:36.753 に答える