2017-01-24 9 views
1

私は新しいアプリケーションMyAppを作成しています。そこで、別のプロジェクトで再利用できるようにするために、アプリケーションの一部を別のフレームワークMyFrameworkに入れることにしました。このフレームワークには、メインアプリケーションプロジェクト(MyApp.xcodeproj)のサブプロジェクトである独自のプロジェクト(MyFramework.xcodeproj)があります。主なアプリプロジェクトはもちろん、フレームワーク(MyFramework.framework)に依存関係(&のコピーをリンクしています)を持っています。これまでのところこの部分はうまく動作します。(サブプロジェクト)フレームワークをポッドにリンクするにはどうすればいいですか?

今や、MyFrameworkは、作業するためにココアポッド(Alamofire)が必要です。私が理解する限り、私はMyFramework.xcodeprojプロジェクトのためのココアポッドを直接設定したくないので、メインアプリケーションMyApp.xcodeproj(現在はポッドのためMyApp.xcworkspaceです)に設定し、そこにAlamofireポッドも含まれています。私はその後、MyFramework.xcodeprojAlamofire.frameworkMyApp_Pods.frameworkではなく)にリンクしましたが、コピーにはAlamofireを設定しませんでした。 MyApp.xcodeprojは通常のココアポッドをリンク/コピー/バンドルしているので、最終製品にはAlamofire.frameworkも含まれています。これは部分的にうまくいった。

(注:私は言う、私は時折MyFramework.xcodeprojAlamofire.frameworkを再リンクすることによって固定することができ、コンパイルAlamofireモジュールは、見つからないMyFrameworkソースでエラーがあったので、ここで「部分的に罰金」はほかに、アプリのビルドと実行は正常に動作します)。

アプリをアーカイブしようとすると、今度はソースにAlamofireモジュールが見つかりません。このエラーは、MyAppMyFrameworkも作成)とMyFrameworkを直接アーカイブする場合に発生します。エラーは、リンクフェーズではなく、import Alamofireステートメントを持つソースSwiftファイルのコンパイルフェーズで発生します。

私はAlamofire.frameworkのリンクのように、ビルド時に見つかる可能性のある間違った相対パスを使用すると思われますが、アーカイブなどでは異なります。私はすでにAlamofire.frameworkのパスをRelative to build productsに設定しようとしましたが、これを動作させることはできませんでした。

MyFramework.xcodeprojプロジェクトからAlamofire.frameworkにリンクして、Alamofireをポッドに入れた私の全体のセットアップが正しいかどうかは不明です。

ここで何が間違っているかもしれないかのヒントを誰にでも教えてもらえますか?パスの中かセットアップ全体のどちらか?

答えて

0

これは、問題そのものに取り組むことはありませんが、あなたの必要性を提供しています解決策を提供する:

はポッドにMyFrameworkを変換します。 private spec repoにホストするか、さらに簡単には、ポッドファイルのgitパラメータを使用してアクセスしてください。

pod 'MyFramework', :git => 'https://gitsever/maxscompany/MyFramework.git' 
+0

および?あなたは解決策を見つけましたか? – vikingosegundo

関連する問題