qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

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

 最近在搞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下面
  个人推荐用方法三,但是要注意一个问题,就是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包了。

posted on 2014-05-19 10:13 顺其自然EVO 阅读(2257) 评论(1)  编辑  收藏 所属分类: android

评论

# re: 如何利用开发者账号重签ipa文件,并部署到IOS设备做测试 2014-11-21 17:04 王先生

提供各种苹果开发者帐号证书及签名。协助把App代发布到App商店!
还可无需经过苹果漫长严格审核, 立刻发布:任何苹果设备无需越狱都可安装!打开网址或扫描二维码,即可无需Apple帐号一键下载安装!不限制安装设备数量!

苹果ipa和安卓apk手机APP应用软件开发制作打包签名上线发布推广营销运营维护 http://www.hdtht.com
ps:我们还免费提供APP安装所需SSL主机!免费自动安装文件配置服务!QQ:1256932816   回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