仓酷云

标题: IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云 [打印本页]

作者: 因胸联盟    时间: 2015-1-18 11:30
标题: IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
如果你对iPhoneDevelopment有兴趣,以下是入门门槛供参考:首先你要有一台Mac电脑(因为iPhoneApp使用Mac平台内建的Xcode开发工具),网上也有在Windows下搭设开发环境的教程,请大家自行谷歌一下,背景先容

VoIP范例的APP有个特征,就是必要一向在背景坚持运转,以便可以随时吸收来电。正由于体系供应给VoIP历程的这类特别机制,招致我们没法间接用kill命令完整查杀VoIP历程。关于这点加倍具体的信息,可参考以下Appledeveloper网站的先容:
“BecauseVoIPappsneedtostayrunninginordertoreceiveincomingcalls,thesystemautomaticallyrelaunchestheappifitexitswithanonzeroexitcode.(Thistypeofexitcouldhappenwhenthereismemorypressureandyourappisterminatedasaresult.)However,terminatingtheappalsoreleasesallofitssockets,includingtheoneusedtomaintaintheVoIPserviceconnection.Therefore,whentheappislaunched,italwaysneedstocreateitssocketsfromscratch.”
在具体先容用剧本查杀VoIP历程理论之前,先花点篇幅说下我们为何必要查杀VoIP历程。
在IOS中,可使用instruments这个工具来启动被测使用,并实行UIAutomation所编写的主动化测试用例。二次启动instruments时,由于历程已被启动过,会在把持台抛出以下毛病:”Executable‘XXX’isalreadyrunningasprocessXXXXwhichwaslaunchedfromthe‘launchd’process.”为了不这类毛病,只能启动一次instruments,跑完一切的主动化用例.由于在命令行下启动instruments,只能指定一个实行的JS文件,以是只能把一切的主动化用例封装到这独一的JS文件里。这很难满意实践的需求。实际中我们已主动化用例数量对照年夜,必要对主动化用例按用例优先级举行分类处置,依照范例将主动化用例存在对应的JS文件里,以是必要启动屡次instruments来实行用例。因而,我们必要在启动instruments前先查杀下已存在的VoIP历程。
明显我们不成能在主动化剧本运转的过程当中,手动经由过程连按主屏幕,向上滑动APP图标来查杀VoIP历程。那接着就来看下我们的理论历程吧。
使用的工具

我们分离了以下这些工具:

这几个工具在逃狱的iPhone,都能够经由过程Cydia下载到。
理论历程先容

起首,我们在设置里找到并点击Activator,然后选择并点击恣意地位,选择并点击按一下顶部形态栏,选择并点击激活义务栏,这些步骤的目标是为了在恣意地位点击一下顶部形态栏翻开多义务栏页面。下面的步骤如以下截图所示:
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
接着,经由过程跟下面绑定激活义务栏到单击顶部形态栏的步骤一样,我们能够绑定启动AutoTouch到双击顶部形态栏这一举措(次要用来录制,然后猎取坐标供SimulateTouch利用)
如今我们必要录制以下的举措,点击顶部形态栏(如上所述,用来翻开义务栏),然后点击KillBackgroud7在义务栏右下方的呈现的按钮(点击该按钮KillBackground7会帮我们杀失落一切背景历程),该按钮以下截图所示:
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
如今双击顶部形态栏,翻开AutoTouch录制功效,点击Record按钮
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
录制以下的举措,点击一下形态栏,接着点击一下KillBackground7在多义务栏右下角的按钮,双击顶部形态栏停止录制。
在手机桌面找到AutoTouch图标,点击该图标,定时间排序找到你刚录制的剧本,点击该剧本右侧的叹息号图标,能够看到剧本内容,提掏出形态栏坐标,KillBackgroud7在多义务栏右下角图标的坐标
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
从下面的步骤中,我们已取得了必要的坐标,能够用SimulateTouch来编写杀历程的剧本了。在这里也许有人会有以下的疑问,为何不间接回放AutoTouch录制的脚,经由过程SimulateTouch来编写剧本,不是画蛇添足吗?Goodquestion,但遗憾的是,如今AutoTouch还不撑持命令行下回放剧本。
那我们只要持续剧本的编写了,假定剧本定名为toush.sh吧,编写剧本以下:
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
OK,加上如上的正文统共6行剧本就办理这个辣手的成绩了,但SimulateTouch供应的命令要在iPhone上实行,以是我们能够经由过程SSH毗连iPhone,然后实行命令。SSH毗连必要输出暗码,为了不每次跑剧本的过程当中,再手动往输出暗码,能够经由过程参考上面链接的步骤完成:
http://hi.baidu.com/youngfragnet/item/405c78009f9708883c42e296
接着把touch.sh剧本拷贝到iPhone上SSH毗连默许的目次下,最初,把SSH毗连,实行touch.sh的命令整合到一个shell剧本里,取个霸气点的称号,如kill.sh,假定手机的IP地点为10.32.60.85,编写kill.sh以下
IOS教程之iOS 7利用剧本封闭VoIP APP历程仓酷云
登录/注册后可看大图

<br>
至此,一切的精髓都稀释到kill.sh剧本里了,必要kill历程的中央,挪用下kill.sh这个shell剧本就能够弄定了。
以上实行,在iPhone5s,版本7.0.4长进行。

管理你的ViewController的层次可以自己写View切换的动画关掉他默认的动画文档:还有个蛋疼的UIWindow都快忘了他了因为iOS是从MacosX过来的很多工具直接拿来用这个UIWindow就是在iOS里每个App独占屏幕所以同时存在的只有一个UIWindow
作者: 老尸    时间: 2015-1-21 08:51
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
作者: 兰色精灵    时间: 2015-2-5 04:19
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者: 冷月葬花魂    时间: 2015-2-11 04:12
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
作者: 谁可相欹    时间: 2015-2-12 02:54
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者: 小妖女    时间: 2015-2-18 21:37
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
作者: 海妖    时间: 2015-2-23 17:13
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
作者: 仓酷云    时间: 2015-3-7 09:31
边吃零食边看Stanford的视频教程
作者: 山那边是海    时间: 2015-3-11 15:22
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
作者: 小魔女    时间: 2015-3-18 22:23
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
作者: 精灵巫婆    时间: 2015-3-26 16:05
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2