用 Instruments 来分析 iPhone 应用程序

注意哦, 这里说的不是你自己的应用, 那个太简单容易了, 没什么挑战, 不值得在这里写一篇 blog.

目标: 用 Instruments 来 profiling 第三方的应用, 没有源码的, 只有 binary 的.

Apple 在系统中对 Instruments 运行有一个限制: 在碰到使用 distributed certificate 做 codesign 的 app, 不予运行, 直接 kill 9.

所以, 我们需要有一个可用的 developer certificate. 然后就很简单了.

codesign -fs "iPhone Developer: Holly Lee" --resource-ruls ResourceRules.plist --entitlements Entitlements.xml AppBinary

好了之后放入 iPhone 里覆盖原来的 binary, 然后运行 Instruments 选择该 app 就行了.

当然, 默认的前提是: iPhone 需要 jailbroken 先.

iPhone 4: 轮回

轮回的意思就是说: 风水轮流转. 硬件完了换软件, 软件完了再换硬件. 就象我的 MBP, 用了三年过保了得换新的了; 三年里面呢, 从 Tiger 升到了 Leopard, 更不用说两个小数点后面的版本升级了. 看看 iPhone, 轨迹完全一样, 正好整三年.

一是 Apple 自己的产品换代规律起了作用. 2007 年的 iPhone 一代, 400MHz 的 ARM11, 128M 内存, 480×320 的分辨率, GPU, Multi-touch, Accelerometer, 从硬件上一举树立了新一代智能手机的标准. 然后 2008 的 3G, 纯粹就是软件的事了, GPS 和 3G 支持都算不了什么, 开放 SDK 以及 AppStore 才是大事, 然后到了 2009 年, 尽管 3GS 增强了 CPU 加到了 256M 内存, 那不过是小修小补. 软件上, 总算有了鼓吹良久的 push notification, 感觉却也后继乏力. 于是理所当然, 又该换成硬件登场了.

二来也是因为外部压力实在重大. 在这个三年里, 别的厂商也不会闲着啊. 硬件好办啊, 往上堆就是了. 这个难不住他们, 软件才是老大难. 幸亏有 Google 舍得砸钱, 大家有 android 可用了, 于是乎各种恐龙级别的手机纷纷出笼. iPhone 在 2007 年树立的标准自然也显得落后了. Apple 岂是甘于人下者? 况且软件功能上的领先眼看着也快被赶上了, 硬件的全面更新自然是必需的了.

这么一来, iPhone 4 的硬件配置自然又成了下一个 3 年的智能手机的参考标准了. 看着好了, 接下来 1GHz Cortex-A8 + 256M 内存 + 三轴陀螺仪 + 前后摄像头 这种配置的手机会有一大批的.

我会去买一个 iPhone 4, 以代替我那用了三年了的 iPhone 一代. 我想, 像我这一类的应该很多.