中易网

如何利用开发者账号重签ipa文件,并部署到IOS设备做测试

答案:1  悬赏:60  
解决时间 2021-01-15 04:17
  • 提问者网友:原来太熟悉了会陌生
  • 2021-01-15 00:20
如何利用开发者账号重签ipa文件,并部署到IOS设备做测试
最佳答案
  • 二级知识专家网友:末日狂欢
  • 2021-01-15 00:36
1. 先通过TestFlight安装build
  2. 再把build通过ifanbox把build导出来成为ipa文件
  3. 下面就需要把ipa文件重新签名,方法有两种
  方法一:
  利用商业化工具签名,SeeTest支持把ipa重新签名,签名需要提供 provision文件,和开发者证书私钥和密码
  方法二:
  自己想办法签,代码参考如下

unzip app.ipa
rm -rf Payload/MyApp.app/_CodeSignature/
cp ~/Downloads/AdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
codesign -f -s "iPhone Distribution: Company Certificate" --resource-rules Payload/MyApp.app/ResourceRules.plist Payload/MyApp.app
zip -qr app-resigned.ipa Payload/

  其中"iPhone Distribution: Company Certificate"是你证书的common name, 别的没什么要注意的。
  方法三:
  网上有推荐用一个叫iresign的工具签名,其实挺好用,该工具只能工作在mac下面
  个人推荐用方法三,但是要注意一个问题,就是iresign需要你提供四个信息,一个是ipa文件,一个是provision文件,一个是证书的common name,最后一个是entitlements.plist文件。前三个想必大家都懂,但是第四个之前真没听过,网上资料也有限。
  请用下面的方法生成entitlements.plist文件

/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i production.app/embedded.mobileprovision) > entitlements.plist
/usr/libexec/PlistBuddy -c 'Set :get-task-allow true' entitlements.plist

  生成之后,再利用iresign,就可以做出一个可以被xcode instrument的ipa包了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息