在移动开发领域,用于Web开发的工具可以说是不胜枚举,诸如Chrome开发者工具、WebKit Inspector和FireBug这样让人惊奇的调试工具更是数不胜数。但很多开发者特别是iOS开发人员却常常会有这样的疑惑,那就是“为什么我们不能使用这些工具来开发本地应用程序”?
为此,美国著名的移动支付公司Square专门组织iOS开发团队花了将近四个月的时间研究开发出一款用于iOS应用程序的网络调试工具——PonyDebugger。
图:Square公司LOGO
PonyDebugger是什么?
PonyDebugger是一个远程调试工具包,通过使用Chrome开发者工具来调试iOS应用的网络流量和数据存储。同时提供一个iOS客户端库用来调试通过NSURLConnection和其Core Data堆栈发送的数据。
图:PonyDebugger图标
网络调试
PonyDebugger允许用户实时看到应用程序的网络请求,且对网络流量进行安全转发。据Square公司iOS开发团队研究发现,PonyDebugger的网络调试功能对AFNetworking(iOS一个使用很方便的网络开发框架)、Mixpanel(提供实时Web数据分析服务的创业公司)和Flurry(移动应用数据分析公司)的网络请求可以迅速做出反应。
图:网络调试功能演示
Core Data浏览
PonyDebugger另一个很神奇的功能就是它可以对iOS应用程序的核心数据栈进行远程调试。通过注册管理对象,用户可以浏览他们所有的实体、属性,并通过Chrome的IndexedDB浏览器进行数据关系查询。
图:Core Data浏览演示
这一功能最大的优点就是跨越设备限制,可在任意实际设备或虚拟机上进行数据浏览,且不需进行任何数据存储。此外,因为是和NSManagedObjectContext直接交互,所以在追踪内存中的对象存储和SQLite数据库存储(Android数据存储)没有任何区别。
PonyDebugger的名称来源于Square内部的Objective-C网络库PonyExpress。其开发团队表示,研究开发这款工具最初的目的是为了能够对Square的网络流量进行远程调控。但是,好的东西应该大家一起分享,所以Square决定将PonyDebugger开发成为适合所有iOS应用开发的工具,并且其源代码将会对外公开。
网友评论