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

Xcode4 使用Xcode 4子项目中的静态库和捆绑产品,xcode4,static-libraries,bundle,subproject,Xcode4,Static Libraries,Bundle,Subproject,我有一个包含2个项目的工作区: 有两种产品的项目:静态库和资源包 构建iOS应用程序的项目 第一个项目已添加为第二个项目下的子项目参考。我有静态库建设罚款,它链接到应用程序,一切都很好。但是,我似乎无法在应用程序中包含资源包 该捆绑包已添加到应用程序的“构建”方案中 我已尝试将Resources.bundle拖到应用程序的“复制生成资源”阶段,但这会在生成时导致此错误: .../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Pr

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

  • 有两种产品的项目:静态库和资源包
  • 构建iOS应用程序的项目
  • 第一个项目已添加为第二个项目下的子项目参考。我有静态库建设罚款,它链接到应用程序,一切都很好。但是,我似乎无法在应用程序中包含资源包

    该捆绑包已添加到应用程序的“构建”方案中

    我已尝试将Resources.bundle拖到应用程序的“复制生成资源”阶段,但这会在生成时导致此错误:

    .../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle: No such file or directory
    
    因此,我查看了派生数据目录,并在中看到了Resources.bundle

    MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug 
    
    不是

    我认为这是因为捆绑包不是特定于平台的。因此,我尝试添加一个构建阶段来将捆绑包复制到Products目录。导致此生成错误的原因:

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

    但是没有调试iphonesimulator/Resources.bundle文件,所以我看不出这种依赖关系来自何处。任何建议都将不胜感激。

    我想出来了。问题是(如上所述),捆绑包不是特定于平台的,因此它输出到Products/Debug目录,而应用程序输出到Products/Debug iphonesimulator目录。我必须添加一个运行脚本阶段来将资源复制到应用程序包中:

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

    你能解释一下如何添加这个跑步脚本吗?这真是太棒了。实际上,我试图将SRC定位到“~/Xcode/DerivedData/MyTarget blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug iphonesimulator”,但这里给出了“~/Xcode/DerivedData/MyTarget blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug”。你能帮我做这个吗?
    SRC="$BUILD_DIR/$CONFIGURATION/Resources.bundle"
    DEST="$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/$FULL_PRODUCT_NAME"
    cp -R "$SRC" "$DEST"