NSProcessInfo实现启动传参

什么是启动传参

所谓启动传参,是指在APP启动的时候,从Xcode环境变量或者命令行传入指定的参数,让APP根据不同参数做出不同的响应。

为何要引入启动传参

在UI自动化测试中,需要很多前置的工作,包括替换域名、指定mock/代理服务器地址、关闭长连接、启动后跳转到指定页面、自动登录、设置经纬度等等。这些前置工作都可以通过启动传参来实现。使用启动传参,有利于提高测试效率。

阅读更多

NSUserDefaults和Xcode启动传参

前言

NSUserDefaults作为iOS內建的存储机制早已为大家所熟知。NSUserDefaults在少量数据持久化和用户偏好存储方面一直发挥着重大的作用。对于NSUserDefaults的常见用法应该是无外乎存取数据。相比较NSUserDefaults,Xcode中的环境变量就比较陌生。有时候,从头到尾开发一款APP也不一定会用到环境变量。而实际上NSUserDefaults和环境变量存在着千丝万缕的关系。本篇文章将会揭开二者的内在联系。

NSUserDefaults

NSUserDefaults的常见用法,如下:

1
2
[[NSUserDefaults standardUserDefaults] setObject:@(1) forKey:@"isVip"];
[[NSUserDefaults standardUserDefaults] objectForKey:@"isVip"];

阅读更多

iOS事件传递响应机制

[toc]

前言

按照时间顺序,事件的生命周期是这样的:
  事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到最合适的view后事件的处理(touches方法的重写,也就是事件的响应)
  
  其中重点和难点是:
  1.如何寻找最合适的view
  2.寻找最合适的view的底层实现(hitTest:withEvent:底层实现)   

(一)iOS中的事件

iOS中的事件可以分为3大类型:

  • 触摸事件
  • 加速计事件
  • 远程控制事件
    这里我们只讨论iOS中的触摸事件。

阅读更多