iOS7 Release Note提到的一些变更
看了Beta版的iOS SDK Release Notes for iOS7.0之后,整理了些对日常工作有点关系的部分内容。
1.网络
从iOS7开始,如果Wifi连接不通的时候,会自动切换成蜂窝网络进行联网!
在iOS7之前,如果手机有连上一个Wifi网络,手机是绝对不可能使用蜂窝网络进行联网的。但以后就会发生改变,所以对于镇内用户,请记得关注你的流量,有可能你以为你在用Wifi,实际上你的流量已经不知不觉飚上去了。
对于开发者而言,以往在下载大流量资源之前,使用SCNetworkReachability等方式判断当前网络制式的方式也不再奏效,因为下载的过程中,网络模式是有可能发生切换的!
解决方案是,iOS7之后,可以使用如下方法来禁止使用蜂窝网络。
-[NSURLRequest setAllowsCellularAccess:false]
2.剪贴板UIPasteboard
UIPasteboard最初被设计就是用于开发者的一组应用间的数据共享,当实际上iOS7之前的UIPasteboard只要应用知道其名字,即可访问其中的内容,而OpenUDID的实现方式也依赖于此,让开发者能使用一组UUID来标记一个设备。
iOS7之后,+[UIPasteboard pasteboardWithName:create:]和+[UIPasteboard pasteboardWithUniqueName]这两个方法产生的UIPasteboard仅供同组应用之间共享数据,也就是Info.plist中CFBundleIdentifier字段的前两段标识(例如com.yourcompany.xx的com.yourcompany)相同的应用才能相互共享数据。不同组应用之间相同名字的UIPasteboard是不同的,而不是以前的同一个。
所以当前版本的OpenUDID随着iOS7的出现也将慢慢失去其效用。
3.设备唯一识别符相关
自从苹果从iOS5开始废弃UDID的使用,到2013年5月禁止UDID的使用之后,iOS7中在对外公开的API中正式移除了-[UIDevice uniqueIdentifier]的方法!
同样,从iOS7开始,通过sysctl和ioctl两个方法取得网卡地址将是固定的02:00:00:00:00:00,而不是真实的网卡地址!
此外,旧有的已上架的应用程序如果调用-[UIDevice uniqueIdentifier]方法,将得到如下值:以FFFFFFFF开头,后面跟上-[UIDevice identifierForVender]的返回值。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。