原文出自:Spring sky ,欢迎转载,请保留版权和原文地址;http://blog.csdn.net/springsky_/article/details/24355259

写这个文章,我先给大家举一个例子把。
情况如下:A是开发者,B是ipa的使用者,A和B距离很远,如果B需要安装ipa,正常的情况如下:1.B到A这里去,让A给安装    2.A需要在网上上传一个ipa,提供给B,B需要下载ipa,然后安装。如果ipa很大,那么A上传需要很长时间,B下载也需要很长时间,如果A只是修改了部分代码,或者一个图片,可能双双都要浪费很多时间?

如果B手上有一个ipa,并且A只是修改了部分代码或者替换部分图片,有没有更快捷的方式替换解决发送ipa的问题?

为此,我做了很多实验:
No.1  把ipa后缀名修改为zip,解压后得到一个“Payload”文件夹,直接打开这个文件夹,选中xxx.app文件,右键显示包内容,直接替换里面的图片,然后把xxx.app直接拖到iTunes中生成ipa,打包可以,但是安装一直显示“安装中....”,实际上这种方式是不可行的;

No.2  把ipa后缀名修改为zip,解压后得到一个“Payload”文件夹,直接打开这个文件夹,选中xxx.app文件,右键显示包内容,直接替换里面的图片,然后把Payload这个目录压缩为一个zip,然后再把后缀名zip修改为ipa,结果一样:安装一直显示“安装中....”,这种方式依然是不可行的;

最后我猜想,不管替换哪种类型的文件,ipa可能存在一种签名,或者对文件进行MD5校验,然后在安装的过程中进行了MD5验证签名,基于这种方式,我就想了一个办法,如果我们把ipa中得“文件签名”替换掉,是否能安装成功?

so,我就在“显示包内容”这个目录里面,发现了一个“_CodeSignature”目录,对应的这个目录下,还有一个CodeResources文件,我想这大概就是签名的文件吧,如下图:

结果依照上面的No.1方式去打包,过了不到2分钟的时间,看见iTunes 复制文件完成,安装...  突然眼睛一亮,安装成功,哈哈,这一刻,哥真的笑出来了,多么激动得一颗哇。

最后,我想用这种方式来替换编译的代码,其实就是替换xxx.app目录下的xxx文件即可(xxx是你的项目名称,特别要注意哦,如果我得项目名称是aaa,那么在aaa.app的目录下 ,就又一个aaa的unix可执行文件,只要替换aaa文件即可),然后用No.1和No2的方式去打包,安装,都成功了,哈哈,将来不再为只是替换了一张图片,一行代码而发送庞大的ipa而烦恼了。

那么,我将用上面的举例总结一下重要的步骤:

1.让B先把手上的ipa的后缀名修改为zip,然后解压,得到"Payload"目录;

2.A把编译后的xxx.app下得“_CodeSignature” 提供给B,然后把需要替换的文件(图片 or mp3  or 编译后的代码)也替换给A,并且名称保持一致;

3.B打开Payload目录,然后再打开xxx.app,替换里面的“_CodeSignature”目录和相关的替换文件。然后依照上面的No1或者No2方式去打包,即可得到一个可安装的ipa文件,安装,都ok了。

特别是替换签名,相当重要!
以上是基本的操作步骤了,如果大家有什么疑问的,即可联系我 QQ:840950105    加我的时候请注明 问题的原因

