iOS ipa包重签名
背景:公司做游戏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包重签名的更多相关文章
- iOS逆向(五)-ipa包重签名
为什么要重签名? 1.在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等).修改完成以后,如果想要让APP可以正常使用,该APP一定要重新签名然后压缩成IPA文件. 2.如 ...
- iOS包重签名工具,ipa文件重签名,快速签名,SignTool签名工具,好用的签名工具,App重签名
新工具 ProjectTool 已上线 这是一款快速写白包工具,秒级别写H5游戏壳包,可视化操作,极易使用,支持Swift.Objecive-C双语言 QQ交流群:811715780 进入 Proje ...
- mac命令行对复杂ipa包重新签名
最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...
- 关于IPA文件重签名后如何跟踪管理APP的技术探讨和实践演示
前言:开发iOS的朋友都知道,在功能开发完成后,我们就会用申请的苹果账号在后台做证书配置,然后提交到AppStore,但是也有部分APP我们不需要提交到AppStore,比如内部测试用的APP.定制给 ...
- iOS ipa包瘦身,iOS8及以下text段超60MB
前沿 很早之前写过一篇相关文章,不过博客主机上跑路了之后数据没了,凭着记忆补了下相关资料 ipa安装包瘦身 清理无用图片,图片压缩(PNG换WebP和JPG),处于某种不可抗拒的原因,导致有部分3X图 ...
- iOS 的ipa 包重新签名
https://www.evernote.com/l/As7sxCnA85JCs7bn5Tg5St003gXYYslAk3k
- xcode archive导出ipa时重签名
折腾了一晚上用另外的签名从xcode archive导出ipa,最后发现居然是没有导入p12文件的原因.... 顺便把参考的帖子记录一下: http://stackoverflow.com/quest ...
- iOS ipa包瘦身------删除无用图片资源
随着客户端业务的增多和业务的更新,App包大小越来越大,优化包大小是迫在眉睫,客户端需要优化的地方也有很多,本期主要讲如何查找无用图片并且删除无用图片的方法. 方案1:(暴力方法) ...
- ipa重签名最直接的教程
ipa 包重签名最新最简单教程 重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 appkey 等操作,直接重签名之后依然可以拥有这些功能,更快的发布测试或者灰度版本. 本 ...
随机推荐
- iOS与H5交互及UIWebView缓存
iOS原生App与H5页面交互笔记 最近在做一个项目用到了原生App与H5交互,之前有做过简单的H5页面直接调用原生方法的例子,就是利用UIWebView中的代理方法 //webview每次加载之前都 ...
- The connection between feature spaces and smoothness is not obvious, and is one of the things we’ll discuss in the course.
http://www.gatsby.ucl.ac.uk/~gretton/coursefiles/lecture4_introToRKHS.pdf
- cocos2d-js添加360广告联盟插屏(通过jsb反射机制)
1.添加demo里的libs里的jar包 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...
- IIS7:通过脚本来配置ftp站点
Appcmd.exe是IIS7提供的一个管理站点的命令行工具,同时支持Ftp和Http的站点,功能还算强大,具体使用方法参考微软网站. 需求 我这里的例子主要配置一个Ftp站点,并且允许CcUser这 ...
- 近年来世界各地ICO的花式骗局盘点
很多人说区块链是骗局,其实不然,区块链是一种安全的互联网技术,可以解决当下很多行业的痛点,但也确实存在一些不法分子利用区块链进行行骗,下面整理了世界各地的一些ICO骗局,一起来看看吧. 案例一:越南I ...
- 【docker】kubernetes集群一键部署包
背景说明: 随着docker使用的逐步深入,docker的管理变得越来越麻烦,单纯的通过docker命令行的方式进行管理已经不能满足需求,同时也存在效率低下的问题.所以急需一个docker集群管理工具 ...
- 【linux】如何查看进程运行在那颗cpu上
这里介绍一种方法查看进程运行在哪个cpu上, 首先top 然后按字母:f 按字母:j 回车即可 其中P列表示进程运行在哪个CPU上
- 【python】使用python发送文本内容邮件
下面提供了一个使用python做的发送文本内容的邮件代码,能够在邮件内容中设置文字颜色,大小,换行等功能. #auther by zls #_*_coding:utf-8_*_ import sys ...
- IE不支持HTML5表单属性placeholder的解决办法
1. [代码][JavaScript]代码 (function ($) { $.fn.placeholder = function (options) { var defaults ...
- 树莓派与 Python —— GPIO
首先来直观地认识树莓派提供的 40 个引脚(GPIO,general purpose i/o,接收外界输入,并向外界提供运算处理后的输出): 1. 安装 从远程库(repositories)中下载安装 ...