背景: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微信自動搶紅包(非越獄)文章來即可,該文下面很多評論都是卡在簽名失敗上,最大原因就是這步沒做。
有疑問到我微信公眾號留言
MineWeiXin.png