Xcode4サブプロジェクトの静的ライブラリとバンドル製品を使用する
-
28-10-2019 - |
質問
2つのプロジェクトを含むワークスペースがあります:
- 静的ライブラリとリソースバンドルの2つの製品があるプロジェクト
- iOSアプリを構築するプロジェクト。
最初のプロジェクトは、2番目のプロジェクトの下にサブプロジェクト参照として追加されました。私は静的ライブラリを正常に構築しています、それはアプリにリンクしています、すべてが順調です。ただし、アプリにリソースバンドルを含めることができないようです。
バンドルがアプリの「ビルド」スキームに追加されました。
Resources.bundleをアプリの「ビルドリソースのコピー」フェーズにドラッグしようとしましたが、ビルド時にこのエラーが発生します: ジェネラコディセタグプレ
派生データディレクトリを見ると、にResources.bundleがあります。 ジェネラコディセタグプレ
ない ジェネラコディセタグプレ
これは、バンドルがプラットフォーム固有ではないためだと思います。そこで、ビルドフェーズを追加して、バンドルを製品ディレクトリにコピーしてみました。このビルドエラーの結果: ジェネラコディセタグプレ
しかし、Debug-iphonesimulator / Resources.bundleファイルがないため、この依存関係がどこから来ているのかわかりません。アドバイスをいただければ幸いです。
解決
I figured it out. The problem is (as mentioned above) that the bundle isn't platform specific so it outputs to to the Products/Debug directory while the app outputs to the Products/Debug-iphonesimulator directory. I had to add a Run Script phase to copy the resource into the app bundle:
SRC="$BUILD_DIR/$CONFIGURATION/Resources.bundle"
DEST="$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/$FULL_PRODUCT_NAME"
cp -R "$SRC" "$DEST"