(转)iOS应用简单剖析

2012-06-29  白云 

“知己知彼,百战不殆!”在介绍iOS自动化测试框架前,我们先要对iOS应用进行一次解剖。
一、平台特性
    iOS是一个完备的操作系统,可以认为是Mac OS X的一个定制系统,是苹果公司的移动操作系统。它提供了一些基于移动设备的特点:Touch-based UI,Cellular network support,Location service,Accelerometer,等。
    iOS的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包括滑动,轻触开关及按键。与系统交互包括滑动(swiping),轻按(tapping),挤压(pinching)及旋转(reverse pinching)。
二、应用特性
     作为iOS平台的应用,也有其自身的一些特性。
    1、iOS平台在运行应用程序时,当前只会有一个正在运行的应用程序,所以UIApplication很容易获取应用程序的事务代理
    2、应用程序运行时,所有的视图控件都是在应用程序事务代理这一个window内,这个window是固定的,大小就是屏幕大小。
    3、在iOS平台上,应用的访问权限是有限的,只能访问应用本身所在的目录,没有系统其他目录的访问权限
    4、应用的响应时间也是有限的,在移动设备上用户退出应用时,如果应用在5S内没有完成保存并放弃控制,则应用程序进程将被终止
    5、有限的屏幕大小
    6、有限的系统资源,特别是内存是非常有限,所以内存不足的现象在应用中很容易出现。Cocoa Touch提供了一种内置机制,可以将内存不足的情况通知给应用程序。出现这种情况时,应用程序必须释放不需要的内存,甚至可能被强制退出。
三、应用结构
     1、应用的生命周期
2、应用的视图结构
          1)、window,绝大多数iOS应用只使用一个窗口,所有控件视图都嵌套在该窗口内
          2)、view,是iOS应用中很重要的部分,各种操作、效果等等都是在UIView object中实现。View是属于UIWindow的一块矩形区域。
          3)、controls,是iOS应用中实现对事件处理的,具有target-action机制,用来响应control事件
          4)、iOS应用的基本框架使用的是MVC模式
    3、事件处理
           1)、在Cocoa Touch这个框架中,只有touch操作被当做事件
           2)、能够处理事件的对象叫做Responder
           3)、UIResponder定义了4个事件处理:touchesBegan,touchesMoved,touchesEnded,touchesCancelled
 这里只是对iOS应用做了简单剖析,可以大概了解iOS应用的特性、结构、运行原理,这是我们在iOS平台上对应用进行自动化测试所需要的基础知识。
--------------------------------------------------------------------------------------------------
转自:http://labs.chinamobile.com/groups/11274_285462
374°/3743 人阅读/0 条评论 发表评论

登录 后发表评论