ios ipa重签名

先dump出ipa,解压出app然后查看是否加密(加壳),如图所示。
ios ipa重签名
0表示没有加密。
ios ipa重签名
打开包,查看有多少frameworks,因为这些全部要签名的。
ios ipa重签名
查看自己的证书信息。
security find-identity -v -p codesigning
ios ipa重签名
一个个签名。
codesign -fs "iPhone Developer:xxxxxxx" libswiftAVFoundation.dylib
ios ipa重签名
然后用xcode新创建一个项目生成。
ios ipa重签名
打开项目包。
拷贝描述文件到要重签名的app下面。
ios ipa重签名
ios ipa重签名
然后修改重新签名的id,为新创建的id。
ios ipa重签名
ios ipa重签名
ios ipa重签名
在刚刚的embedded.mobileprovision文件中提取权限plist文件。名称必须是entitlements.plist
因为这个文件是加密的所以要用工具看。

security cms -D -i /Users/haidragon/Library/Devcode/DerivedData/test_text-awscmazqxiqnebdunrgyqmtpejxx/Build/Products/Debug-iphoneos/test_text.app/embedded.mobileprovision 

ios ipa重签名
把下面这一段拷贝出来。
ios ipa重签名
我们可以借用xcode创建entitlements.plist,打开xcode创建plist文件。
ios ipa重签名
代码方式打开。
ios ipa重签名
拷贝
ios ipa重签名
一定要能这样查看,不行说明拷贝错了。
ios ipa重签名
还一个容易忘记的是查看二进制文件是否可以执行。不然 777修改它。
ios ipa重签名
最后一步是用plist文件签名app。包。

 codesign -fs "iPhone Developer: xxxxxxx" --no-strict --entitlements entitlements.plist ./iRime.app

ios ipa重签名
查看签名信息。
codesign -d -vv ./iRime.app/
ios ipa重签名
最后是压缩成ipa包 要刚刚plist文件不要一起打包。
zip -ry iRime.ipa Payload
ios ipa重签名
现在我用安装到手机上。同样借用xcode
ios ipa重签名
添加ipa
ios ipa重签名
发现无法安装,还得把插件删除了。有whath也得删除。然后重新签名打包。
ios ipa重签名
这样就可以了。
ios ipa重签名

猜你喜欢

转载自blog.51cto.com/haidragon/2406169