ARTICLE · 1055517
没这张证书,App连测试机都装不上
没这张证书,App连测试机都装不上
很多新手第一次做 iOS 开发,代码写完连上手机点运行,Xcode 直接甩一个红色报错,折腾两三天没搞明白。问题不在代码,在苹果那套签名机制。今天把账号、证书、描述文件讲清楚 🔍
① 开发者账号
想往真机装 App,必须加入苹果开发者计划,年费 99 美元。个人账号付款后基本即时开通;公司账号要先申请邓白氏编码(D-U-N-S Number),再提交企业资质审核,资料不齐来回补,等两到四周很正常。很多项目说「被苹果卡了一个月」,卡的就是这一步。
② 签名在证明什么
苹果要确保三件事:谁开发的(开发者身份)、装在哪台设备(UDID)、装的是哪个 App(Bundle ID)。三样信息捆在一起,安装时由系统校验,任何一项对不上就拒绝安装。这就是为什么 iOS 不能像安卓那样随便发个安装包。
③ 三件套:证书、App ID、描述文件
证书证明你的开发者身份,分开发证书和发布证书。注意申请证书时会在 Mac 钥匙串生成一对密钥,私钥只存在这台电脑,换电脑必须导出 .p12 文件带走,否则无法用原证书打包。
App ID 是 App 的唯一标识,推送、支付等能力在这里配置开关。
描述文件(Provisioning Profile)把证书、App ID、设备列表打包在一起,是安装时系统真正校验的文件。设备 UDID 没加进去或描述文件过期,都会立刻报签名错误。
④ 证书过期会怎样
描述文件一旦过期,开发包和内测包立刻无法新装机。但已上架 App Store 的正式包不受影响。要单独注意推送证书,它过期后 App 本身正常,推送却会静默失败,排查时很容易忽略。
⑤ 团队协作怎么管
发布证书全团队共用一份,由申请人导出 .p12 共享,别每人都去申请,证书数量有上限。设备 UDID 注册后要更新描述文件才生效,团队大了建议用 fastlane 或 CI 平台自动管理,省掉大量手工扯皮。
💡 账号是入场券,证书证明你是谁,描述文件决定你能往哪装。打包报错按这个顺序查,十有八九能定位问题。
你们被苹果签名坑过最久的一次是多久?评论区聊聊👇
#iOS开发 #苹果开发者 #Swift #Xcode #程序员 #编程 #iOS #App开发 #技术干货 #程序员日常 #移动开发 #独立开发