iOS系统的推送功能虽然看上去比较不起眼,但却有大用处,因为iPhone手机和iPad平板电脑上接收到的大量客户端信息都是由推送功能来提醒用户的。但推送功能的失灵却是苹果用户们面临的一个大问题。不过,相信大家看完下边的文章,就不会再为推送功能失灵而烦恼了。
推送不简单
QQ消息不提醒了,微信语音只有进入程序后才能看到,各种邮件、新浪微博、人人网神马的更是没有消息提醒……iPhone、iPad、iTouch从此变得静悄悄。这种情况实际上是因为大家的推送功能失效。对于大多数用户而言,推送功能都是非常重要的,相信大家都不愿意漏掉朋友发来的信息或者是重要的邮件吧。推送看上去虽然只是个小功能,但却有相当大的作用,同时在技术层面上也蛮复杂的。下边就以iPhone为例,为大家简单讲解下吧(搞明白iPhone,其他设备的原理也是一样)。
首先,我们来看看推送的整个过程吧。例如微信,首先与用户聊微信的人传来的信息会在微信的服务器做信息定向,把消息和目的iPhone的标识打包,然后发给APNS(Apple Push Notification Service,即Apple Push推送服务器)。然后APNS在自身已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到这台iPhone上。最后,iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出推送通知。
正是有了上边的这个看上去有点小复杂的过程,所以推送是需要认证的。iPhone在开启推送功能的时候,会连接APNS形成一条TLS(Transport Layer Security传输层安全)加密链接。每台正常的iPhone都有一个独有的设备证书(Unique Device Certificate),而APNS也有一个服务器证书。二者成立的时候,会验证彼此的证书有效性。TLS链接一旦成立,推送即可生效。如因为意外原因导致链接中断,iPhone会不断重新尝试成立TLS链接,直至成功。不过,APNS判断推送消息该发给哪台iPhone的依据是一个“目的iPhone的标识”,这个标识就是Device Token(设备标识)。而它则是每次成立TLS连接时,APNS通过每台正常的iPhone唯一的设备证书,并用标识密钥(Token Key)加密生成的。总的来说,要想推送功能生效,那就得保证iPhone上边的设备证书和标识密钥有效。
修复推送 深入有锁版重灾区
拜苹果的封闭式iOS操作系统所赐,推送功能失效,多数情况下与刷机、越狱有关。用户的iPhone 4手机连接到iTunes上正常激活即可获得有效设备证书。不过价廉物美的有锁版iPhone 4却有些另类,因为它在升级iOS系统时需要保留基带(关于保留基带请参考《数码生活》2012年2月刊),同时需要使用捆绑合约公司SIM卡,也就是我们常说的“原卡”,才能正常激活使用,所以在没有“原卡”的情况下更新系统后需要先越狱进入到iOS系统,然后再通过软件或卡贴解锁。而一旦越狱,iPhone 4就跳过了正常激活的步骤,设备证书也就随之失效了,进而导致设备无法再实现推送功能。所以,有锁版iPhone 4也是推送功能失效的重灾区。
软解锁用户首选工具——SAM
软解锁是最方便的解锁办法,因为只需要在越狱之后,在Cydia中查找安装类似Ultrasn0w的解锁工具,即可通过iPhone 4手机基带的漏洞,注入代码,骗过基带,让非绑定的SIM正常识别、工作了。不过,越狱、解锁成功后,我们的手机原有的设备证书同样是无法生效的,这就需要SAM这款软件了。
SAM可以将用户的手机设置成未激活状态,然后将用户的SIM卡模拟为“原卡”,欺骗iTunes激活获取证书,从而修复推送功能,方法其实也并不太难。用户需要在Cydia上添加“http://repo.bingner.com”软件源,而后搜索并安装SAM。安装好重启手机之后,SAM就会出现在iPhone 4的设置菜单中,然后就可以进行操作了。
首先,在不连接电脑的情况下,在SAM菜单里的Ulities中,点击Revert Lockdownd to Stock(还原未锁定),成功后在More Information中的ActivationState(激活状况)中会显示“Unactivated”,即未激活状态。这个步骤就是让用户的手机进入未激活的状态。而后点击Method(SIM模式),选择“By Bundle Name(捆绑运营商名称)”,接着在“Bundle(捆绑运营商)”菜单里就可以选择运营商了。不同国家和运营商的iPhone 4手机在这里都能看到,手头这台有锁版iPhone 4手机是美国AT&T公司的,直接打钩即可,而后勾选SIM ID,国内绝大部分美版和日版有锁iPhone 4的SIM ID都是31050或31070。全部填写完后,More Information菜单中的ActivationState就会变成WildcardActivated(通用卡激活)。接着保持页面停留在More Information选项内,然后在电脑上打开iTunes,再用数据线将手机连接到电脑上,此时iTunes会显示“正在访问iTunes Store”的进度条,显示约3秒后,按下手机上More Information选项内“Spoof Real SIM to SAM”即可骗过iTunes,让手机获得有效的设备证书,从而成功修复推送功能。
卡贴用户 原卡必备
相信绝大多数有锁版iPhone 4用户使用的都是卡贴解锁(2012年1月的杂志曾对此有较为详细的介绍),因为相对于软解锁而言,卡贴解锁的适用范围更大(目前使用最多GEVEY卡贴可解锁较新的04.10.01基带)。而对于卡贴用户而言,所谓的“原卡”绝对是必备的,而且这种原卡的价格其实也并不高,一般淘宝上价格在20元以内,只是用户需要准确了解手机的国家和绑定公司名称(通过手机的IMEI码可以查到)。
使用SAM最大的好处就是让用户在推送功能失效状态下,不必重新刷机,同时也不用购买解锁“原卡”,更可以摆脱解锁卡贴,通过几步操作即可轻松让有锁版iPhone 4的推送功能得到完美的修复。不过这个方法也会受到基带和解锁软件的限制。因为如果是近期购买有锁版iPhone 4的用户,他们的系统有可能是4.3.5甚至更新版的iOS系统,此前我们曾经介绍过了4.3.5版的iOS自带的基带版本为04.10.01,而最新的Ultrasn0w却无法对该版本的基带解锁,用户只能使用卡贴解锁。而经过实验证明,SAM目前最新的版本对于使用卡贴解锁的iPhone 4是无效的。
因此,SAM更适用于基带版本较老的保基带升级的iPhone 4。而基带较新的有锁版iPhone 4则最好借助“原卡”。
原卡到手之后,只需要正常刷机,然后插上原卡正常激活即可,具体方法如下。刷机过程介绍就先跳过了,因为之前我们已经无数次为大家介绍过。刷完系统后,咱的苹果会提示“No SIM Card Installed”,这时候可以先不管它,直接跳过后选择语言,再装入事先准备的“原卡”,选择国家“中国”,并启动定位服务,接着输入WiFi密码上网,然后就开始激活了。激活完成后,还需要做几步设置。千万记住要选择“设置为新的iPhone”,如果用户选择从备份中恢复的话,那么有可能推送协议会失败。而接下来的设置就无足轻重了,“使用iCloud”、使用“查找我的iPhone”等等直接打钩,然后选下一步后,就可以“开始使用iPhone了”。进入系统后,需要换下之前的“原卡”,然后把我们自己使用的电话卡用卡贴套好,装上之后打112解锁,然后才能正常的打电话。
原卡修复操作步骤相对简单。但是最麻烦的是一旦关机后,就需要重新解锁,而且特定环境的手机信号也非常差。通过上两种方式激活以后,用户的iPhone或者是其他苹果设备信息推送功能都能够完全恢复正常,而且不会出现“跑流量”、耗电量大等问题。网上也有一些其他的办法,例如很多网友提供了自制已激活设备证书的下载地址,用户只要下载证书,并在越狱后使用iFunBox将证书粘贴到自己手机的证书目录里即可。这种方法虽然有用,但因为证书的来源问题,有时候会出现几个用户下载使用了相同证书的情况,这下就麻烦了,因为一个用户的信息将会推送给一起使用一个证书的N个用户那里,出现“乱推”现象。所以,有锁版的各位用户还是老老实实使用上面两种最成熟的办法吧。
原卡到手之后,只需要正常刷机,然后插上原卡正常激活即可,具体方法如下。刷机过程介绍就先跳过了,因为之前我们已经无数次为大家介绍过。刷完系统后,咱的苹果会提示“No SIM Card Installed”,这时候可以先不管它,直接跳过后选择语言,再装入事先准备的“原卡”,选择国家“中国”,并启动定位服务,接着输入WiFi密码上网,然后就开始激活了。激活完成后,还需要做几步设置。千万记住要选择“设置为新的iPhone”,如果用户选择从备份中恢复的话,那么有可能推送协议会失败。而接下来的设置就无足轻重了,“使用iCloud”、使用“查找我的iPhone”等等直接打钩,然后选下一步后,就可以“开始使用iPhone了”。进入系统后,需要换下之前的“原卡”,然后把我们自己使用的电话卡用卡贴套好,装上之后打112解锁,然后才能正常的打电话。
原卡修复操作步骤相对简单。但是最麻烦的是一旦关机后,就需要重新解锁,而且特定环境的手机信号也非常差。通过上两种方式激活以后,用户的iPhone或者是其他苹果设备信息推送功能都能够完全恢复正常,而且不会出现“跑流量”、耗电量大等问题。网上也有一些其他的办法,例如很多网友提供了自制已激活设备证书的下载地址,用户只要下载证书,并在越狱后使用iFunBox将证书粘贴到自己手机的证书目录里即可。这种方法虽然有用,但因为证书的来源问题,有时候会出现几个用户下载使用了相同证书的情况,这下就麻烦了,因为一个用户的信息将会推送给一起使用一个证书的N个用户那里,出现“乱推”现象。所以,有锁版的各位用户还是老老实实使用上面两种最成熟的办法吧。