2、获取mobileprovision文件先将一中(用自己证书打包的)ipa包进行解压。选中ipa包,右键 ->打开方式拿耐槐 ->解压亩滑,解压ipa解压完之后会生成一个Payload文件夹,点进去在文件上右键 ->显示包内容。mobileprovision文件将图中标记的文件拷贝到桌面(或者其他地方)后面要用。以下第三、四、五步中如果之前已经安装过可以跳过。
3、安装Homebrew在终端先后执行下面2命令行安装,等待进度完毕 xcode-select --installruby
4、安装ruby在终端执行下面命令安装ruby,等待进度完毕(输完密码消友可能在较短时间无反应) brew install ruby
5、安装sigh脚本执行下面安装命令 sudo gem install sigh
6、若出现以下报错:ERROR: While executing gem ... (Errno::EPERM)
7、Operation not permitted - /usr/bin/rougify
8、则安装命令修改为 sudo gem install -n /usr/local/bin sigh
9、使用sigh脚本开始重新签名1、在终端输入sigh resign,回车2、把要签名的ipa文件(路径、包名不要有中文)拖到终端窗口上,回车3、填写用来签名的证书(第一步中的证书)名回车
10、证书名称:在钥匙串的证书上右键->显示简介4、把项目的配置文件.mobileprovision文件(第二步中的文件)拖到终端窗口上,回车 5、好了,resign脚本会自动更改bundel id,签名并重新打包。 完成后提示Successfully signed,新生成的包会自动替换原有文件。
11、安装重签名后的ipa文件
12、最新的iTunes已经不能给iPhone安装APP了,所以我们可以使用各种助手或者iTools进行安装。
13、以上就是使用个人开发者账号上架苹果ipa的方法,同时需要个人开发者账号和iOS企业签名可以咨询微导流平台!
工具:iOS app signer应用:用另一套证书和.mobileproversion来签,实现同一个ipa包能安装到哗睁另一个证书的100台设备上。但有个问题boundle id也变为另一个证书绑定的id了,影响了原ipa里面一些绑定了id的三方SDK,比如一键登录等。
1、重签名后,改变ipa里面的plist文件的id。安装失败。打印sign信息发现Info.plist=not bound。蔽册说明改变了plist文件后,签名失效。
2、改变plist后重新签名。安装失败。打印sign信息签名成功。说明是安装到手机时验证失败。在用证书重新签名整个app的时候,签名的是证书绑定的id。打印sign信息的是info.plist的id,装机验证乱并岁会失败。
参考
iOS 的 Code Signing 体系
ipa重签名
iOS开发各种证书详解
一、解压ipa包
1、unzip -q /Users/xiaoconglin/Desktop/packbck/RHDemo_H5.ipa -d /Users/xiaoconglin/Desktop/packbck/resign
二、列出所有开发者证书文件
1、security find-identity -v -p codesigning
三、生成entitlements.plist文件
1、security cms -D -i /Users/xiaoconglin/Desktop/packbck/wcyxadhoc.mobileprovision >/Users/xiaoconglin/Desktop/packbck/resign/profile.plist
2、/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' /Users/xiaoconglin/Desktop/packbck/resign/profile.plist >/Users/xiaoconglin/Desktop/packbck/resign/entitlements.plist
四、把准备好的开发者证书描述文件复制到XX.app文件夹下
1、cp /Users/xiaoconglin/Desktop/packbck/wcyxadhoc.mobileprovision /Users/xiaoconglin/Desktop/packbck/resign/Payload/大天使之剑.app/embedded.mobileprovision
五、修改包Info.plist中的Bundle Identifier与配置文件中的Bundle Identifier保持一致
1、查看entitlements.plist,获取application-identifier 的值作为app的新bundleidentify
cat /Users/xiaoconglin/Downloads/重签名包/packResign/app-plist/entitlements.plist
2、/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.xy.xxxx" /Users/xiaoconglin/Desktop/packbck/resign/Payload/大天使之剑.app/Info.plist
六、移除已经签名的_CodeSignature 包括framework里面的
1、rm -rf Payload/XX.app/_CodeSignature
2、rm -rf Payload/XX.app/framework/_CodeSignature
七、重签名framework,有多少个framewrok 就重签多少
1、/usr/卖陆物bin/codesign --force --sign 6D9B32BC1A4F36D6E8BD63C05B4B6116775A0D2A --entitlements /Users/xiaoconglin/Desktop/packbck/resign/entitlements.plist /Users/xiaoconglin/Desktop/packbck/resign/Payload/大天使之剑.app/Frameworks/Translate.framework
八、重签名app
1、/usr/bin/codesign --force --sign 6D9B32BC1A4F36D6E8BD63C05B4B6116775A0D2A --entitlements /Users/xiaoconglin/Desktop/packbck/resign/entitlements.plist /Users/xiaoconglin/Desktop/packbck/resign/Payload/大天使中液之剑.app/大天使之剑
九、压缩悉雹
1、cd /Users/xiaoconglin/Desktop/packbck/resign
2、zip -qr seg.ipa Payload/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)