[原创]macOSApp“证书“,“签名“配置教程-2022年版本.
[序⾔]
今⽇开始要更新macOS平台的旧App, 距离上次更新有2年时间了, 也就意味着我有2年没有碰macOS开发. 但今年必须要完成macOS平台上的旧App更新. ⾸先要解决最棘⼿的问题就是"沙盒" "公证" "证书" "签名"这4个概念的内在联系. 通过前⼏天摸索, 旧App依然可以在最新版本的macOS系统⾮沙盒模式运⾏稳定. 那么剩下就是解决"签名"的问题. 另外"公证"很简单, 这⾥不详细描述, 这⾥主要记录最新版xcode下的"证书"和"签名"的配置流程, 以防以后忘记.
[⽣成证书]
1> 进⼊xcode->Preferences->accounts, 点击左下⾓的"+"号, 登⼊你的developer账号, 然后界⾯会⾃动列出跟开发账号相关Team信息.
2> 选中Team, 然后单击右下⾓的""按钮, 弹出证书管理界⾯
3> 在证书管理界⾯⾥⾯, 点击左下⾓的"+", 选中"Developer ID Application", 然后就会⾃动⽣成证书了.
xcode界面通过这3个步骤, 本机macOS会有相应的证书⽣成, 可以通过macOS系统⾃带的"钥匙串访问"⼯具查看. 此时也可通过apple开发者⽹站登陆进去, 在证书⾯板也会出现对应的证书⽂件, 该证书是可以下载的.
注意: 后台会显⽰很多个证书, ⼀定要区分和牢记, 哪个证书实在哪个macOS电脑⽣成的. 这⾥吐槽⼀下, 证书没有任何信息可以显⽰是哪个电脑⽣成, 只能通过查看证书的⽣成时间, 通过⽣成时间, 在配合你本⼈的记忆, 才能区分证书是哪台机器.
[给代码进⾏签名]
配置好Profiles之后, 即可下载, 然后启动xcode打开com.areyouok.ok项⽬或者新建⼀个id为com.areyouok.ok的项⽬, 进⼊项⽬的TARGETS->Signing&Capabilities, 去掉Automatically manage signing, 然后通过⼿⼯配置Team, id, 并导⼊下载好的Profiles⽂件, 这时Signing Certificate就能⾃动识别了. 此时该项⽬可以⾃动进⾏代码"签名", "公证", 并进⾏"分发".
2> 如果你的证书出现missing private key的问题.
原因: 是你的证书⾥⾯的private key丢失了, ⼀般是⾃⼰误删除(⽐如我⾃⼰, 通过macOS系统⾃带的"钥匙串访问"⼯具把所有项⽬证书都全部删除了.), 还有⼀种情况是当前你使⽤的证书不是你电脑上⽣成的, 是别⼈电脑上⽣成的.
解决: 如果是你⾃⼰把private key弄丢了, 那么只能通过上⾯步骤重新⽣成证书并重新配置Profiles, 保证100%可以重新签名. 如果确认证书是别⼈的, 然后⼜想正常使⽤, 那么需要弄清楚该证书是在哪台电
脑上⽣成的, 然后就去那台电脑上通过"钥匙串访问"⼯具, 导出私钥(p12⽂件), 然后在导⼊到你⾃⼰的电脑上.
[⼀些细节问题]
⼀个证书可以绑定不同的App id并进⾏"签名" "公证" "分发".
[总结]
macOS平台下的所谓"沙盒" "公证" "证书" "签名", ⾮常不⼈性化, 总之不好⽤.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论