iOS 适配iOS9

1、网络接口不支持https协议,在iOS9下

 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。

 解决方案(以下方法2选1):

(1)暂时退回到http协议

具体方法:

在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。

然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;

2016.01.06更新:

随着SDK版本的更新,这里需要以下更新。

具体方法:

在项目的info.plist中添加一个Key:App Transport Security Settings,类型为字典类型。

然后给它添加一个Key:Allow Arbitrary Loads,类型为Boolean类型,值为YES;

如图:

(2)设置域。

可以简单理解成,把不支持https协议的接口设置成http的接口。

具体方法:

1)、在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。

2)、然后给它添加一个NSExceptionDomains,类型为字典类型;

3)、把需要的支持的域添加給NSExceptionDomains。其中域作为Key,类型为字典类型。

4)、每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。

均为Boolean类型,值分别为YES、NO、YES。

2、大部分社交平台SDK不支持bitcode。

问题描述:iOS 9新建项目默认需要支持bitcode,而不支持bitcode的SDK会导致无法编译运行。

解决方案:

(1)暂时关闭对bitcode的支持(建议),方法如下图

(2)移除不支持bitcode的平台SDK。

3、添加Scheme白名单。

问题描述:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单。

具体方法:

1)在项目的info.plist中添加一LSApplicationQueriesSchemes,类型为Array。

2)然后给它添加一个需要支持的项目,类型为字符串类型;

参考链接:http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/

  

时间: 2024-10-16 05:16:22

iOS 适配iOS9的相关文章

适配IOS9.0的那些坑!(主要说明ios9.0,64位设备,打开应用闪退的问题)

我平时的主要工作是维护公司的sdk,最近为了适配ios9.0可谓伤透了心.下面给大家分享下我这几天适配ios9.0遇到的一些问题和解决方法 希望能够帮助到大家,如果有错误的地方,还请大家能够多多指教. 首先,遇到比较多的问题,ChenYilong已经在cocoachina中讲得非常详细了,链接: http://www.cocoachina.com/ios/20150703/12392.html 非常感谢他,让我少走了很多弯路. 其次,是我遇到的两个问题,在网上没有找到相应的解释: 一.一些应用在

Masonry记录——iOS适配

Masonry是iOS适配的第三方库,比较好用的一个,本人用的也不多,简单了解一些常用的方法,自己学习中,记录下来共勉. Masonry下载地址:https://github.com/SnapKit/Masonry 示例一:View居中处理 不管什么情况下,view都处于居中状态 __weak typeof(self) weakSelf = self; UIView * view = [UIView new]; view.backgroundColor = [UIColor redColor];

cocos2dx 2.2.5 CCEditBox IOS 适配问题

最近做着CCEditBox 时,发现点击后,里面的文字没有适配的 今天比较,所以解决一下这个问题 找到CCEditBox点击时响应的函数是  CCEditBoxImplIOS::openKeyboard 我们可以看看这个函数写了什么: -(void) openKeyboard { [[EAGLView sharedEGLView] addSubview:textField_];   // 添加 作为 subView [textField_ becomeFirstResponder]; } 完全没

iOS开发 怎么适配iOS9

现在已经是8月份了,9月份苹果马上就要发布iOS9了.那么问题来了,iOS9发布之后,公司在App Store上的应用能否在iOS9上正常运行,为了证实这个东西,我特地在虚拟机上把开发环境升级到Xcode7和iOS9,当然电脑操作系统是需要 相应升级的,升级完之后,果断发现,之前公司的应用在iOS9上竟然无法连接网络获取数据了. 恩恩,如果你不想等发布会那天,正在兴致勃勃地吐槽新苹果怎么怎么牛掰的时候,突然被老板叼整个应用都没法用了的话,就马上修改你的App吧,修改起来很简单,因为我已经跟服务器

iOS 适配/ autoLayout基本知识

适配历史 iPhone3GS.iPhone4\4s:没有屏幕适配最早开发里面的程序全部都是写死的iPad 旋转出来之后 Autoresizing问世iPhone5\5c\5s兼容各种不同的情况 系统适配 ios版本适配ios6 7 8 9 屏幕适配 iPhone3.5 4.0 4.7 5.5 iPad 7.9 9.7 开发面向点去开发 5s = 320 * 480 6 = 375 * 667 6p = 414 * 736autoResizing 必须关闭autolayout.sizeclass才

适配IOS9中间遇到的一些问题

1 directory not found for option问题 警告如下: ld: warning: directory not found for option ‘-F/Applications/Xcode 7.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks’ 问题原因:Xcode7将fr

项目适配iOS9遇到的一些问题及解决办法

1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. 原因:iOS9引入了新特性App Transport Security (ATS).详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议

IOS 适配的几种模式

1.尺寸适配  1.原因  iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不再单独占用高度,即View的(0,0)坐标是从屏幕左上角开始的:而在iOS7之前的系统中,导航栏和状态栏单独占用高度,即View的(0,0)的坐标从导航栏下面开始的. 解决方案: 1> 修改window的frame坐标 这个思路是在iOS7系统里面把windows下拉20个pixel,这样可以让开status bar的位置,于是一切都恢复了正常. 好处是不用每个viewCont

ios 适配 (字体 以及 控件)

ios 字体适配 先看市面上iPhone4.5.6/6p的分辨率: iphone4 : 点数: 320x480 pt 渲染像素: 640x960 px 屏幕分辨率:640x960 px iphone5: 点数: 320x568 pt 渲染像素: 640x1136 px 屏幕分辨率:640x1136 px iphone6: 点数: 375x667 pt 渲染像素: 750x1334 px 屏幕分辨率:750x1134 px iphone6plus: 点数: 414x736 pt 渲染像素: 124