zoukankan      html  css  js  c++  java
  • 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必读)/

      

  • 相关阅读:
    《三体》推荐
    低调做人,高调做事
    注意力的培养是学校教学的真正目的
    【RTP.NET入门系列 一】接收第一个RTP包。
    MapX开发日记(三)GPS项目终于有了眉头
    【RTP.NET入门系列 二】接收第一个RTP帧。
    10.04 flash 乱码 问题
    10.04 中文输入发问题。
    通过值类型进行Timer类的线程的同步。
    关于ManualResetEvent信号机制。
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5015889.html
Copyright © 2011-2022 走看看