Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
为 iOS 导出
参见
这个页面描述的是如何将 Godot 项目导出到 iOS。如果你想要找的是从源码编译导出模板二进制文件,请阅读为 iOS 平台编译。
这些是在 Xcode 中加载 Godot 项目的步骤。这允许你构建和部署到 iOS 设备,为 App Store构建一个发行版本,并执行你通常可以使用 Xcode 执行的所有其他操作。
注意
从 Godot 4.2 开始,用 C# 编写的项目可以导出到 iOS,但支持是实验性的并且存在一些限制。
需求
你必须从运行安装了 Xcode 的 macOS 的计算机中为 iOS 导出。
下载 Godot 导出模板。请使用 Godot 菜单:编辑器 > 管理导出模板
将 Godot 项目导出到 Xcode
在 Godot 编辑器中,从项目菜单打开导出窗口。导出窗口打开后,点击添加.. 并选择 iOS。
应用(Application) 类别下的 App Store Team ID 和(Bundle) 标识符(Identifier) 选项是必填项。如果将它们留空,导出器将会报错。此外,Bundle ID(标识符)必须是唯一的。
备注
一个有效的 Bundle ID 只能包含字母、数字、连字符和句点(即 A-Z, a-z, 0-9, -, 和 . )。苹果建议使用你拥有的域名的“反向 DNS 格式”(例如 com.example.your-game),这样就能保证你的 Bundle ID 是独一无二的。另外,Bundle ID 是不区分大小写的。具体详情可以查阅 CFBundleIdentifier 的官方文档。
备注
JSON 文本不是以数组或对象开头,并且未设置允许片段的选项ABCDE12XYZ,而不是 Xcode 喜欢显示在 Signing & Capabilities 选项卡中的你的姓名。点击导出项目后,仍有两个重要选项:
路径是一个空文件夹,它将包含导出的 Xcode 项目文件。
文件将是 Xcode 项目的名称和几个项目特定的文件和目录。
备注
本教程使用 exported_xcode_project_name,但你将使用你的项目的名称。当你在以下步骤中看到 exported_xcode_project_name 时,请将其替换为你使用的名称。
备注
选择 exported_xcode_project_name 时,避免使用空格,因为这可能会导致 Xcode项目文件错误。
导出完成后,输出文件夹应如下所示:
警告
iOS 模拟器仅支持 兼容 渲染器。
搭载 Apple Silicon 芯片的 Mac 电脑可以原生运行 iOS 应用,因此你可以直接在 Apple Silicon Mac 上运行导出的 iOS 项目,而完全不受 iOS 模拟器的各种限制。
打开 exported_xcode_project_name.xcodeproj 可让你像任何其他 iOS 应用程序一样构建和部署。
活跃开发相关考虑
上面的方法创建了一个可以为发布而构建的导出项目,但每次在 Godot 中进行更改时,都必须重新导出。
在开发过程中,你可以通过将 Godot 项目文件直接链接到你的应用程序,来加快此过程。
在以下示例中:
exported_xcode_project_name 是导出的 iOS 应用程序的名称(如上所示)。
godot_project_to_export 是 Godot 项目的名称。
备注
godot_project_to_export 和 exported_xcode_project_name 必须不一样,以免 Xcode 出现签名问题。
将 Godot 项目文件夹链接到 Xcode 的步骤
从一个导出的 iOS 项目开始(按照上述步骤)。
在 Finder 中,将 Godot 项目文件夹拖到 Xcode 文件浏览器中。
在对话框中确保选择:操作项设为引用原文件,组别设为创建文件夹,并取消勾选目标项中的 exported_xcode_project_name。
请参阅 Xcode 文件浏览器中的 godot_project_to_export 文件夹。
在 Xcode 的 Project Navigator 中选择 Godot 项目,然后在右侧 File Inspector 中进行如下设置:
Location:相对于项目
Build Rules:对文件夹应用一次
将你的项目添加到 Target Membership
从 Xcode 项目中删除 exported_xcode_project_name.pck。
8. Open exported_xcode_project_name-Info.plist and add a string property named godot_path (this is the real key name) with a value godot_project_to_export (this is the name of your project)
就这样!你现在可以在 Godot 编辑器中编辑项目;并在想要在设备上运行时,在 Xcode 中构建它。
iOS 的插件
在 Godot 中可以使用特殊的 iOS 插件。请查看 创建 iOS 插件 页面。
环境变量
你可以使用以下环境变量在编辑器外部设置导出选项。在导出过程中,这些值会覆盖你在导出菜单中设置的值。
导出选项 |
环境变量 |
|---|---|
加密 / 密钥 |
|
选项/应用程序/设定档UUID调试 |
|
选项/应用程序/设定档UUID发布 |
|
故障排除
xcode-select 指向错误的 SDK 位置
xcode-select 是 Xcode 附带的一个工具,和其他工具一样都指向 Mac 上的 iOS SDK。如果你安装过 Xcode、打开过、同意过许可协议,并安装过命令行工具,那么 xcode-select 就应该指向 iPhone SDK 的正确位置。如果不是这样的话 Godot 就无法导出到 iOS,会出现如下错误:
MSB3073: The command ""clang" <LOTS OF PATHS AND COMMAND LINE ARGUMENTS HERE>
"/Library/Developer/CommandLineTools/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"" exited with code 1.
在这种情况下,Godot 尝试在 /Library/Developer/CommandLineTools/ 文件夹中找到包含 iPhone SDK 的 Platforms 文件夹,但包含 iPhone SDK 的 Platforms 文件夹实际上位于 /Applications/Xcode.app/Contents/Developer 下。要验证这一点,你可以打开终端并运行以下命令来查看 xcode-select 指向的内容:
xcode-select -p
要修复 xcode-select 指向错误的位置,请在终端中输入以下命令:
sudo xcode-select -switch /Applications/Xcode.app
运行此命令后,Godot 应该能够成功导出到 iOS。
导出选项
导出选项的完整列表见EditorExportPlatformIOS类参考文档。