10

私はAEXMLプロジェクトをフォークし、 Carthageサポートを追加しようとしています。フレームワーク ターゲットを追加し、共有としてマークされた新しいスキームを作成しました (以下のスクリーンショットを参照)。私は実行することができcarthage build、私には次のように表示されCarthage/Build/iOSます:

ここに画像の説明を入力

結果のファイルをサンプル アプリケーションにドラッグするAEXML.frameworkと、プロジェクトがビルドされますが、起動時に次のように表示されます。

ここに画像の説明を入力

途中でどこかでめちゃくちゃになった気がしますが、これを修正する方法が正確にはわかりません。

ここに画像の説明を入力

4

3 に答える 3

1

次のように、サンプル プロジェクトの「ビルド フェーズ」に実行スクリプトを追加する必要があります。

アプリケーション ターゲットの [ビルド フェーズ] 設定タブで、[+] アイコンをクリックし、[新しい実行スクリプト フェーズ] を選択します。次の内容で実行スクリプトを作成します。

 /usr/local/bin/carthage copy-frameworks

次に、使用するフレームワークへのパスを「入力ファイル」の下に追加します。例:

 $(SRCROOT)/Carthage/Build/iOS/Box.framework
 $(SRCROOT)/Carthage/Build/iOS/Result.framework
 $(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
于 2015-10-06T09:26:54.670 に答える
0

あなたが持っているエラーは、実行時にフレームワークのバイナリが見つからなかったことを示しています。Abner Zhongの回答はほとんどの場合うまくいきますが、もっと頑張らなければならないこともあります (私にとっては単体テストの対象でした)。それを機能させるために、Carthage READMEは次のことを提案しています。

まれに、各依存関係をビルド プロダクトにコピーすることもできます (たとえば、外部フレームワーク内に依存関係を埋め込むため、または依存関係がテスト バンドルに存在することを確認するため)。これを行うには、「フレームワーク」宛先で新しい「ファイルのコピー」ビルド フェーズを作成し、そこにもフレームワーク参照を追加します。

ここでこれを行うことができます: Xcode ターゲット設定

于 2015-10-08T11:52:58.620 に答える