- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
给iOS模拟器“安装”app文件给iOS模拟器“安装”app文件
给iOS 模拟器“安装”app文件
前言
刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不能直接安装app呢?如果可以,我们就直接在模拟器上面聊QQ和微信了。直到昨天和朋友们聊到了这个话题,没有想到还真的可以给模拟器“安装”app!
先来谈谈是什么情况下,会有在模拟器上安装app的需求。
在一个大公司里,对源码的管理有严格的制度,非开发人员是没有权限接触到源码的。对苹果的开发证书管理也非常严格,甚至连开发人员也没有发布证书,证书只在持续集成环境或者Appstore产线里面,或者只在最后打包上架的人手上。
那么现在就有这样的需求,开发人员搭建好UI以后,要把开发完成的Alapha版给到UI设计师那边去评审,看看是否完全达到要求,达不到要求就需要打回来重做。
一般做法就是直接拿手机去安装一遍了。直接真机看效果。不过要是设计师和开发不在同一个地方的公司,一个在北京一个在上海,这种就没法安装了。源码 又无法导出给设计师,让他运行一下Xcode跑一下模拟器。打release的ipa通过扫码安装,如果公司大了,UDID全部都用完了,也没法安装。这 个时候就比较麻烦了。(一般也没人遇到这么蛋疼的事情吧)
那么现在就有给模拟器安装app的需求了,那开发人员如何能把开发版的app给打包出来给其他模拟器安装呢?
解决思路,想要别人的模拟器运行起我们开发的app,最简单的办法就是把我们DerivedData的数据直接拷贝到别人模拟器上面,就可以了。当然还要考虑到设计师也许并不会一些命令行命令,我们的操作越傻瓜越好。
Mac的拷贝命令有cp和ditto,建议用ditto进行拷贝工作。
Ditto比cp命令更好的地方在于:
它在复制过程中不仅能保留源文件或者文件夹的属性与权限,还能保留源文件的资源分支结构和文件夹的源结构。
此命令能确保文件或者文件夹被如实复制。
如果目标文件或者文件夹不存在,ditto将直接复制过去或创建新的文件和文件夹,相反,对于已经存在的文件,命令将与目标文件(夹)合并。
ditto还能提供完整符号链接。
那么我们就拷贝出本地的debug包
有几点需要说明的:
上面命令最后一个路径(/Users/YDZ/Desktop/app.zip),这个是自定义的,我这里举的例子是直接放在桌面。除了这里改一下路径,前面的都不需要改,包括 * 也都不用改。
再来说一下命令里面的 * 的问题。当我们打开自己本地的~/Library/Developer/Xcode/DerivedData/ ,这个路径下,会发现里面装的都是在我们本地模拟器上运行过的app程序。前面是app的Bundle Identifier,横线后面是一堆字符串。上面的ditto里面带 * 的那个路径是为了动态匹配一个地址的,* 在这里也是一个通配符。后面的head说明了匹配的规则。head其实是找出最近一次我们运行模拟器的app的路径。
为了保证我们打包是正确的,建议先运行一下我们要打包的app,一般我们Scheme里面的Run都是debug product(如果这里有更改,那就改成对应debug的Scheme),确保是我们要给设计师审核的app,之后再运行这个ditto命令。
我们运行完上面的ditto命令会产生一个zip文件,解压出来,会得到一个app文件,这个就是debug包了。debug包就是我们要给设计师的app包了。
如何能让设计师傻瓜式的安装这个app呢?
这里介绍一个命令行工具,ios-sim命令行工具。
ios-sim 是一个可以在命令控制iOS模拟器的工具。利用这个命令,我们可以启动一个模拟器,安装app,启动app,查询iOS SDK。它可以使我们像自动化测试一样不用打开Xcode。
不过 ios-sim 只支持Xcode 6 以后的版本。
安装ios-sim
$ npm install ios-sim -g
说明文档:
用法不难
其中,/Users/YDZ/Desktop/app.app这个是设计师收到app之后的路径。--devicetypeid参数后面是给定一个模拟器的版本。
只需要把上面的命令发给设计师,无脑粘贴到命令行,装好app的模拟器就会自动启动,打开app了。
好奇的同学肯定不会满足只给模拟器安装debug包吧,既然可以不用代码就可以给模拟器安装app,那我们能安装release包么?我好奇的尝试了一下。
先从Appstore上面下载最新的微信,把ipa后缀改成zip,解压,把Payload文件夹里面的“WeChat”取出来,然后运行ios-sim命令。
结果微信确实是安装到了模拟器了。不过一点击app,看见了月亮界面就退出了。控制台打印了一堆信息。
仔细看了一下log,根本原因还是因为
因为release包里面
您可能关注的文档
- 管理会计(上财)第二章.ppt
- 篇文章中给大家介绍一下马原分析题的审题答题技巧以及复习方法.doc
- 篆角初级中学教师风采录五则.doc
- 米箩煤矿关于传达学习水矿控股11月份安全办公会精神的会议纪要.doc
- 管理运筹学试题.doc
- 管理运筹学课程设计.doc
- 管道工基础知识.ppt
- 粤教沪科版物理九年级_11.6_探究串、并联电路中的电压_PPT课件.ppt
- 粤教版九年级全册第一单元1.2 《富有活力的经济制度》.ppt
- 粤教版八年级下册6.3保护个人隐私教案.doc
- 运动风格趋势:轻量化户外 2025 S S.pdf
- 数字乡村建设村村通广播应用方案.pdf
- 高盛-日本市场策略 Japan Strategy Flash 1Q325 earnings summary Double-digit (%) profit growth as results largely surprised upwards 0820 2024.pdf
- CEEM《全球智库半月谈》(总第286期).pdf
- 智慧物流概论微课课件第4章智慧物流信息平台.pdf
- 数字乡村公共安全综合平台项目解决方案.pdf
- 智慧物流概论微课课件第7章智慧物流包装.pdf
- 【案例】”啤酒之王“的智慧物流探索之路.pdf
- 数字连江城市数字基座(一期)和数字乡村示范点建设项目.pdf
- 智慧物流概论微课课件第1章智慧物流概述.pdf
文档评论(0)