ios 在window和mac上另类打包方式相关推荐

  1. 别只关注M1芯片的苹果笔记本,iOS APP支持在 Mac上运行也是大事

    将会在当地时间 11 月 10 日(北京时间 11 月 11 日凌晨 2 点)在 Apple Park 举办发布会,这是苹果在本年度秋季举行的第三次发布会,App Store 上似乎透露出发布会的蛛丝 ...

  2. (0104)iOS开发之在Mac上用Charles给iPhone抓包

    长时间不抓包用到时又不会了,又要百度一番.记录最近一次在Mac上用Charles给iPhone抓包的步骤. 在Mac上用Charles给iPhone抓包 Charles 从入门到精通 [抓包工具–Ch ...

  3. Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台

    背景: 本来打算下一个游戏是涂鸦跳跃的,因为图片资源没准备好,暂时往后推迟.刚好笔者手头上有部分水果忍者的游戏素材,于是上周末花了一些时间把水果忍者实现了:以前读大学的时候这款游戏就风靡大街小巷,记得 ...

  4. Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台

    背景: 上一篇,已经实现了水果不断向上抛的效果和开始界面,这一篇我们将分析如何切水果,获得分数:运行demo需要配置好CocosEditor,暂不支持其他工具.demo是跨平台的,可移植运行andro ...

  5. android 水果忍者源码,Fruit Ninja(水果忍者)游戏源代码下载、分析(下)---可运行Android,Ios,Window,Mac,Html5平台...

    背景: 这一篇是结尾篇,主要分析×××检测,游戏结束和保存最高分: ps: 1 CocosEditor已发布新版本,现在提供6个实战demo学习,包括flappy ,popstar ,fruitnin ...

  6. Mac 上简体中文输入方式的键盘快捷键

    操作 快捷键 切换到简体拼音输入法 Control-Shift-P 切换到简体双拼输入法 Control-Shift-S 切换到简体五笔输入法 Control-Shift-W 切换到简体笔画输入法 C ...

  7. @苹果,iOS App 还需要多久才能运行在 Mac 上?

    Craig Federighi 在 2018 苹果全球开发者大会上 在今年的苹果全球开发者大会上,苹果的软件工程高级副总裁 Craig Federighi 回答了人们询问已久的一个问题:苹果是否会合并 ...

  8. 在mac上搭建了Java 环境,谨以此文写给自己

    最近跳槽算空挡期吧,还是感觉这两年有点浮躁,总有想把自己归零一下,总结一下重新上路. 以前windows上搞过点java,自从入了iOS的坑,mac上还没搞过,现在借着面试facebook的准备时间, ...

  9. mac 自带 java 环境_在mac上搭建了Java 环境,谨以此文写给自己

    最近跳槽算空挡期吧,还是感觉这两年有点浮躁,总有想把自己归零一下,总结一下重新上路. 以前windows上搞过点java,自从入了iOS的坑,mac上还没搞过,现在借着面试facebook的准备时间, ...

最新文章

  1. vaspkit使用_VASPKIT校正气体分子自由能
  2. LeetCode-206 反转链表
  3. 调用支付jsapi缺少参数:total_fee_小程序支付问题怎么解决?
  4. 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)
  5. 三台云服务器搭建hadoop集群
  6. ScrollView各属性,及代理方法汇总
  7. Constructor vs Object
  8. 表主键自增长Mybatis插入数据报错
  9. Openpyxl:读取/写入Excel文件的Python模块
  10. Koa2 和 Express 中间件对比
  11. 文科辅修计算机科学,英属哥伦比亚大学专业详情.docx
  12. BS7799与ISO17799的发展历程
  13. 风淋门控制器c语言程序代码,C语言程序设计 第10章位运算
  14. Axure的授权人与授权码
  15. Java破解9X9数独小游戏
  16. JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置
  17. 专利缴费信息网上补充及管理系统--操作指南
  18. MYSqL测试题2_MySQL 练习题2 参考答案
  19. web安全渗透测试的大纲
  20. 1.1 什么是PowerVM(IBM小型机)虚拟化技术

热门文章

  1. 【0成本】上下班打卡、会议签到|超表案例
  2. c语言向eeprom写入浮点数,24C64 EEPROM读写的C语言程序.doc
  3. 通过前序序列和中序序列或中序序列和后序序列还原二叉树(Java)
  4. 不错的讲解业务架构,应用架构,数据架构的图
  5. 常用URL分享,实用地址
  6. abp+dapper+mysql_abp集成abp.Dapper
  7. php--spry框架制作级联下拉菜单
  8. python将房贷数据写进excel表格
  9. PhotonServer-创建APPServer和Client类
  10. 刚性仿射变换算法_图像的仿射变换