Ios 将动态创建的文件复制到内置应用程序包中

Ios 将动态创建的文件复制到内置应用程序包中,ios,xcode,Ios,Xcode,我有一个文件,运行时在iOS项目的${SRCROOT}文件夹中创建。我想复制此文件,以便在构建应用程序时将其嵌入包中 例如 构建应用程序时,我会创建一个文件xyz.txt 我希望将此文件像普通资源一样复制到应用程序中,例如MyApp.app/xyz.txt 以下是我尝试过的: 我创建了一个构建阶段->运行脚本,包含以下内容: cp“${SRCROOT}/xyz.txt${DSTROOT}/xyz.txt 上面没有将文件复制到我想要的地方。我已经查看了构建变量列表,但我不确定哪一个适用于我的目

我有一个文件,运行时在iOS项目的
${SRCROOT}
文件夹中创建。我想复制此文件,以便在构建应用程序时将其嵌入包中

例如

  • 构建应用程序时,我会创建一个文件
    xyz.txt
  • 我希望将此文件像普通资源一样复制到应用程序中,例如
    MyApp.app/xyz.txt
以下是我尝试过的:

我创建了一个
构建阶段
->
运行脚本
,包含以下内容:

cp“${SRCROOT}/xyz.txt${DSTROOT}/xyz.txt

上面没有将文件复制到我想要的地方。我已经查看了构建变量列表,但我不确定哪一个适用于我的目的


如何将创建的
xyz.txt
文件作为构建阶段复制到主应用程序包中?

我在这个问题中找到了答案:

我最后在我的
运行脚本中使用了以下内容

cp "${SRCROOT}/xyz.txt" "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/xyz.txt"  

在Xcode 7.3中,${builded\u PRODUCTS\u DIR}似乎指向另一个位置,并且您无法使用NSBundle.pathForResource()获取文件路径

至少当您尝试将plist或某个文件复制到测试包中时是这样

这就是我的工作原理(在运行脚本):


您不能通过XCode?的“构建阶段”选项卡上的“复制捆绑资源”来实现这一点,因为在构建过程完成并且文件完成之前,它不是本地资源generated@MarcusAdamsJustin是正确的,文件在生成之前不存在于磁盘上。上面的问题是一个简化的例子。
cp "${SRCROOT}/App/Resources/Custom.plist" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyPlist.plist"