Xcode 中的运行脚本和构建阶段在哪里?

Posted

技术标签:

【中文标题】Xcode 中的运行脚本和构建阶段在哪里?【英文标题】:Where is the Run Script and Build Phase in Xcode? 【发布时间】:2017-01-30 15:12:23 【问题描述】:

要设置 Carthage,documentation 表示您需要添加运行脚本。

在应用程序目标的“构建阶段”设置选项卡上,单击 “+”图标并选择“New Run Script Phase”。 在 您指定您的外壳(例如:bin/sh),添加以下内容 到shell下面的脚本区:

/usr/local/bin/carthage copy-frameworks

并在“输入”下添加要使用的框架的路径 文件”,例如:

$(SRCROOT)/Carthage/Build/ios/Box.framework
$(SRCROOT)/Carthage/Build/iOS/Result.framework
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework

此脚本可解决由以下原因触发的 App Store 提交错误 通用二进制文件并确保必要的位码相关文件 归档时会复制 dSYM 和 dSYM。

但是,我在“构建设置”搜索中找不到“构建阶段”选项卡或“运行脚本”。 Xcode 8 Release Notes 提及

Xcode 8 提供完全重写的 AppleScript 支持。一个新的 脚本字典提供了自动化 Xcode 工作流程的能力。

这是否意味着不再有运行脚本?我查看了AppleScript,但老实说,它看起来非常复杂。我需要学习 AppleScript 只是为了添加我以前在 Xcode 中做的简单的一个衬里吗?

/usr/local/bin/carthage copy-frameworks

【问题讨论】:

【参考方案1】:

它还在那里。确保单击下图中红色指示的所有位置。

【讨论】:

对于Apple UI来说太直观了......哈哈哈......谢谢很多......我花了10分钟点击没有成功......谢谢......【参考方案2】:

您可以在构建目标时配置不同的构建阶段来执行任务。

要查看构建阶段,请打开项目编辑器并单击构建阶段。要添加未出现在编辑器中的构建阶段,请单击“添加”按钮 (+),然后从弹出菜单中选择一个构建阶段。

项目编辑器

使用项目编辑器查看和编辑您的项目和目标设置,例如构建选项、目标架构和代码签名特征。在主窗口中,单击导航器区域中的文件图标 (),然后选择下面的项目。项目编辑器出现在导航器的右侧。从弹出菜单中选择项目或目标,然后使用选项卡切换到不同类型的设置。

运行脚本:

在构建过程中运行指定的 shell 脚本。该脚本可以从目标中引用构建设置,例如 $(SRCROOT),即包含目标源文件的目录。此构建阶段还允许您提供输入和输出文件的列表。该脚本始终在未提供输入和输出文件时运行。提供输入和输出文件时,脚本仅在以前从未运行过、输入文件之一已更改或输出文件之一丢失时运行。可以为所有构建或仅在安装构建期间启用此构建阶段,并且可以为每个目标添加多次。

【讨论】:

【参考方案3】:

Carthage 维护者更新了自述文件,也有必要添加输出路径以防止有用的框架复制。我发布了名为Carting 的简单脚本来自动执行这些步骤。

【讨论】:

以上是关于Xcode 中的运行脚本和构建阶段在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

你可以在 Xcode 的构建阶段更改运行脚本中的 info.plist 吗?

在Xcode中切换运行脚本构建阶段

在 Xcode 构建阶段运行脚本中设置全局环境变量

Xcode 运行脚本构建阶段“仅在安装时运行脚本”选项

仅为 Xcode 4 中的“存档”构建运行脚本

Xcode 使用的“内置副本”是啥/在哪里?