重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
iOS7 Release Note提到的一些变更
成都创新互联是一家专注于成都网站设计、成都做网站与策划设计,大兴网站建设哪家好?成都创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:大兴等地区。大兴做网站价格咨询:028-86922220
看了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]的返回值。