背景:公司做游戏SDK的,提供SDK给第三方后,他们打包过来我们需要分发在不同的渠道,这个时候需要修改SDK的配置文件,ipa文件修改后是需要手机越狱或者ipa重签名才能安装成功的,所以研究了一下重签名的问题。

1.命令直接重签名

步骤1 : unzip YourApp.ipa

步骤2: rm -rf Payload/YourApp.app/_CodeSignature

步骤3: cp InHouse.mobileprovision Payload/YourApp.app/embedded.mobileprovision

步骤4: /usr/bin/codesign -f -s "iPhone Distribution: YourCompanyName" --resource-rules Payload/YourApp.app/ResourceRules.plist Payload/YourApp.app

步骤5:zip -r YourApp_inhouse.ipa Payload

* InHouse.mobileprovision 是你要用来签名的provision文件
* iPhone Distribution: YourCompanyName 是指该签名对应的证书的名字。这个可以在keychain中找到

2.iresign

https://github.com/maciekish/iReSign

iresign工具签名需要你提供四个信息,一个是ipa文件,一个是provision文件,一个是证书的common name,最后一个是entitlements.plist文件。前三个想必大家都懂,但是第四个之前真没听过,网上资料也有限。请用下面的方法生成entitlements.plist文件
*需要cd到Payload文件下,才可以生成
/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

3.iOS app singer

http://dantheman827.github.io/ios-app-signer/

个人比较推荐这个,可以直接xCode运行该工具,看到整个重签名流程,出错也容易找问题

iOS ipa包重签名的更多相关文章

  1. iOS逆向(五)-ipa包重签名

    为什么要重签名? 1.在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等).修改完成以后,如果想要让APP可以正常使用,该APP一定要重新签名然后压缩成IPA文件. 2.如 ...

  2. iOS包重签名工具,ipa文件重签名,快速签名,SignTool签名工具,好用的签名工具,App重签名

    新工具 ProjectTool 已上线 这是一款快速写白包工具,秒级别写H5游戏壳包,可视化操作,极易使用,支持Swift.Objecive-C双语言 QQ交流群:811715780 进入 Proje ...

  3. mac命令行对复杂ipa包重新签名

    最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...

  4. 关于IPA文件重签名后如何跟踪管理APP的技术探讨和实践演示

    前言:开发iOS的朋友都知道,在功能开发完成后,我们就会用申请的苹果账号在后台做证书配置,然后提交到AppStore,但是也有部分APP我们不需要提交到AppStore,比如内部测试用的APP.定制给 ...

  5. iOS ipa包瘦身,iOS8及以下text段超60MB

    前沿 很早之前写过一篇相关文章,不过博客主机上跑路了之后数据没了,凭着记忆补了下相关资料 ipa安装包瘦身 清理无用图片,图片压缩(PNG换WebP和JPG),处于某种不可抗拒的原因,导致有部分3X图 ...

  6. iOS 的ipa 包重新签名

    https://www.evernote.com/l/As7sxCnA85JCs7bn5Tg5St003gXYYslAk3k

  7. xcode archive导出ipa时重签名

    折腾了一晚上用另外的签名从xcode archive导出ipa,最后发现居然是没有导入p12文件的原因.... 顺便把参考的帖子记录一下: http://stackoverflow.com/quest ...

  8. iOS ipa包瘦身------删除无用图片资源

         随着客户端业务的增多和业务的更新,App包大小越来越大,优化包大小是迫在眉睫,客户端需要优化的地方也有很多,本期主要讲如何查找无用图片并且删除无用图片的方法.      方案1:(暴力方法) ...

  9. ipa重签名最直接的教程

    ipa 包重签名最新最简单教程 重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 appkey 等操作,直接重签名之后依然可以拥有这些功能,更快的发布测试或者灰度版本. 本 ...

随机推荐

  1. C#单元测试(转)

    C#,单元测试入门(以下内容可能来自网络) 一.什么叫单元测试(unit testing)? 是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体 ...

  2. json 数据返回解密

    http://www.cnhan.com/shantui//dynamic/get/data/allCompanyInfoByCompCode.json?compCode=6SU5YCJ <sc ...

  3. dom 显示 与否 的对 ecmascript 变量的 监听

    dom 显示 与否  的对 ecmascript   变量的 监听

  4. Channel (digital image) 通道 色彩深度 Color_depth

    en.wikipedia.org/wiki/Channel_(digital_image) Color digital images are made of pixels, and pixels ar ...

  5. 解决MAC Appium设备连不上IOS的的问题'idevice_id' program is not installed

    解决MAC Appium设备连不上IOS的的问题 错误的: [XCUITest] The 'idevice_id' program is not installed. If you are runni ...

  6. Ruby 文件 FILE

    FileUtils.makedirs(LOCAL_DIR) unless File.exists?LOCAL_DIR require 'fileutils' Dir.mkdir(DATA_DIR) u ...

  7. 如何使用ipv6

    需要系统至少是Vista以上还有就是要问你们学校是否已经支持IPV6 从Windows Vista开始,IPv6在默认状态下已经安装并启用,无需额外配置.检测步骤开启浏览器窗口,输入以下域名访问本站首 ...

  8. web tools for sublime

    Your code editor is your main development tool; you use it to write and save lines of code. Write be ...

  9. (1)Java多线程编程核心——Java多线程技能

    1.为什么要使用多线程?多线程的优点? 提高CPU的利用率 2.什么是多线程? 3.Java实现多线程编程的两种方式? a.继承Thread类 public class MyThread01 exte ...

  10. Lua调用C,C++函数案例

    该程序主要是C++与Lua之间的相互调用示例.执行内容:(1)新建一个lua_State(2)打开常用库,如io,os,table,string等(3)注册C函数(4)导入程序所在目录下所有*.lua ...