
前言
自己开发的或朋友给的
.ipaor.app如何理所当然的安装到你想要安装的手机上?

解决方案
除了上架 App Store 我们还可以利用 重签名 让我或者公司开发的 app 安装到非测试设备上,也就是本文主要内容。
准备工作
1、需要被重签名app、archive包、 ipa
2、$ 299 企业开发者账号 or 企业证书(P12文件)+ 与此证书相匹配的任意描述文件(.mobileprovision)
3、有效的证书(可以在钥匙串中查找),记录一下企业证书名称备用

4、.mobileprovision 配置描述文件** (以下三种获得途径)
存储路径:
~/Library/MobileDevice/Provisioning Profiles拷贝出来重命名embedded.mobileprovision可以在 Xcode 中找一个有效的,右键
show in finder,将文件复制出来,重命名为embedded.mobileprovision

- 解压又当前企业账号build后的到app
显示包内容得到embedded.mobileprovision拷贝出来备用
- 解压又当前企业账号build后的到app
(* 注:安装包与描述文件放到同一目录下,我这里全部都放到桌面)
重签名
新建 Demo 项目, 用我个人账号对编译出 Demo.app ,再用企业账号对 Demo.app 重签名。
1、选择非企业开发者账号编译工程得到 Demo.app ,拷贝到桌面与上面得到的 embedded.mobileprovision 放到同一目录下

Show in Finder

显示包内容

将 准备工作 的第4步中 embedded.mobileprovision 拷贝到这里进行替换
2、 生成 entitlements.plist 文件
先通过“security”命令,从 mobileprovision 文件中生成一个完整的 plist 文件
命令 : security cms -D -i "mobileprovision文件" > "entitlements文件"

得到结果:

我们只是为了得到里面的 Entitlements 字段,使用如下的命令
命令 : /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' tmp_entitlements.plist > Entitlements.plist

得到结果:

3、签名
命令 : codesign -f -s "证书" --entitlements "entitlements文件" "需要签名的app文件"

新建文件夹 Payload,将 Demo.app 拷贝到文件夹 Payload 中执行命令
命令:zip -r new_demo.ipa Payload


总结

1万+

被折叠的 条评论
为什么被折叠?



