最近在搞IOS平台的测试,遇到了个不大不小的问题
测试build是通过TestFlight递交的,测试人员手上没有源代码,开发人员在国外,不方便共享源码,如何能做IOS的自动化测试?
经过折腾,发现了个可能的办法,
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下面

在无法共享源码的情况下,为了解决IOS平台的自动化测试问题,可以采取通过TestFlight安装build,再导出ipa文件进行重签的方法。本文介绍了三种重签方法:使用商业化工具SeeTest、自行编写代码签名,以及推荐使用iresign工具。iresign需要ipa文件、provision文件、证书common name和entitlements.plist文件,其中entitlements.plist文件的生成是关键。
4万+

被折叠的 条评论
为什么被折叠?



