ITPub博客

首页 > 移动开发 > IOS > 怎么把 Construct 3 做的游戏打包成 iOS 应用并上架 App Store?

怎么把 Construct 3 做的游戏打包成 iOS 应用并上架 App Store?

原创 IOS 作者:TechJourney 时间:2026-09-03 15:28:29 0 删除 编辑

Construct 3 全程在浏览器里做游戏,不装任何软件——这点在"不用 Mac 开发"这件事上先天占优。发 iOS 版的时候,它通过内置的构建服务把工程导出成一个 Xcode 工程(底层是 Cordova),你再用 Xcode 编译签名成 IPA。

所以要先说清楚: 最后的编译签名仍然需要一台装了 Xcode 的 Mac。构建服务导出的是工程,不是成品 IPA,这一点我一开始理解错了,以为浏览器里点一下就能拿到能上架的包。

不过证书和描述文件的申请、以及 IPA 的上传,都可以用开心上架(AppUploader)在 Windows 上完成。

哪一步真绕不开 Mac

环节 我实际怎么做的
注册 Bundle ID、签发证书、生成描述文件 Windows 上做完
做游戏、导出 Xcode 工程 全在浏览器里,构建服务在云端
用 Xcode 编译签名成 IPA 要 macOS
提交 App Store Windows 上传
装到 iPhone 测试 扫码注册 UDID,再扫码装

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

第一步:在项目属性里定好 App ID

Construct 3 的 Project Properties 里找到移动端发布相关的 Package name / App ID,填反向域名,比如 com.yourcompany.gamename。版本号、作者、描述也顺手填了。

导出的工程会把这个值写进 CFBundleIdentifier,跟描述文件绑定的 App ID 对不上就签名失败。改完 App ID 记得重新导出一次,别拿旧包接着用。

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

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

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

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

整个过程在浏览器加 Windows 上完成,不用开 Mac 的钥匙串。跟 Construct 3 本身的工作方式挺搭的。

第三步:用构建服务导出 Xcode 工程

Construct 3 里走 Menu → Project → Export,平台选移动端的 Xcode 项目选项,等云端构建服务处理完,下载压缩包。

解压出来是个 Cordova 结构的 Xcode 工程,里面有 .xcodeproj / .xcworkspace。这一步全程在浏览器里,用什么系统都行。

第四步:在 macOS 上签名出 IPA

先把签名材料装好:

1security import dist.p12 -k ~/Library/Keychains/login.keychain-db -P "你的p12密码" -T /usr/bin/codesign23mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles4cp AppStore.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/

然后用 Xcode 打开导出的工程:

  1. 选中主 target → Signing & Capabilities;
  2. 关掉 Automatically manage signing;
  3. Provisioning Profile 选刚拷进去的那份,证书选对应的;
  4. 确认 Bundle Identifier 和第一步的 App ID 一致;
  5. Product → Archive → Distribute App。

工程里有 CocoaPods 依赖的话,记得先 pod install,然后打开 .xcworkspace 而不是 .xcodeproj——这个搞错的话会报一堆找不到符号的错。

用到相机、麦克风插件的, Info.plist 里对应的 NS*UsageDescription 也要填上,缺了上传阶段会被打回。

第五步:把 IPA 传上去

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

命令行:

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 里建好。这条命令不依赖 macOS。

顺带说个审核上的经验:体量小的 HTML5 小游戏容易撞上 App Store 审核指南 4.2(最低功能要求),上架前先掂量一下内容量够不够,别等审核被拒了才回来补。

第六步:发内测包

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

在 Xcode 里换成这份描述文件,Archive 时导出方式选 Ad Hoc,然后在「文件&提交」页面生成二维码让人扫码装。

写在最后

Construct 3 让你在浏览器里做完整个游戏,唯一需要借 Mac 的就是最后那次 Archive。签名材料和上传这两块都能在 Windows 上处理,实际占用 Mac 的时间很短。

我用的是开心上架网页版,打开就能用,和 Construct 3 一样不用装东西。

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

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

注册时间:2026-08-14

  • 博文量
    18
  • 访问量
    16588