使用Xcode 4子项目中的静态库和捆绑产品



我有一个包含两个项目的工作区:

  1. 一个有两个产品的项目:一个静态库和一个资源包
  2. 构建iOS应用的项目。

第一个项目已被添加为第二个项目下的子项目引用。我有静态库建设很好,它链接到应用程序,一切都很好。但是,我似乎不能在应用程序中包含资源包。

bundle已经被添加到应用的'Build'方案中。

我试过拖动参考资料。绑定到应用程序的"复制构建资源"阶段,但这会导致构建时出现以下错误:

.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle: No such file or directory

所以我查看了派生数据目录,看到了参考资料。

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug 

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator.  

我认为这是因为bundle不是特定于平台的。因此,我尝试添加一个构建阶段,将该包复制到产品目录中。导致此构建错误:

.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle depends on itself.  This target might include its own product.

但是没有debug -iphone模拟器/资源。bundle文件,所以我不知道这个依赖是从哪里来的。如有任何建议,不胜感激。

我明白了。问题是(如上所述),bundle不是特定于平台的,所以它输出到Products/Debug目录,而应用输出到Products/Debug-iphone模拟器目录。我必须添加一个Run Script阶段来将资源复制到应用包中:

SRC="$BUILD_DIR/$CONFIGURATION/Resources.bundle"
DEST="$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/$FULL_PRODUCT_NAME"
cp -R "$SRC" "$DEST"

相关内容

  • 没有找到相关文章

最新更新