Xcode目标的构建阶段的顺序有多灵活?

Dru*_*rux 9 xcode xcode6.1

是否可以在Xcode 6.1中配置目标的构建阶段,以便在编译源阶段之前可以发生复制文件阶段?

Lun*_*irl 10

据我所知,没有办法在Xcode中使用GUI重新排序项目.您可以通过编辑project.pbxproj文件来完成.

如果您在某个文本编辑器(而不是Xcode)中打开该文件并搜索类似的内容

构建PBXNativeTarget的配置列表

你会找到这样一个部分

/* Begin PBXNativeTarget section */
    9BDEC0D019881B9400AE439B /* MyProject */ = {
        isa = PBXNativeTarget;
        buildConfigurationList = 9BDEC0F019881B9400AE439B /* Build configuration list for PBXNativeTarget "MyProject" */;
        buildPhases = (
            6111D3671B56D2BB00DD7431 /* Show TODOs and FIXMEs as Warnings */,
            BAEE6F558B6BDB326F5B8D1F /* Check Pods Manifest.lock */,
            9BDEC0CD19881B9400AE439B /* Sources */,
            9BDEC0CE19881B9400AE439B /* Frameworks */,
            4C47C03A1ABD4DFE00D317B5 /* Copy baked database to bundle sqlite */,
            9BDEC0CF19881B9400AE439B /* Resources */,
            CDF5E3A80B5FDFCEA41B67FD /* Embed Pods Frameworks */,
            CF995761C5EAA8D1AAEBA463 /* Copy Pods Resources */,
        );
        buildRules = (
        );
        dependencies = (
            9B832FED19B76A45006D3347 /* PBXTargetDependency */,
        );
        name = MyProject;
        productName = MyProject;
        productReference = 9BDEC0D119881B9400AE439B /* MyProject.app */;
        productType = "com.apple.product-type.application";
    };
Run Code Online (Sandbox Code Playgroud)

您可以更改buildPhases列表中的操作顺序.

看看我的清单中的第一件事是6111D3671B56D2BB00DD7431 /* Show TODOs and FIXMEs as Warnings */,什么?这是我使用GUI添加的自定义构建阶段脚本,然后将该行移动到第一个使用Atom.重新打开GUI,它是"Target Dependencies"之后的第二个构建阶段(如另一个答案中所述).


jus*_*tin 7

是.

对于现有阶段,例如示例中的"复制"和"编译":

  • 通过在所需项目的目标中选择Build Phases选项卡来查看Build Phases
  • 然后通过使用鼠标拖动它们来重新排序阶段(或每个阶段的元素)

注意:"目标依赖关系"阶段可能不会重新排序(在撰写本文时).

  • 这对我不起作用.每当我尝试移动其中一个阶段时,它会立即快速恢复,请参阅https://www.dropbox.com/s/aj9eil6cxix0zsu/xcode_cordova_prepare.mov?dl=0 (2认同)
  • 我似乎只能将项目从中间拖到底部.因此,我必须将它们全部拖到底部,直到我试图插入更高的东西在正确的位置. (2认同)