iOS9应用适配,技Get

iOS9刚发布不久时,app在新的系统中会出现闪退的情况,app就iOS9的适配做了一些修改,以致用户体验性更好。特此做一下的总结和分享。主要从下面几点做的适配。

  • 1.iOS9网络适配ATS-HTTP VS HTTPS
  • 2.Bitcode
  • 3.iOS9 URL Scheme 适配_引入白名单概念
  • 4.字体间隙变大导致 UI 显示异常
  • 5.地理位置
  • 6.状态栏
  • 7.联系人框架--Contacts VS AddressBook

iOS9网络适配-HTTP VS HTTPS

  • ATS——App Transport Security
  • 为了强制增强数据访问安全, iOS9 默认会把 所有的http请求 所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求为了强制增强数据访问安全, iOS9 默认会把 所有的http请求 所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求
  • 解决方案1:立即让公司的服务端升级使用TLS 1.2,以解析相关数据
  • 解决方案2:虽Apple不建议,但可通过在 Info.plist 中声明,倒退回不安全的网络请求依然能让App访问指定http,甚至任意的http

Bitcode

  • 未来Watch应用须包含Bitcode,iOS不强制,但Xcode7默认会开启Bitcode。
  • bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化程序的二进制文件,而不需要重新提交一个新的版本到App store上。当提交程序到App store上时,Xcode会将程序编译为一个中间表现形式(bitcode)。然后App store会再将这个bitcode编译为可执行的64位或32位程序。

iOS9 URL Scheme 适配_引入白名单概念

字体间隙变大导致 UI 显示异常

  • iOS8中,字体是Helvetica,中文的字体有点类似于“华文细黑”。只是苹果手机自带渲染,所以看上去可能比普通的华文细黑要美观。iOS9中,中文系统字体变为了专为中国设计的“苹方” 有点类似于一种word字体“幼圆”。字体有轻微的加粗效果,并且最关键的是字体间隙变大了!
  • 解决方案:使用sizetofit 或者ios向上取整 ceilf() 或者提前计算
  • CGSize size = [title sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:14.0f]}];
  • CGSize adjustedSize = CGSizeMake(ceilf(size.width), ceilf(size.height));

地理位置

  • 适配iOS9,同一App中的多个location manager:一些只能在前台定位,另一些可在后台定位,并可随时开启或者关闭特定location manager的后台定位。
  • _locationManager = [[CLLocationManager alloc] init];
  • _locationManager.allowsBackgroundLocationUpdates = YES;

状态栏

  • Xcode 升级后,旧的状态栏的样式设置方式会引起警告设置, app 的状态栏样式的时候,使用了旧的方式,在 info.plist 里面的 View controller-based status bar appearance 默认会为 YES,即使不设置也是 YES,但一般 iOS6 的时候为了设置状态栏样式,需要将其设为NO,iOS7,8也兼容,但是到了iOS9 就会报警告。
  • [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
  • 解决方案:对于原有的OldApi进行替换,在rootViewController以及自定义的基类Navi gationController中的类中重写如下方法即可。对于特殊界面做单独处理;
  • -(UIStatusBarStyle)preferredStatusBarStyle
  • {return UIStatusBarStyleLightContent;}

联系人框架--Contacts VS AddressBook

  iOS 9 中,苹果介绍了新的 Contacts framework。允许用户使用 Objective-C 的 API 和设备的通讯录进行交互,同样适用于 Swift 语言。比起之前通过 AddressBook framework 来读取联系人信息来说,这是一个巨大的进步。

优点:获取数据更加快捷,效率性能更高,且方便调用;

时间: 2024-10-17 13:31:07

iOS9应用适配,技Get的相关文章

iOS9网络适配(ATS)

[转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, p

ios9+xcode7 适配笔记

升级了xcode7,最近ios9上马,又到了草泥马的时间,apple开放团队每次系统更新,都是无数个草泥马的适配夜晚,现在ios9上线以前的app竟然启动crash,这是要闹哪样. 1.微信和微博的sdk得更新了,现在最新的sdk覆盖即可 2.enable  bitcode 设置为no吧,不然真没别的办法 3.info.plist增加LSApplicationQueriesSchemes 和NSAppTransportSecurity设置,这个设置网上已出,就不copy了 ps:用jpush的估

B17-iOS9的适配相关

1.警告directory not found for option问题 ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks' 出现原因是因为Xcode7将framwo

iOS9.0适配

一.网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSURLConnection.CFURL和NSURLSession发出的http请求,都改为https请求.由于AFNetworking版本底层是用了NSURLConnection,所以使用AFNetworking的app都将受到影响.对于这个问题的解决办法有三种,一:让服务器更新,使用https,以解析相

iOS9网络适配_ATS:改用更安全的HTTPS

iOS9AdaptationTips iOS9适配系列教程[中文在页面下方] (截至2015年9月3日共有6篇,后续还将持续更新.更多iOS开发干货,欢迎关注 微博@iOS程序犭袁) For more infomation ,welcome to follow my twitter English 1. Demo1_You'd better Convert HTTP to HTTPS How to deal with the SSL in iOS9,One solution is to do l

iOS9网络适配

今天升级Xcode7.0,发现网络访问失败. 输出错误信息:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. Google后查证,iOS9引入了新特性App Transport Security (ATS).新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL

iOS9新特性及适配教程

iOS9网络适配_ATS:改用更安全的HTTPS(见Demo1)iOS9新特性_更灵活的后台定位(见Demo2)(网址:https://github.com/ChenYilong/iOS9AdaptationTips) WHAT(什么是SSL/TLS?跟HTTP和HTTPS有什么关系) WHY(以前的HTTP不是也能用吗?为什么要用SSL/TLS?Apple是不是又在反人类?) HOW(如何适配?---弱弱地问下:加班要多久?) 第1种情况:HTTPS Only (只有HTTPS,所有情况下都使

iOS9适配系列教程

链接地址:http://www.open-open.com/lib/view/open1443194127763.html 中文快速导航: iOS9网络适配_ATS:改用更安全的HTTPS(见Demo1) WHAT(什么是SSL/TLS?跟HTTP和HTTPS有什么关系) WHY(以前的HTTP不是也能用吗?为什么要用SSL/TLS?Apple是不是又在反人类?) HOW(如何适配?---弱弱地问下:加班要多久?) 第1种情况:HTTPS Only (只有HTTPS,所有情况下都使用ATS) 第

iOS9 新特性总结!!!

#iOS9 新特新介绍 ##一. UIStackView * 新控件:UIStackView 栈视图, 类似AppleWatch的Group * 父类:UIView * 特点: 1. 只能垂直或水平散列,因此不能完全取代Autolayout 2. 能够快速的按顺序获取到子控件 3. 批量修改间距更快 4. 批量修改对齐方式更快 *应用场景: 1. 水平-标签/自定义TabBar 2. 垂直-设置菜单 ##二. SafariServices '' SFSafariViewController *s