自从iPhone OS 3.0发布以来,我就没有因为有push功能而爽过……越狱+无激活的iPhone无法实现应用程序的push,gmail的sync也不支持push(最近几个月才开始支持,小爽)。

后来devteam出了pushfix,包含nimble和inject程序,然而对很多人来说没办法用。原因后面说。我从cydia安装了一个很方便的版本,当时push成功过几次,以为爽了,可是很快我就发现大问题了:经常push不到……于是不再理它,也没把push关掉。再后来,更大的问题出现:别人的消息push给我了,还不少……无奈,把push关了。(原因是很多人用一个cert)

国庆节假期,闲,想找事情干,搞定push的念头又出现了,看了不少文章,一无所获。上周,再次看了很多文章,大有收获,于是自己开始研究……
我把同学的iPod Touch借来,取出keychain.db。放到自己的iPhone上,失败。
后来想取出其中的cert。当时傻啊,不知道是sqlite格式的,花费了约一个半小时才明白然后打开。打开后很无语,不少乱码……把几个字段搞的iPhone的同名文件中,再次失败。
后来想到仔细研究下pushfix的说明,找到了一直被我忽略的东西:nimble是运行在能push的机子上,取得cert用的……内牛+狂骂自己:当时怎么就看不懂那些英文,浪费多少时间啊!英文真的太重要了……要好好学英语啊!!!
同学的iPod Touch已不在手中,尝试将touch的keychain.db的cert用nimble导出,又失败了哎。对被我改得乱七八糟的keychain.db进行同样操作,得到cert,可是有些怪异,不管,用得到的cert来进行inject生成keychain.db,又失败啦哈哈……失败了这么多次,有经验了,我认为我离成功不远了,再在touch上运行nimble应该能成功。
昨天再次借到touch,操作成功,激动啊,马上进行inject操作。重启、重装支持push的程序,用notifyme测试,成功!今天再次测试,100%成功,真的爽啦~(若不是手机上网流量用光,生日前两天停机至昨天,昨天就能进行今天的测试了,然后写文章了……)

太激动太激动了……走了多少弯路啊,最后我得到两点启示:1,英语真有用;2,要成为devteam不是这么简单的,你想到的他们99%想到过并否定了。
(notifyme可能由于其服务器问题总要延迟2~3分钟,im类软件如beejive无延迟)