如何利用开发者账号重签ipa文件,并部署到IOS设备做测试搜索
2015-06-16 16:24
597 查看
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包了。
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包了。
相关文章推荐
- iOS 通知 NSNotification
- IOS开发模块总结(一)本地数据存储6 keychain使用介绍
- 关于Nios中对EPCS进行flash烧写出现以下错误Error: Error code: 8 for command: nios2-flash-programmer...的解决办法
- Xamarin iOS教程之使用按钮接接收用户输入
- IOS初级:story board的跳转
- iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- ios图片拉伸的问题
- IOS使用正则表达式去掉html中的标签元素,获得纯文本
- IOS 毛玻璃化图片
- IOS截取快照
- iOS画图中 图形上下文的管理
- ios图片拉伸 4000 的问题
- ios开发-成员变量,属性变量随笔
- iostat命令详解
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- xmpp-iOS-注册和登录
- iOS证书及ipa包重签名探究
- ios- -[__NSCFType invalidate]: unrecognized selector sent to instance 0x18894a30错误随笔
- Multithreading on iOS And Mac OS X Using NSOperations
- iOS 动态类型isKindOfClass, isMemberOfClass 初认识