iOS开发——ipa包重签

作者: zagger | 来源:发表于2016-03-17 18:30 被阅读5496次

在iOS开发中,为了方便测试和内部体验,往需要对ipa使用企业证书重新签名,然后在内部进行分发。接下来,就介绍如何对ipa包进行重签。

简单重签

如果想要了解,iOS的证书及代码签名机制,可以阅读这篇文章代码签名探析,这里就不再介绍。
  首先,下载iReSign。这是一个开源工具,下载完成后打iReSign,选择要重签的ipa包和重签时使用的开发者证书,点击“重新签名”按钮,就会在原ipa包同目录下生成一个重签后的ipa包。

QQ20160317-0@2x.png
  使用iTunes安装重签后的ipa包,这时在iOS8以下的系统可以正常安装,但iOS8及以上系统就会安装失败。这是由于苹果在iOS8.1.3系统以后加强了对ipa安装包签名的验证,主要区别在于ipa唯一标识在原有Bundle Identifier的基础上增加了证书ID,也就说安装包和手机上已安装APP的Bundle Identifier即使一致,如果两者签名的证书ID不相同,那么安装包也无法正常安装。

完整重签

  1. 首先使用重签时用的开发者证书创建一个App ID,bundleID随意。


    iReSign_identifiers.png
  2. 为上一步创建的App ID创建一个Provisioning Profile并下载到本地(可以通过Xcode来完成)


    iReSign_provisioning_profile.png
  3. 创建Entitlements Plist。
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>application-identifier</key>
    <string>PREFIX.yourappBundleID</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
    <string>PREFIX.yourappBundleID</string>
    </array>
    </dict>
    </plist>

新建一个plist文件,将上面代码粘贴过去。将其中的PREFIX.yourappBundleID替换成前第1步截图中的PrefixID,然后将文件保存为entitlements.plist。该文件中内容配置可以参考代码签名探析,比如没有推送功能的话,就去掉如下两行:

    <key>aps-environment</key>
        <string>production</string>
最后,打开iReSign
QQ20160317-0@2x.png
  • 第一行填待重签ipa包的路径
  • 第二行填第2步中下载的Provisioning Profile的路径
  • 第三行填第3步创建的entitlements.plist文件路径
  • 第四行勾选修改ID,然后填写第1步中的bundle ID。
  • 第五行选择重签使用的开发者证书
  • 点击重新签名,大功告成!

重新签名的ipa包将会存放在原ipa包同一目录。

相关文章

  • iOS开发——ipa包重签

    在iOS开发中,为了方便测试和内部体验,往需要对ipa使用企业证书重新签名,然后在内部进行分发。接下来,就介绍如何...

  • iOS开发-ipa重签

    ipa重签,就是将已经获取到的ipa包,通过已有的证书重新签名,这个ipa包获取的途径有很多,有的是别人直接发给你...

  • 【iOS开发】ipa 包修改及重签名

    iOS逆向 ipa包重签名

  • ios ipa重签

    1、可以使用iResign工具重签ipa包得到entitlements.plist 2、解压ipa包 unzip ...

  • iOS开发-ipa重签(企业签)

    重签一般有两种,一种是改bundle ID,一种是不改bundle ID,bundle ID的重要性大家都这道,而...

  • iOS逆向-ipa包重签名及非越狱手机安装多个微信

    iOS逆向-ipa包重签名及非越狱手机安装多个微信 iOS逆向-ipa包重签名及非越狱手机安装多个微信

  • 2017最新ipa重签教程

    苹果ipa文件重签需要准备的东西 1、Mac电脑 2、重签用的ios证书 3、重签工具 教程分为两步 一、申请io...

  • 重签名

    iOS逆向 ipa包重签名 检查iOS项目中是否使用了IDFA

  • iOS逆向之代码注入

    准备工作 已去壳ipa,重签运行,可参照iOS逆向之砸壳与重签[https://www.jianshu.com/p...

  • app重签名

    Ios下app重签名的原理及使用教程 流程: 1、解压ipa unzip appstore.ipa 2、删除旧的签...

网友评论

  • 2b48e2852372:按照楼主的方法 没用啊
  • 02b13066e6e4:现在重签名安装成功的版本是多少? 9或者10能成功吗
  • 86c0c9f7d7fc:待重签ipa包是使用第二步的Provisioning Profile文件打出来的包吗

本文标题:iOS开发——ipa包重签

本文链接:https://www.haomeiwen.com/subject/mjeclttx.html