我有一个包含2个项目的工作区:
第一个项目已作为第二个项目下的子项目参考添加。我有静态库建设很好,它链接到应用程序,一切都很好。但是,我似乎无法在应用程序中包含资源包。
该套装已添加到应用程序“构建”中。方案
我尝试将Resources.bundle拖到应用程序的“复制构建资源”中。阶段,但这会在构建时导致此错误:
.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle: No such file or directory
所以我查看了派生数据目录,我在
中看到了Resources.bundleMyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug
不是
MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator.
我认为这是因为捆绑包不是特定于平台的。所以我尝试添加一个构建阶段来将捆绑包复制到产品目录。导致此构建错误:
.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle depends on itself. This target might include its own product.
但是没有Debug-iphonesimulator / Resources.bundle文件,因此我不知道这种依赖性来自何处。任何建议都将不胜感激。
答案 0 :(得分:7)
我明白了。问题是(如上所述)bundle不是特定于平台的,所以当app输出到Products / Debug-iphonesimulator目录时,它输出到Products / Debug目录。我不得不添加一个Run Script阶段来将资源复制到app bundle中:
SRC="$BUILD_DIR/$CONFIGURATION/Resources.bundle"
DEST="$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/$FULL_PRODUCT_NAME"
cp -R "$SRC" "$DEST"