之前一直以为上架 iOS 应用只要代码没问题就行,直到自己上传了一遍才发现,上架过程中有一大半时间是在和证书、描述文件、各种 ITMS 报错打交道。这些坑提前知道的话能省不少时间。这篇 iOS上架避坑指南把踩过的几个典型问题列出来,每条说清楚原因和怎么处理。
证书相关问题
证书类型选错。 Development 证书只适合真机调试,上架必须用 Distribution 证书。打包时如果选错了,上传会提示签名无效。检查钥匙串里当前用的是哪个类型。手头没有 Mac 的话,Appuploader 可以在 Windows 上直接选 Distribution 重新生成。
P12 密码遗忘。 生成证书时设的 P12 密码忘了没法找回,没法找回只能重新生成。建议单独记录这个密码,不要和 Apple ID 密码混用。
证书在另一台电脑上用不了。 证书只在一台 Mac 上生成的话,换电脑就没了。需要把 .p12 和描述文件导出带过去,在新电脑上导入才能用。或者用 Appuploader 这类工具把证书同步到云端,其他电脑登录后直接下载,省去手动拷贝和传递的麻烦。
描述文件问题
描述文件类型不匹配。 上架必须用 App Store 类型,选了 Ad Hoc 或 Development 会上传报错。创建时看清楚类型再勾选。
Bundle ID 不一致。 打包用的 Bundle ID 和描述文件不匹配,签名验证会失败。新建项目时确认两者一致。
测试设备 UDID 不在描述文件里。 Ad Hoc 分发时没把测试设备的 UDID 加进描述文件,设备上装不了。上架用 App Store 类型不受设备数限制。
上传和构建版本问题
构建版本不显示。 上传成功后在 App Store Connect 看不到刚传的包,几个可能:版本号(CFBundleVersion)和之前提交的重复了,去 Info.plist 里改大重打;刚上传还在处理,等 5-15 分钟刷新;用了免费 Apple ID——它没有发布权限,只能做开发证书。上传到不同 App Store Connect 账号也可能导致看不到。如果换了开发者账号重新提交,确认新账号下确实有对应的 App 记录。
ITMS 报错。 ITMS-90189 是版本号重复,改了重传就行。ITMS-90101 是证书问题,查一下 Distribution 证书是否过期或者描述文件类型对不对。ITMS-90704 图标尺寸不对,按要求改到对应尺寸重打再传。ITMS-90076 图片带了 Alpha 通道(透明背景),用工具去掉通道保存为不透明格式就行。UnknownError 多半是 App Store Connect 里还没创建 App 记录,先去后台建好 App 再传。ITMS-90161 是打包时的配置问题,检查签名设置。
提审注意事项
截图尺寸不符合 App Store 规范、隐私政策链接缺失、涉及用户权限没在审核备注中说明用途、需要登录的没提供测试账号——这些是常见的拒审原因。提审前过一遍 iOS上架避坑指南里的这些排查点,能减少被驳回的概率。被拒后根据苹果的反馈修改对应问题重新提交就行,不用重新走完整条上架流程。