英文原文:Things I wish I had known before starting iOS development-----CocoaChina原创翻译 Debugging 毋庸置疑,你在开发应用的过程中一定会遇到很多错误和异常。比如,你会遇到NSInvalidArgumentException,遇到NSInternalInconsistencyException,还会遇到“0xfaded322”这种错误代码。有时候你可以在Stack Overflow或Quora上找到答案,但大部分时候你得自力更生。 Xcode具有断点、视图调试和日志的功能,是debug的不二之选。但毕竟孤掌难鸣,你仍需为它找些得力的帮手。 1.Pony Debugger
square/PonyDebugger:PonyDebugger - 使用Chrome Developer Tools,为你的native iOS应用进行远程网络和数据调试。
square开发了这个强大的开源工具。它是一个远程调试工具,类似于客户端库和网关服务器的结合体。它在web浏览器上使用Chrome Developer Tools,对应用的网络流量和数据存储进行调试。作为一个强大的网络调试器,PonyDebugger允许用户实时查看应用的网络请求。它还有另一个酷酷的功能,就是可以远程调试iOS应用的核心数据栈。 2.Cocoa Lumberjack
CocoaLumberjack:CocoaLumberjack - 快速、简单,强大、灵活。它就是CocoaLumberjack, 一款好用的Mac和iOS日志框架。
CocoaLumberjack,它快速、简单,强大、灵活,是一款好用的Mac和iOS日志框架。如果你想找一款强大的日志工具,希望它具有自定义格式化这样的炫酷功能,那CocoaLumberjack就是你的菜。 3.Reveal App
Reveal:Reveal - iOS应用的runtime视图调试。 虽然视图调试已经被引入iOS,但Reveal无疑在调试的细节方面更加强大。它是收费应用,但绝对物有所值。它有一些非常好用的功能,如Auto Layout Inspection。 4.OHHTTPStubs
AliSoftware/OHHTTPStubs:OHHTTPStubs - 轻松stub你的网络请求。以虚拟网络数据测试你的应用,可自定义响应时间…… OHHTTPStubs库可以轻松stub你的网络请求。它可以帮助你: - 使用伪造的网络数据(stubbed from file)测试你的应用,并模拟慢速网络以检查应用在网络不良情况下的表现。
- 从设备中获得伪造的网络数据,用于写单元测试。
数据存储 可能大多数应用都需要将各种任务的数据存储在本地。数据存储是一个复杂的话题。它有很多选择,每个选择都对应一种情况。但我很喜欢Stack Overflow上的一种法则,用它来选择数据存储方式就很不错。 - 若数据完全匹配内存且相对非结构化,则使用plist
- 若数据完全匹配内存且具有树状结构,则使用XML
- 若数据与内存不匹配且具有图形结构,同时应用不需要额外的查询能力,则使用Core Data
- 如果数据与内存不匹配且具有复杂结构,或应用需要关系数据库提供的强查询能力,则使用sqlite
- 如果数据必须保密(例如密码),则使用keychain。
下面列了一些数据存储方面的库,或许对大家有帮助。 FMDB
ccgus/fmdb:fmdb - 围绕SQLite建立的Cocoa / Objective-C的wrapper 如果你在项目中使用SQLite,此wrapper库会使你的工作变简单。 SSFKeychain
soffes/sskeychain:sskeychain - 简单的Objective-C wrapper,Mac和iOS上的keychain可以使用 要在应用中存储敏感数据,你必须时刻使用keychain。这个库可以简化使用keychain数据存储的过程。 Magical Record MagicalRecord - 轻松管理Core Data Core data非常难于管理。而这个库可以让你舒爽地管理Core Data。
|