利用 Apple 个人开发者账户创建可用于 ipa 自签名的证书

2023/01/07 自签名 ipa

iOS 平台利用开发者证书自签名,可以实现侧载 ipa(签名安装 App Store 之外的软件)的效果,轻松满足多开微信、注入插件、净化 App 等需求。由于之前注册工作微信的关系,我也有了 App 多开的需求,于是开始接触这方面的内容。

长期以来,我都是通过第三方平台购买开发者证书,价格虽然较官方售价(¥688/年)便宜很多,最低大概就¥30-40之间,但是共享证书极易掉签(开发者证书被 Apple 发现滥用以后,Apple 会吊销这些共享的证书),自签名的 App 会全部闪退无法打开,对于工作微信来说非常致命。

为了尽可能保证稳定使用,我还是决定开通 Apple Developer Program,但是发现网络中关于如何申请个人证书的教程实在稀缺,特此根据我的经历,将全过程详细描述,可以为有需要的朋友提供一些参考。

⭐️ 看前必读

1.为 Apple ID 开通 Apple Developer Program

Apple Developer Program 费用现在可以通过 App Store 订阅的形式支付,请确保 App Store 绑定的支付方式有足够余额可以支付费用。需要在 App Store 中下载安装「Apple Developer」App,根据提示进行操作。

成功开通订阅后,可能需要几天时间才能确认你的开通结果,此过程只能耐心等待。

此过程可能会收到 Apple 邮件,需要提交身份证明信息。请留意邮箱提醒,及时上传相关材料。

2.进入 Apple Developer 管理后台

进入后台网站:https://developer.apple.com/account/resources/devices/list,登录你的 Apple ID

2.1 添加你的 iOS 设备

在页面左侧切换至「Device」,选择蓝色加号按钮,添加你的 iPhone 设备。

此处需要使用设备的 UDID,可以通过爱思内测侠等工具获取。

如果顺利的话,这台设备就会出现在刚才的「Device」列表中。

请注意: 1.在第一次打开「Device」页面时,你的 iOS 设备可能已经自动出现在了这个列表中,如果没有出现才需要进行添加操作。

2.可以添加自用的多台 iOS 设备,不过添加的设备有数量限制(可添加的 iOS/iPadOS 设备数量上限 100 台)。

3.最好不要添加他人的设备,如果被 Apple 发现共享或者滥用证书,你花费 ¥688 开通的个人证书,就会和网上卖 30 块的共享证书变得一样危险 ⚠️

2.2 创建 App ID

在页面左侧切换至「Identifiers」,同样选择蓝色加号按钮,创建一个 App ID。

前两个步骤依次选择「App IDs」-「App」,在第三个步骤中,「Description」是为这个 App ID 写个备注名称用来自己区分,注意只能填英文字母,并且不能出现特殊符号;

「Bundle ID」默认选择了「Explicit」无需更改,文本框内可以使用个人域名的反写,没有域名用个人姓名的拼音也可以。

在下面的「Capabilities」列表中,勾选「Push Notifications」这一项,这一项应该是启用自签名的App有消息推送功能。

请注意:由于我不是一个真正的开发者,此处我并不了解其他项目未勾选会有什么问题,在网络中也没有搜索到相关资料。

2.3 创建证书
2.3.1 创建证书请求

首先打开 macOS 自带「钥匙串访问」App,在 macOS 菜单栏中依次选择「钥匙串访问」-「证书助理」-「从证书颁发机构请求证书」

在弹出的窗口中分别填写:

「用户电子邮件地址」建议填写 Apple ID 邮箱; 「常用名称」可以填写个人常用英文标识; 「CA电子邮件地址」无需填写; 「请求是」这一选项中,选择「存储到磁盘」。 点击「继续」,会生成一个名为CertificateSigningRequest.certSigningRequest的文件,选择一个保存位置,或者保存到桌面。

2.3.2 创建证书

在页面左侧切换至「Certificates」,同样选择蓝色加号按钮,创建一个证书。

第一步,选择「iOS Distribution (App Store and Ad Hoc)」,点击「Continue」继续下一步;

第二步,选择刚才生成的`CertificateSigningRequest.certSigningRequest`的文件上传,点击「Continue」继续下一步;
点击右侧的「Download」按钮下载证书。

此处下载的证书是一个cer格式的文件,双击打开该文件,macOS 系统默认会使用「钥匙串访问」App 打开该文件;

在弹出的「钥匙串访问」App 窗口中,右键单击该证书,选择导出。文件格式选择「个人信息交换(.p12)」,此处需要设置一个密码,完成后保存该文件;

请记住此处设置的密码,后面需要用到。

2.4 创建描述文件

在页面左侧切换至「Profiles」,同样点击蓝色加号按钮,创建一个描述文件。

第一步,选择「Distribution」下面的「Ad Hoc」,点击「Continue」继续下一步;
第二步,在下拉列表中选择你在上文步骤 2.2 中创建的 App ID,「Offline support (7 day validity)」这一选项默认是「No」,无需更改。点击「Continue」继续下一步;

第三步,选择你在上文步骤 2.3 中创建的证书,点击「Continue」继续下一步;

第四步,选择你在上文步骤 2.1 中添加的 iPhone 设备,点击「Continue」继续下一步; 如果你在步骤 2.1 中添加了多台 iOS 设备,此处也可以全部勾选,这样就不用为每台设备单独创建描述文件。

点击右侧的「Download」按钮下载描述文件,此处下载的描述文件是一个`mobileprovision`格式的文件。

3.使用你的开发者证书

请保存你在步骤 2.3.2 中获得的p12格式文件和步骤 2.4 中获得的mobileprovision格式文件,将二者导入 ipa 自签名工具(先导入p12证书文件,再导入mobileprovision描述文件。导入p12文件时需要输入步骤 2.3.2 中设置的密码),就可以签名安装 ipa 文件了。

最后祝大家 2023 新年快乐。