ipa多目标重签名流程

来源:互联网 发布:专业流量控制软件 编辑:程序博客网 时间:2024/06/06 06:47

给公司做项目,之前因为企业证书被封闭,需要紧急发布ios应用,于是从网上找了个卖苹果企业证书的,对方只要了我的ipa安装包,然后一番倒腾,就可以将我原来的ipa包中的证书给替换掉,甚是惊奇,由此,知道了ipa重签名一说


最近公司项目不多,想起之前的这件事,于是就也想倒腾一番,学习下重签名的流程;以下为学习流程:


首先找了一个resign.sh的脚本,内容就先不贴了,然后从appstore下载了我经常用的网易新闻,不管如何倒腾,就是无法重签名成功;哎,此路不通,继续找其他方法

又从网上下载了一个iReSign的软件,看最后的更新日期,比较老,经过一番测试,仍旧不行;

继续从网上寻找资源,后来在如下的地址:http://bbs.iosre.com/t/topic/2966,发现了一篇文章;这篇文章的介绍比较详细,并且:fastlane/sigh/这个项目一直在维护,

感觉应该可以的,于是,下载,安装,经过一番倒腾,安装成功,仿照fastlane/sigh 上的用法操作一遍,使用网易新闻重签名,不成功;看评论,找原因,好像是因为直接从appstore下载的ipa,没有脱壳,没办法,从pp助手上下载了一个越狱的网易新闻ipa,继续测试:结果报了一个如下的错误:


No provisioning profile for nested application: '_floatsignTemp/Payload/NewsBoard.app/PlugIns/NotificationContentExtension.appex' with bundle identifier 'com.netease.news.notificationcontent'

看来这就是所谓的多目标证书,没办法,采用懒省事的办法:除了主证书,其他子证书都使用相同的一个证书文件:命令如下

/usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.7/sigh/lib/assets/resign.sh /Users/xxx/Desktop/recodeSignApp/670.ipa "F6757CD6720B0967E91F1243300D" -p com.netease.news=/Users/xxx/Desktop/recodeSignApp/CLM_Manager_Hoc.mobileprovision -p com.netease.news.entrancewidget=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision -p com.netease.news.notificationcontent=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision -p com.netease.news.notificationservice=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision -p com.netease.news.newsboardtodaywidget=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision -p com.netease.news.watchkitapp.watchkitextension=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision -p com.netease.news.watchkitapp=/Users/xxx/Desktop/recodeSignApp/Manager_Hoc_Plugin.mobileprovision /Users/njwangdou1/Desktop/recodeSignApp/789.ipa


可以执行成功,但用itunes却无法安装成功,一时不知是何原因,此问题暂且不标


前面不是说ipa只有是脱壳的才能重签名成功吗,那我要先试试没脱壳的,从最简单的入手;首选从appstore下载了我们自己开发的一个app,ipa包中只有一个证书,使用

fastlane sigh resign 按照提示,拖入ipa文件,输入Signing Identity:20B0967E91F12433,拖入Path to provisioning file:

执行结果:[!] ipa file could not be found or is not an ipa file

看来没脱壳的ipa确实不行,

那好,现在来验证经过脱壳的,从pp助手下载我们越狱版的app,重复上述步骤,一切ok,使用itunes安装,可以安装成功,打开,也能正常运行,

为了更进一步的验证,从pp助手下载公司的app进行验证,只要原app中是包含一个证书的应用,用fastlane sigh resign此方法都是没有问题了

到这里,我们已经验证了,使用fastlane sigh resign对单target应用重签名是没有问题的,


下面,我们要对多target应用的验证,还是从http://bbs.iosre.com/t/topic/2966的文章中得到提示,我去下载了乐动力应用,不过,遗憾的是,最新版本已经的target已经不是2个了,加入watchkit等的功能,目标过多,放弃,

网易新闻,也是多target应用,不能用于测试,


继续从pp助手随机找应用测试,最后找到一个叫做:理光景达S-42(越狱应用)的应用,经过验证,该应用只包含三个目标,一个主target,一个watchkit,还有一个watchkitextention;如果后两个还是用同样的证书,使用/usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.7/sigh/lib/assets/resign.sh命令,可以重签名成功,但无法安装,

到这里,我已经更肯定的怀疑,一个证书必须用在一个target上了,不过还没有经过验证,当日已经下班,剩下的等第二天上班来验证

        第二天,按照这个思路,首先在苹果开发者网站从新建立了三个AppID,然后将三个AppID装在一个group中,然后生成hoc Provisioning Profiles,下载三个Provisioning Profiles 存在一个文件目录中,将理光景达S-42(越狱应用)也放在该目录,改名字为:670.ipa


执行如下命令:

/usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.28.7/sigh/lib/assets/resign.sh /Users/xxx/Desktop/recodeSignApp/670.ipa "F6757CD6720B0967E91FF5FEC0B6396" -p cn.ricoh.theta2.watchkitapp.watchkitextension=/Users/xxx/Desktop/recodeSignApp/watchkit_extention_group_hoc.mobileprovision -p cn.ricoh.theta2.watchkitapp=/Users/xxx/Desktop/recodeSignApp/watchkit_group_hoc.mobileprovision -p cn.ricoh.theta2=/Users/xxx/Desktop/recodeSignApp/main_group_hoc.mobileprovision /Users/xxx/Desktop/recodeSignApp/789.ipa

一切顺利; 使用itunes打开789.ipa,同步,安装,然后成功!

打开应用,正常运行,至此,对多目标ipa的重签名成功,


后面,网易新闻,和腾讯都没有测试,流程应该差不多


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 西装裤裤脚太宽怎么办 全棉衣服有异味怎么办 羊剪绒毛领褪色怎么办 篮球鞋买大2码怎么办 新鞋穿着脚累怎么办 买了国产乔丹怎么办 跑完1000米吐了怎么办 翻毛鞋脚染色了怎么办 翻毛皮被染色了怎么办 防鹿皮绒鞋染色怎么办 亚瑟士跑鞋挤脚怎么办 亚瑟士跑鞋很紧怎么办 飞线鞋面破了怎么办 新袜子穿了很滑怎么办 鞋底硬脚底板疼怎么办 新鞋前面太硬怎么办 新鞋子鞋底太硬怎么办 不到一米八的身高想扣篮怎么办 鞋胶粘在鞋面上怎么办 鞋子上沾了胶怎么办 休闲鞋号码大了半码怎么办 高跟鞋大了一码怎么办 浅口单鞋买大了怎么办 新鞋子磨大脚趾怎么办 鞋前面磨大脚趾怎么办 白鞋子蹭黑了怎么办 夏天穿皮鞋捂脚怎么办 耐克赤足掉漆怎么办 鞋子买回来小了怎么办 布鞋大了一码怎么办 鞋子买小了一码怎么办 运动鞋小了一码怎么办 帆布鞋小了一码怎么办 脚踝骨韧带断了怎么办 咖啡喝多了失眠怎么办 奥迪q7电瓶没电怎么办 一岁宝宝坐不稳怎么办 2岁宝宝不肯把尿怎么办 踢足球上肢和下肢不协调怎么办 ppt文字放映时重叠怎么办 月子8天腰背疼怎么办