ITPub博客

首页 > 移动开发 > IOS > 怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?

怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?

原创 IOS 作者:jdks 时间:2026-09-22 10:07:04 0 删除 编辑

用 Godot 做 iOS 的人第一次打开导出预设,多半会被签名那几个字段卡住——Provisioning Profile UUID、Code Sign Identity、Team ID,每个都要填,但 Godot 不会告诉你这些值从哪来。我当初也是对着空白输入框发呆了半天。

另外要先说清楚:Windows 上导出之后 拿不到能上架的 IPA,Godot 产出的是需要 Xcode 继续处理的工程,编译签名归档还是得在 macOS 上做。这个没法绕。但那几个字段对应的证书和描述文件,完全可以在 Windows 上申请,最后把 IPA 传上去也不用回 Mac——我用的是开心上架( AppUploader)。

结论,哪一步绕不开 Mac

环节 我实际怎么做的
注册 Bundle ID、签发证书、生成描述文件 Windows 上做完
Godot 导出 iOS 工程 Windows 版编辑器就行
编译签名成 IPA 要 macOS——用 Xcode 或 macOS CI
提交 App Store Windows 上传
装到 iPhone 测试 扫码注册 UDID,再扫码装

顺带说明:我用的工具不是 Windows 专用的,网页版换成 macOS 或 Linux 的浏览器一样能开,桌面客户端也有 macOS 版。表里"不需要 Mac"说的是这一步摆脱了 Xcode、钥匙串访问、Transporter 的依赖。

第一步:填 Bundle Identifier 和 Team ID

在「项目 → 导出 → 添加 iOS 预设」里,Application 分组下的 Bundle Identifier 填反向域名,比如 com.yourcompany.gamename。顺手把 Short Version、Version(build number)、App Store Team ID 也填上。

Team ID 就是开发者账号那串 10 位字符,在开心上架的账号概览里能直接看到。这个字段空着或者填错的话,Xcode 归档阶段会报签名失败,而且错误信息不会明说是 Team ID 的问题。

对了,导出之前先确认「编辑器 → 管理导出模板」里装了和引擎同版本的模板,没装的话导出直接失败——这是引擎侧的事,和证书无关,但很多人第一次会撞上。

第二步:在 Windows 上签出证书和描述文件

注册 Bundle ID:开心上架的「Bundle ID」页面点「新建 Bundle ID」,Identifier 填第一步那个字符串。 创建后改不了。游戏要用 Game Center、推送、内购的,在这个 Bundle ID 的「权限」页面勾上再保存。

签发证书:「证书」页面点「新建证书」,上架选发布签名证书,真机调试选开发签名证书。绑定 Bundle ID,填名称邮箱,设一个 .p12 保护密码,服务器不保存它,忘了只能吊销重签。勾上「使用开心上架服务同步证书」可以在打包用的那台 Mac 上直接下载,不用拷来拷去。
新建证书

生成描述文件:「描述文件」页面点「新建描述文件」,上架选 App Store 类型,内测选 Ad Hoc 并勾上测试设备,真机调试选开发类型。关联上面的 Bundle ID 和证书,提交后下载 .mobileprovision。

第三步:把 UUID 填进导出预设

Godot 的 iOS 导出预设里,Capabilities 下面有一组签名字段,一般包括:

  • Provisioning Profile UUID Debug / Release:填对应描述文件的 UUID;
  • Code Sign Identity Debug / Release:填证书的通用名称,比如 Apple Development / Apple Distribution;
  • Export Method Debug / Release:Debug 用 Development,上架用 App Store。

UUID 从哪看是个常见问题。我的做法是在开心上架的「文件&提交」页面把 .mobileprovision 直接打开,详情里 UUID、绑定的 App ID、关联证书、有效期都列着,不用在 Mac 上敲 security cms 解一遍。

注意这里要的是 UUID(一串带连字符的十六进制),不是描述文件名称,填错了 Xcode 那边会找不到 profile。

具体字段名和分组在不同 Godot 版本里略有差异,以你用的版本为准。

第四步:导出并在 macOS 上编译

Godot 里点「导出项目」,选个输出目录,Windows 上会生成 iOS 工程文件。拷到 Mac 上打开:

1open <导出目录>/<项目名>.xcodeproj

在 Xcode 里关掉 Automatically manage signing,手动选证书和描述文件(先把 .p12 导进钥匙串、 .mobileprovision 拷到 ~/Library/MobileDevice/Provisioning Profiles/),然后 Product → Archive → Distribute App 导出 IPA。

CI 上就是把两个文件用 base64 存进加密变量,构建时解码导入,再用 xcodebuild archive 加 xcodebuild -exportArchive 出包。

第五步:把 IPA 传上去

拿到 IPA 之后 Xcode Organizer 和 Transporter 都可以不用了。我一般先在开心上架的「文件&提交」页面把包打开看一眼签名信息,确认了再点「提交 App Store」,日志实时滚。

命令行:

1appuploader-cli upload -f Game.ipa -u dev@example.com -p abcd-efgh-ijkl-mnop

-p 是 Apple 生成的 App 专用密码( xxxx-xxxx-xxxx-xxxx),不是登录密码。用 API 密钥也行:

1appuploader-cli upload -f Game.ipa --api-key <KeyID> --api-issuer <IssuerID> --private-key Auth_Key.p8

密钥方式只收 .ipa,且 App 要先在 App Store Connect 里建好。

第六步:发内测包

「设备」页面点「注册设备」,二维码发出去让人扫上报 UDID(一年 100 台,免费账号 3 台)。回描述文件那边点「重建」,生成一份包含这些设备的 Ad Hoc 描述文件。

这里有个容易忘的点: 重建之后 UUID 会变,记得回导出预设把新的 UUID 填进去,Export Method 也改成 Ad Hoc,再重新导出编译。然后在「文件&提交」页面生成二维码让人扫码装。

Godot 最麻烦的其实就是导出预设里那几个字段,一旦搞明白值从哪来,后面就是机械操作了。编译那一环还得靠 Xcode,但证书、描述文件、上传、装机都能可以在 Windows 上实现。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70044672/viewspace-3183410/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2025-06-16

  • 博文量
    180
  • 访问量
    179683