2016-12-02 52 views
1

当我使用Xcode 8构建项目时,它将最终版本保存在~/Library/Developer/Xcode/DerivedData/MyProject-[add-lots-of-random-chars-here]/Build/Products/Release-iphoneos中。有没有办法让Xcode在构建之后将应用程序包复制到用户指定的路径?例如我怎样才能让Xcode在构建之后将构建的应用程序包复制到/MyBuilds完成构建后将构建版本复制到其他目录

我知道我可以在Xcode中更改我的项目设置中存储派生数据的路径,但这样做当然会使Xcode在此位置存储所有数据(包括对象代码等中间内容)想。我真的只希望Xcode能够将最终的即时分发应用程序包复制到用户指定的位置,而不需要在构建过程中使用任何中间文件。

我该怎么做?

回答

1

在“构建阶段”中使用脚本的解决方案无法正常工作,因为Xcode在运行脚本时未完成构建应用程序。这里是一个脚本运行后,所有建设任务都完成了一个解决方案:

  1. 进入“编辑计划”
  2. 点击旁边的三角形“生成”
  3. 选择“后行动”
  • 按+按钮并选择“新建运行脚本选项”
  • 添加下面的shell脚本“从提供构建设置”中选择您的应用程序名称

    脚本:

    PRODUCT="${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app" 
    cp -R "${PRODUCT}" ~/Desktop 
    

    Edit Schemes

  • 2

    添加一个shell脚本到您的构建阶段复制的产品:

    脚本:

    PRODUCT="${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app" 
    cp -R "${PRODUCT}" ~/Desktop 
    

    当然与您所选择的目标目录替换~/Desktop

    +1

    不幸的是,这并不正确归档产品时,因为Xcode中仍然如此重要的构建步骤* *后运行该脚本,例如工作在运行脚本之后,剥离和密码标记完成*,以便将复制到新位置的应用程序包不会被剥离并正确地进行编码。任何其他想法? – Andreas

    +0

    存档时,您可以选择导出ipa的路径。归档时你的实际问题是什么? – shallowThought