我在Xcode工作区中有两个项目。我想在项目A中添加项目B的构建产品作为bundle资源。我已经配置了项目A的方案来首先构建项目B.除了简单地从文件系统添加项目B的构建产品之外,还有一种正确的方法吗?
答案 0 :(得分:4)
我能够以下列方式将项目B的产品添加到项目A中。我只是将项目B的产品从Project Navigator拖到项目A的Copy Bundle Resources窗格中。这可能很棘手,因为你不能通过选择产品的图标来启动拖动 - 我只是通过拖动它的标题来成功。没有必要使项目B成为目标A的目标依赖;可以通过方案来管理构建依赖项(这是我最初配置工作区的方式)。
答案 1 :(得分:3)
同样的问题在这里有所回答:https://stackoverflow.com/a/7118177/470225。它不是一个完美的解决方案,但它对我有用。您可以添加“运行脚本”构建阶段,将资源包复制到应用程序二进制文件中。这是脚本:
cp -R -f $BUILT_PRODUCTS_DIR/MyBundle.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/
答案 2 :(得分:0)
您可以转到项目A的构建阶段选项卡,并将项目B的产品添加到“复制捆绑资源”构建阶段。确保为项目B添加依赖项。
答案 3 :(得分:0)
如果cp -R -L -f $BUILT_PRODUCTS_DIR/MyBundle.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/
与-L
一起,如果没有这个,则在存档期间,只有符号链接被复制到内容文件夹路径,并且应用程序崩溃,因为不会看到真正的资源。