以前说「不用 Mac 上架」,意思其实很窄:找一个工具,把打好的 IPA 传上去就行。真正尝试了才知道,上传只是其中一段------证书和描述文件得有,IPA 得先打得出来,商店信息要填,审核要跟着。把「无需 Mac 的 iOS App 上架工具」理解成某一个软件,方向就偏了;它其实是一组工具,按环节分工。
这篇把这条链拆成四段,看每段能用什么,以及 Appuploader 具体负责那些环节。
先拆开:有哪些流程
用 Mac 的常规流程是:Xcode 里 Archive、导出 IPA、Transporter 上传、App Store Connect 填资料。换到 Windows 或 Linux,这四步都没有现成的对应工具,得逐段找替代。
- 证书和描述文件:没有钥匙串,怎么生成 .p12 和 .mobileprovision;
- 打包:没有 Xcode,怎么把工程编成 IPA;
- 上传:没有 Transporter,怎么把 IPA 送进 App Store Connect;
- 商店信息与审核:怎么填资料、交审核、处理被拒。
四段里,有一个工具主要管第一段和第三段,第二段和第四段要别的工具或网页后台。分工清楚了,再谈「一个工具搞定」就不容易被带偏吧。
证书和描述文件:不用钥匙串也能生成
上架需要 Apple Distribution 证书(.p12,含私钥)和 App Store 类型的描述文件。Mac 上的做法是钥匙串生成 CSR、上传开发者后台换证书;没有 Mac,就得绕开钥匙串。
Appuploader 在 Windows、Linux、Mac 上都能登录开发者账号,直接生成证书和描述文件,输入名称、邮箱、密码就行,不用装钥匙串助手。生成的 .p12 可以在不同电脑上用,团队里谁打包谁拿去,不用来回导。
另一条路是 OpenSSL:本地生成 CSR,去开发者网站换证书,再导成 .p12。步骤多,但全程可控,适合不想把账号交给工具的人。
打包:这一段换别的工具
得说清楚:它负责上传,不负责把你的 Swift 代码编成机器码。IPA 还是得先有一个。
没有 Mac 的话,打包大致三条路:云 Mac / CI(Codemagic、Bitrise、GitHub Actions 的 macOS runner),每次构建按分钟计费;跨平台工具链(比如 KXBuild,Windows、Linux、Mac 上都能编,内置工具链,不用 Xcode,Release 直接出 .ipa);或者针对特定框架的云打包(uni-app 在 HBuilderX 里点云打包)。
三条路各有成本:云 CI 挺适合团队和自动化,KXBuild 适合本地可控、频繁改包的场景,框架云打包省事但绑在对应平台上。云 CI 的好处是不用维护本地构建机,坏处是第一次配置和构建脚本调试要花时间,跑得多了按分钟计费也是一笔账。手上已经有一台 Mac 的话,Xcode Archive 仍然最直接,这点不用否认啊。
上传:这一段是它的主场
IPA 有了,接下来是把它送进 App Store Connect。Windows 上没有 Transporter,Appuploader 的桌面端和命令行都能做这件事。
命令行版本大概是这个形式:
powershell
appuploader_cli -u abc@icloud.com -p xxx-xxx-xxx-xxx -c 1 -f a.ipa
-u 是 Apple 账号,-p 是上传专用密码(不是账号密码),-c 选上传通道,-f 指定 IPA 路径。上传专用密码在 Apple ID 账号页面生成,别拿登录密码去试。放进 CI 里也能跑,Windows、Linux 的构建机都行呢。
上传成功只代表文件传完了,不代表苹果已经处理完、更不代表能过审。构建版本还要等处理,协议和商店信息没填完照样提交不了。上传工具只是链条里的一环,别把它当成上架本身。
商店信息和审核:网页后台为主
构建处理完,剩下的是 App Store Connect 里的活:名称、副标题、截图、关键词、隐私政策、审核测试账号。这些没有「无 Mac 替代工具」的说法,网页后台本来就能做。
它在这一段能帮上一点:批量上传截图、描述、关键词和多语言版本信息,省掉一张张传的功夫嘛。但审核本身没有工具能代劳,2.1、4.2、5.1.1 这些条款该踩的坑还是得自己躲。被拒之后,元数据的问题改完直接重新提交,构建的问题才需要重新上传。
和另外几种做法比一比
借一台 Mac。 偶尔上一次架,借同事的 Mac 用 Xcode + Transporter 最省事,不用配环境。代价是机器不在你手上,时间不好安排。
云 Mac / CI。 不碰本地 Mac,构建在云上跑,适合团队和自动化。配置一次之后基本很顺,但要按分钟付费,调试构建脚本也得花时间。
Windows / Linux 本地工具链。 证书和上传用同一个工具,KXBuild 或框架云打包管构建,商店信息在网页填。工具是分开的,但每一步都在自己手里,改包、重传不用等别人。
Fastlane。 自动化程度最高,证书、构建、上传能串成一条流水线,适合长期维护的项目;前提是有一套 Mac 或 macOS 构建机。