私は新しいアプリケーションMyApp
を作成しています。そこで、別のプロジェクトで再利用できるようにするために、アプリケーションの一部を別のフレームワークMyFramework
に入れることにしました。このフレームワークには、メインアプリケーションプロジェクト(MyApp.xcodeproj
)のサブプロジェクトである独自のプロジェクト(MyFramework.xcodeproj
)があります。主なアプリプロジェクトはもちろん、フレームワーク(MyFramework.framework
)に依存関係(&のコピーをリンクしています)を持っています。これまでのところこの部分はうまく動作します。(サブプロジェクト)フレームワークをポッドにリンクするにはどうすればいいですか?
今や、MyFramework
は、作業するためにココアポッド(Alamofire
)が必要です。私が理解する限り、私はMyFramework.xcodeproj
プロジェクトのためのココアポッドを直接設定したくないので、メインアプリケーションMyApp.xcodeproj
(現在はポッドのためMyApp.xcworkspace
です)に設定し、そこにAlamofire
ポッドも含まれています。私はその後、MyFramework.xcodeproj
をAlamofire.framework
(MyApp_Pods.framework
ではなく)にリンクしましたが、コピーにはAlamofire
を設定しませんでした。 MyApp.xcodeproj
は通常のココアポッドをリンク/コピー/バンドルしているので、最終製品にはAlamofire.framework
も含まれています。これは部分的にうまくいった。
(注:私は言う、私は時折MyFramework.xcodeproj
でAlamofire.framework
を再リンクすることによって固定することができ、コンパイルAlamofire
モジュールは、見つからないMyFramework
ソースでエラーがあったので、ここで「部分的に罰金」はほかに、アプリのビルドと実行は正常に動作します)。
アプリをアーカイブしようとすると、今度はソースにAlamofire
モジュールが見つかりません。このエラーは、MyApp
(MyFramework
も作成)とMyFramework
を直接アーカイブする場合に発生します。エラーは、リンクフェーズではなく、import Alamofire
ステートメントを持つソースSwiftファイルのコンパイルフェーズで発生します。
私はAlamofire.framework
のリンクのように、ビルド時に見つかる可能性のある間違った相対パスを使用すると思われますが、アーカイブなどでは異なります。私はすでにAlamofire.framework
のパスをRelative to build products
に設定しようとしましたが、これを動作させることはできませんでした。
MyFramework.xcodeproj
プロジェクトからAlamofire.framework
にリンクして、Alamofire
をポッドに入れた私の全体のセットアップが正しいかどうかは不明です。
ここで何が間違っているかもしれないかのヒントを誰にでも教えてもらえますか?パスの中かセットアップ全体のどちらか?
および?あなたは解決策を見つけましたか? – vikingosegundo