ITPub博客

首页 > 移动开发 > IOS > 怎么在 Windows 上用 GameMaker 打包 iOS 游戏并上架 App Store?

怎么在 Windows 上用 GameMaker 打包 iOS 游戏并上架 App Store?

原创 IOS 作者:iOS调试笔记 时间:2026-09-21 11:49:44 0 删除 编辑

先说一个很多人不爱听但必须讲清楚的事实: GameMaker 做 iOS,你得有一台真实的 Mac。官方帮助文档写得很直白——iOS/iPadOS 目标需要一台,独立的物理 Mac,Windows 上的 IDE 只是把工程传过去、由那台 Mac 上的 Xcode 完成编译。文档里还提了一句,Apple 的开发者协议本身就要求用真实的 Mac 构建和提交,所以别指望虚拟机或者什么绕过方案。

不过好消息是:你不用坐到那台 Mac 前面工作。我这边的做法是把 Mac 当成一台网络里的编译机,开发全在 Windows IDE 里做;证书、描述文件、IPA 上传、装机测试这些则用开心上架( AppUploader)在 Windows 上处理。那台 Mac 一年也没人登录几次。

哪一步真绕不开 Mac,答案是

环节 我实际怎么做的
注册 Bundle ID、签发证书、生成描述文件 Windows 上做完
写代码、调试、做资源 Windows IDE
编译签名成 IPA 要一台联网的物理 Mac,Windows IDE 把工程传过去
提交 App Store Windows 上传
装到 iPhone 测试 扫码注册 UDID,再扫码装

说明一下:我用的工具本身在 macOS 上也能用(网页版不挑系统,桌面客户端有 macOS 版)。表里"不需要 Mac"是指这一步不再需要 Xcode、钥匙串访问或 Transporter,不是说这工具只服务 Windows 用户。

第一步:把 Bundle identifier 和 Team ID 定下来

在 Game Options → iOS 里填 Bundle identifier,用反向域名,比如 com.yourcompany.gamename。同一页还有 Team ID,就是你 Apple 开发者账号那串 10 位字符——这个在开心上架的账号概览里能直接看到,不用专门登 developer.apple.com 去翻。

Bundle identifier 后面要和 Apple 注册的 Bundle ID、描述文件绑定的 App ID 三处完全一致,大小写也算。这三处对不上是 GameMaker 论坛里 iOS 构建失败最常见的原因。

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

注册 Bundle ID:开心上架的「Bundle ID」页面点「新建 Bundle ID」,Identifier 填上一步那个字符串。 创建后改不了,我第一次随手填了个名字,后来想改只能新建一个。游戏要用 Game Center、内购、推送的,在这个 Bundle ID 的「权限」页面勾上再保存。
注册bid
签发证书:「证书」页面点「新建证书」,上架选发布签名证书,真机调试选开发签名证书。绑定上面的 Bundle ID,填名称邮箱,设一个 .p12 保护密码——把证书导进那台 Mac 的钥匙串时要输,服务器不保存它,忘了只能吊销重签。

建议勾上「使用开心上架服务同步证书」。那台编译用的 Mac 大概率不在你手边(我们的放在另一间屋),靠云备份直接在上面登录下载同一张证书,比远程传文件省事得多。

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

私钥和 CSR 都在本机生成后封进 .p12,不用在 Mac 上走「钥匙串访问 → 从证书颁发机构请求证书」那一套。

第三步:把签名材料装到那台 Mac 上

在 Mac 上执行(或者把文件拷过去双击导入):

1# 导入证书(含私钥)2security import dist.p12 -k ~/Library/Keychains/login.keychain-db -P "你的p12密码" -T /usr/bin/codesign34# 描述文件放到 Xcode 认识的位置5mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles6cp AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/

那台 Mac 上还得装好 Xcode 和命令行工具,版本要在你这个 GameMaker 版本支持的范围内——官方有一份 Required SDKs 的对照表,升 Xcode 之前最好先查一下,我升过头一次,构建直接挂在链接阶段。

第四步:在 Windows IDE 里连上 Mac 并构建

在 GameMaker 的目标设备管理里添加一台 Mac 设备,填主机名/IP、Mac 上的用户名和密码,测试连接通过之后,目标平台选 iOS,直接 Create Executable 就行。IDE 会把工程传过去,在那边调 Xcode 编译,产物再传回来。

有个实践经验值得抄:官方明确建议两台机器都走 网线而不是 WiFi,尤其是用 YYC 编译大工程的时候。WiFi 下传输大工程容易中途出问题,我们换成有线之后失败率明显下降。

第五步:把 IPA 传上去

拿到 IPA 之后就跟 Mac 没关系了。我一般先在开心上架的「文件&提交」页面把包打开看一眼签名信息——Bundle ID、描述文件类型、证书有效期,确认了再点「提交 App Store」,上传日志实时滚。

想写进脚本就用命令行,在 Windows 上直接跑:

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

-p 是 Apple 生成的 App 专用密码( xxxx-xxxx-xxxx-xxxx),不是 Apple ID 登录密码。团队用 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 描述文件,不用从头新建。

把新描述文件拷到 Mac 上,重新构建一次,然后在「文件&提交」页面生成二维码,测试的人扫码就装上了,不用连电脑。

GameMaker 这条线绕不开那台 Mac,这点得认。但你可以把它彻底当成一个黑盒——配好一次网络连接和 Xcode,之后除了偶尔升级基本不用碰。真正需要人反复操作的证书维护、描述文件重建、包上传,全都能在 Windows 这边顺手做完.我用的是开心上架网页版,打开就能用,Team ID 和描述文件详情在里面查也方便。

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

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

注册时间:2025-06-17

  • 博文量
    168
  • 访问量
    178798