iresign/SeeTest 开发者账号 免费 重签名

By | 2015年9月9日

1、准备一台mac电脑

2、申请苹果开发者账号(个人、公司、企业),申请链接http://appfish.taobao.com,如果是从本站看到的,请直接和客服联系,价格有优惠。

一、个人账号申请:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4601059148.11.2z5BdR&id=36162166668

二、公司账号申请:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4601059148.2.2z5BdR&id=36185792942

三、企业账号申请:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4601059148.5.2z5BdR&id=36176694668

 

3、配置开发者账号证书,请向客服索取配置开发者账号的视频教程。

4、iresign只能在mac下使用,seetest签名需要提供 provision文件,和开发者证书私钥和密码

5、推荐使用Command Line来进行签名,简单粗暴。具体步骤及命令行(红色字,绿色的为系统提示)如下:

第一步,把需要重新签名的ipa解压出来,可以更改ipa为zip直接解压,或者使用unzip 文件路径/文件名来解压.

第二步,先把你的mobileprovision文件改名为embedded.mobileprovision,放到对应的文件夹中,我这里的文件夹是Desktop/codesign/app.使用下面这条命令在桌面生成一个Entitlements.plist文件,将这个文件拷贝到codesign/app目录

lkbMacBook-Pro:~ lkb$ /usrbexec/PlistBuddy -x -c ‘Print :Entitlements’ /dev/stdin <<< `security cms -D -i ‘/Users/Liukaibo/Desktop/codesign/app/embedded.mobileprovision’` > ~/Desktop/Entitlements.plist

lkbMacBook-Pro:~ lkb$ codesign -f -s “iPhone Distribution: Nanjing YourComanyName Co., Ltd.” –entitlements=Entitlements.plist Payload/mobileMedicals.app

Payload/mobileMedicals.app: replacing existing signature

配置 好证书后,使用证书签名,签名成功后,会提示replacing existing signature的

第三步,打zip包,并在当前文件夹下生成newmobile.ipa文件

lkbMacBook-Pro:app lkb$ zip -qr newmobile.ipa Payload/

第四步,验证Payload中的包是否被正确签名:

lkbMacBook-Pro:app lkb$ codesign -vv -d Payload/mobileMedicals.app

 

6、原理讲解:ipa实际上是一个zip包,将ipa文件后缀改成zip后就可以解压缩这个包,解压缩成功后,您可以看一下具体文件和文件夹的目录层次结构。

先删除ipa包的原有签名,替换掉包内的签名证书文件后,重新签名,最后打包成ipa文件,即可安装。

 

7、参考文章:

Inside Code Signing,推荐英文好的可以看:https://www.objc.io/issues/17-security/inside-code-signing/

英文不好的可以看这篇翻译的:http://objccn.io/issue-17-2/

苹果的官方文档About Code Sign:https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html

上述如果有不明白的,可以参考这个哥们的blog,写得还不错

http://blog.csdn.net/gtncwy/article/details/10973285