苹果iOS系统不越狱为什么还是会程序闪退?未越狱的iPhone,如果安装来自第三方的程序,那么每一个程序都会在iPhone里生成一个“描述文件”,这个描述文件就是证书,iPA安装到iOS设备上就必须被签名,在网上下载的iPA都是由苹果签名的,但苹果为了使开发者在Apple Store上架软件前自行调试软件,允许被开发者证书签名的iPA可以不越狱直接被安装在iOS设备上。
所以,这类第三方软件除了会用到一些正规的企业分享的账号外,提供的软件都是自己重签名的,签名所需要的是一个开发者证书,并且当一个被开发证书的ipa安装之后有一定的有效期,这些证书的有效期大部分都可以用半年到一年的时间,过期后就无法使用,比如出现软件闪退,要求你输入Apple ID和密码的情况。
而正确的输入自己的账号密码后,系统依然会要求你继续输入,这是因为此时系统所需要的并不是你的账号密码,而是签名软件的开发者的账号密码,而一些第三方平台所提供的闪退修复就是对程序重新签名,延长有效期而已。
苹果对此也是知晓的,也一定有治本方法,不过苹果没有选择一劳永逸的策略,而是采用封禁企业证书、开发者账号的方法,因此我们看到,很多我们通过第三方平台安装的“免费正版”软件都经常会失效,出现闪退、需要输入Apple ID等情况,这时我们再点击闪退修复,所谓的闪退修复工具就会为大家的应用更换开发者证书进行重新签名,实现续期的目的。
目前来看,类似的第三方平台应该就是用了这样的手段为非越狱iPhone手机安装正版软件,当然,也不排除另一种可能性,如果大家有关注盗版iOS软件安装的,应该知道之前有一种方法可以通过修改硬盘的序列号来欺骗iTunes,实现同步其他帐号下载的正版软件到你的iOS设备的目的。
苹果最初的政策是一个ID最多可以授权5台电脑,可以授权无数台iOS设备,对于5台电脑的限制,一般都是通过硬盘序列号扫瞄来确认的,而对iOS设备数量则没有任何限制。所以这类第三方平台的原理,可能是通过技术手段为每个用户修改,或虚拟出一个相同的硬盘序列号。然后利用被授权的电脑再取得一个公共ID的授权。最后,再把用公共ID购买过的App安装到某iOS设备中。
虽然也可能存在这种情况,不过相比之下小编还是更偏向前面的推测,毕竟相比之下,面对iOS的闭源环境,前面的原理更好实现一些。
|