2017-10-26 2 views
1

サブスペースとして 'AAnalytics'を持つポッドAPodを作成しようとしています。 '' AAnalytics 'には、FirebaseNewRelicなどの複数の依存関係があります。ここでpodspecのように見える方法は次のとおりです。ブリッジヘッダー付きポッドを作成

AAnalytics
Pod::Spec.new do |s| 
    s.name    = 'APod' 
    s.version   = '0.3.5' 
    s.summary   = 'summary' 
    s.ios.deployment_target = '9.0' 
    s.tvos.deployment_target = '9.0' 
    s.watchos.deployment_target = '2.0' 
    s.static_framework = true 
    s.source_files = 'APod/Classes/*' 

    #### SubspeC#### 
    s.subspec 'AAnalytics' do |ss| 
    ss.pod_target_xcconfig = { 'DEFINES_MODULE' => 'Yes' } 
    ss.source_files = 'Classes/AAnalytics/*' 
    ss.dependency 'NewRelicAgent', '~> 5.15.0' 
    ss.dependency 'Analytics', '~> 3.6.0' 
    ss.dependency 'Segment-Adjust', '~> 1.1.3' 
    ss.dependency 'FBSDKCoreKit', '~> 4.27.1' 
    ss.dependency 'Firebase/Core', '~> 4.4.0' 
    end 
end 

、それが依存ポッドのラッパーメソッドを持っている唯一のクラスAAnalytics.swiftを持っています。 NewRelicAgent以外はすべて正常に動作します。 Analytics.swiftNewRelicAgentをインポートして使用することはできません。しかし、私はNewRelicAgentをメインプロジェクトに使用して、ヘッダーをブリッジすることができました。

しばらく検索したところ、XcodeはNewRelicAgentのmodule.modulemapファイルを作成しませんでした(または、NewRelicAgentポッドに含める必要があります)。

enter image description here

あなたは上記を参照として、FirebaseAnalyticsは `モジュール/ module.modulemap」を有します。

enter image description here

しかしNewRelicAgentは、パスとファイルを持っていません。

私はarticleを読みました。とXcodeがmodule.modulemapファイルを作成していて、フレームワークで同じ名前の傘のヘッダーがあると思われます。

何が紛失していますか。使用するにはどうすればよいですかNewRelicAgentAAnalytics.swift?私はcocoapods 1.4.1 beta 2を使用しています。

答えて

1

Xcodeでは、バイナリフレームワークのファイルがmodule.modulemapではありません。 NewRelicAgentは、モジュールマップを含まないvendored_framework binary CocoaPodです。他のCocoaPodのフレームワークにはmodule.modulemapが含まれています。

find . | grep module.modulemapを実行すると、プロジェクトにパブリックAPIを持つ他のバイナリCocoaPodにModules/module.modulemapファイルが含まれていることがわかります。

+0

このように使用する方法はありませんか? – Ryan

+0

'pod install'の後、適切な内容のPods/NewRelicAgent/NewRelicAgent/NewRelicAgent.framework/Modules/module.modulemapを追加することができます –

関連する問題