背景:9.3.3越狱发布,把手上的5s越狱后也想学点Theos Tweak开发,正好看到east520一步一步实现iOS微信自动抢红包(非越狱),他的教程很棒,不过在最后签名时有遗漏,导致俺折腾好久,还好通过设备日志解决了,记录下来供参考
免责申明:本文只是用来记录自己学习IPA重签名过程,不得用于商业或者其他不正当途径,同时谢谢east520好文。
背景,这次9.3.3pangu越狱也用到IPA个人证书签名.普通IPA重签名可以用工具ios App Signer,不过它目前还不支持像微信多targets的IPA包。
按照east520教程制作好微信自动抢红包的dylib后,就开始重签名工作了。微信IPA包里面含有watch和扩展这另外两种targets,因此有如下几步签名工作:
codesign -f -s "证书在钥匙里面显示的名字" WeChat.app/zidongqianghongbao.dylib
codesign -f -s "证书在钥匙里面显示的名字" WeChat.app/Watch/WeChatWatchNative.app/PlugIns/WeChatWatchNativeExtension.appex
codesign -f -s "证书在钥匙里面显示的名字" WeChat.app/Watch/WeChatWatchNative.app
codesign -f -s "证书在钥匙里面显示的名字" WeChat.app/PlugIns/WeChatShareExtensionNew.appex
codesign -f -s "证书在钥匙里面显示的名字" --entitlements Entitlements.plist WeChat.app
借用一步一步实现iOS微信自动抢红包(非越狱)文章里面的图片
俺按照上面步骤打包好后往设备上安装却报签名错误verifyed failed,奇怪呀文章明明说可以的呀?
还好俺的mac通过idevicesyslog工具连着设备的日志服务,在安装失败的时候有如下信息:
15:13:26 5s installd[5382] <Error>: 0x16e087000 -[MIInstallableBundle_isValidWatchKitApp:withVersion:companionAppSigningInfo:error:]: 580:
Missing or invalid value of WKCompanionAppBundleIdentifier key in WatchKit 2 app's Info.plist:
com.tencent.xin (expected com.yours.qianghongbao)
Aug 4 15:13:26 5s installd[5382] <Error>: 0x16e087000 -[MIInstaller performInstallationWithError:]: Verification stage failed
"WeChat.app/PlugIns/WeChatShareExtensionNew.appex" with identifier
"com.tencent.xin.sharetimeline" does not have expected identifier
prefix "com.yours.qianghongbao."
这下明白了吧?就是wechat.app包里面可执行targets对应的Info.plist文件的bundlid 都要换成你签名证书对应的id,比如我这里的com.yours.qianghongbao
其他步骤都是按照一步一步实现iOS微信自动抢红包(非越狱)文章来即可,该文下面很多评论都是卡在签名失败上,最大原因就是这步没做。
有疑问到我微信公众号留言