背景:公司做游戏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运行该工具,看到整个重签名流程,出错也容易找问题

最新文章

  1. 如何在EF CodeFirst中使用唯一约束(Unique)
  2. Altium Designer 出现错误提示(警告)adding items to hidden net GND/VCC
  3. Struts2拦截器之FileUploadInterceptor
  4. iPhone6的CSS3媒体查询
  5. 函数xdes_calc_descriptor_page
  6. Entity Framework 6.1 学习系列1--概况、安装
  7. 非常出色的一款WinForm窗体重绘GUI类库源码
  8. 《man男人》-linux命令五分钟系列之十五
  9. [转发]Gulp开发教程(翻译)
  10. CTSC1999补丁VS错误题解
  11. 最少步数(dfs + bfs +bfs优化)
  12. mfc分个窗口,设置分割条不可移动
  13. c 语言 指针 与地址
  14. html5的自定义data-*属性和jquery的data()方法的使用
  15. MD5 概念与用途
  16. 【Swift】—— 中国课程
  17. 《.NET 设计规范》第 5 章:成员设计
  18. [bzoj5016][Snoi2017]一个简单的询问
  19. 016_python程序变量抽取配置的几种方式
  20. Python 环境的搭建(转载)

热门文章

  1. HttpPost (URLConnection)传参数中文乱码
  2. 九度OJ 1053:互换最大最小数 (基础题)
  3. JAVA Exception处理
  4. Halcon下载、安装
  5. P5105 不强制在线的动态快速排序
  6. 使用electron静默打印
  7. struts + hibernate笔记
  8. POJ3693 Maximum repetition substring —— 后缀数组 重复次数最多的连续重复子串
  9. 关于Dubbo
  10. laravel基础课程---16、数据迁移(数据库迁移是什么)