iOS之Framework
摘要:【iOS之Framework】 1、Aframeworkis a hierarchical directory that encapsulates a dynamic shared library and the resource files needed to support that library. framework,所包含的必然是一个dylib。 2、Accounts.framework实例: 可以看到,大多数framework都是一个dylib+headers。所以在osx/ios中,通常没有单独的dylib存在(一个没有给出导出符号的dylib,对大数用户来说都没用),每...
阅读全文
iOS之Accessibility
摘要:【iOS之Accessibility】 1、UIAccessibility协议用于让外界程序了解到自己身的执情情况。Accessibility是一个交互协议,基于查询<->应答,通知<->监听模型的协议。外部程序通过查询来获取APP应答,从而了解程序。另外通过监听来自APP的消息,来通知用户当前状态。 2、常用的协议与元素包括: 1)UIAccessibility, protocol,核心协议。 2)UIAccessibilityAction,protocol,添加行为的协议。 3) UIAccessibilityElement, class。 4)UIAccessib
阅读全文
iOS之VoiceOver
摘要:【iOS之VoiceOver】 1、什么是VoiceOver? VoiceOver是苹果开发的为视觉障碍服人士务的应用。伴随UIAccessibility协议,开发者可以通过支持UIAccessibility来使用自己的APP支持为盲人服务。 2、开关:Settings > General > Accessibility > VoiceOver 3、高频操作: 1)通常操作 2)其它操作提示
阅读全文
iOS之UIALogger日志系统
摘要:【iOS之UIALogger日志系统】 1、UIALogger是AnimationJS中的日志类,内含8个函数。 2、上半部分函数是一个LOG块,LOG块由logStart发起,由logIssue、logFail或logPass结束。 3、下半部分四个函数用于在logStart块中输出日志。logDebug对应“debug”,logMessage对应“message”,logWarning对应“warning”,logError对应"logError"。 4、LOG块结果级别依次是 pass < warning < error。所以如果一个LOG中同时有这3种类
阅读全文
iOS之AutomationJS
摘要:【iOS之AutomationJS】 1、BrowserJS中没有提供JS互相引用的机制,只能通过HTML元素<script>来互相引用。 2、NodeJS中提供了require机制来互相引用。 3、在iOS AutomationJS中,提供了#import 命令来实现互相引用。
阅读全文
iOS新加速计事件
摘要:【iOS新加速计事件】 1、iOS5.0以前,可以使用UIAcceleration来监听加速计事件。 2、Bug iOS5.0以后,UIAccelerometerDelegate已经被depreacated,如下: deprecated不是说不能说了,而是意味着在将来版本会删除,所以如果不想更新知识的话,就使用UIAccelerometer吧。更保险的方法是使用一个Timer来检查UIAcceleration,即不依赖于此Delegate回调。 3、针对iOS4.0以上版本,推荐使用CMMotionManager来监听加速计事件。涉及到下面几个方法: 4、其实,CMMotion...
阅读全文
iOS之Export UIAutomation script
摘要:【iOS之Export UIAutomation script】To export a script to a file on disk:Open a script in a trace document.Control-click in the content area to display the contextual menu, as shown inFigure 3-5. Attention: Command+S is used to save the whole template. Only use Ctrl+LeftClick will leads to save the js.
阅读全文
plutil检查plist语法
摘要:【plutil检查plist语法】 plutil是从Mac OX10.2开始系统自带的一个工具,用于检测plist语法以及将plist转换成xml、binary、json用。 plutil用法如下:
阅读全文
iOS之Unit-Testing
摘要:【iOS之Unit-Testing】 Unit-testing lets you specify behavior that your code must exhibit to ensure that its functionality remains unchanged as you modify it to, for example, make performance improvements or fix bugs. Aunitof code is the smallest testable component of your code—for example, a method i..
阅读全文
iOS之lipo
摘要:【iOS之lipo】 1、lipo是什么 ? 2、lipo使用案例: 1)-info:仅显示出universal file中的包括的架构信息。 2)-detailed_info:打印出fat_header、fat_arch 3)-thin:取出某个架构 4)-create: 创建universal file 更详细资料参考:https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/lipo.1.html
阅读全文
iOS之Universal Binaries
摘要:【iOS之Universal Binaries】 1、什么是Universal Binaries? 2、fat_header 3、fat_arch 注:cputype、cpusubtype在Mach/machine.h文件中可以查看。使用lipo -detailed_info 可以查看fat_header、fat_arch内容。
阅读全文
Data Management in Quartz 2D
摘要:【Data Management in Quartz 2D】 The preferred way to read and write image data is to use the Image I/O framework. See Image I/O Programming Guide for ...
阅读全文
使用Leaks的一个要点
摘要:【使用Leaks的一个要点】 Leaks的检测是有延时性的,Leaks每隔一个时间间隔检查一次内存泄露。所以不论在调试或单元测试时,程序跑完后,不能立即结果进程,需要留出一些时间等待Leaks进行检测。
阅读全文
MallocDebugging
摘要:【MallocDebugging】 1、libgmalloc中实现了malloc及其它内存相关函数。可用于调试。 2、配置变量 3、Heap Corruption
阅读全文
Finding Leaks Using Instruments
摘要:【Finding Leaks Using Instruments】 The Instruments application can be used to find leaks in both OS X and iPhone applications. 译:Instrument可以检测OSX和iOS程序的内存泄露。 To find leaks, create a new document template in the application and add the Leaks instrument to it. The Leaks instrument provides leak-det...
阅读全文
iOS登陆的实现
摘要:【iOS登陆的实现】 ASSUMPTION: iOS端加载Web页,然后用户输入用户名密码登陆,WebServer会把用户登陆信息记载在Cookie。那么iOS客户端如何取到Cookie中的登陆信息。 1、客户端监听NSHTTPCookieManagerCookiesChangedNotific...
阅读全文
Cocoa设计之TwoStage Creation
摘要:【Cocoa设计之TwoStage Creation】 TwoStage Creation有三个好处: 1、Enable the use of initializers regardless of the way memory is allocated 2、Avoid the need to implement too many initializers when subclassing 3、Simplify the creation and use of temporary instances 个人认为最主要的还是通过拆分分配与初始化,避免了初始化方法的几何增长爆炸。参考《Co...
阅读全文
CocoaMVCOrganization
摘要:【CocoaMVCOrganization】
阅读全文
iOS之在成员函数中使用Block
摘要:【iOS之在成员函数中使用Block】 在Block中使用了成员变量,则self会被retain,使用了self,则self会被retain。正确的做法是: __block typeof(self) tmpSelf = self; 然后在block中使用tmpSelf来访问成员变量或调用self函数。 参考:http://hi.baidu.com/apple_xingpppp/item/8debb830970c136a7d034b72
阅读全文