iOS9问题备忘

来源:互联网 发布:人工智能etf 编辑:程序博客网 时间:2024/05/16 10:13
iOS9.0升级后,相应的APP作如下修改
1:info.plist中增加:
NSAppTransportSecurity类型Dictionary
在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设置为YES
原因是iOS9引入了新特性App Transport Security(ATS),新特性要求APP内访问的网络必须使用HTTPS协议

为了兼容HTTP协议,需如上步骤进行配置;(偷的图)


2:设置域。可以简单理解成,把不支持https协议的接口设置成http的接口
在Info.plist中添加一个Key: NSAppTransportSecurity,类型为Dictionary
在NSAppTransportSecurity下,添加一个:NSExceptionDomains属性,类型为字典类型;
把需要支持的域添加给NSExceptionDomains。其中域作为Key,类型为Dictionary
在每个域下面需设置三个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads 类型均为Boolean,值分别为YES、NO、YES


细节提示:
在iOS9中如果使用到网络图片,也要注意网络图片时否是HTTP的,如果是也需要把图片的域设置

以下为各平台域:
新浪微博:weibo.com  weibo.cn  sina.com.cn
腾讯微博:qq.com
微信:qq.com
QQ/QZone:qq.com



3: 设置白名单URL scheme
在iOS9中,在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单;
如下内容:
LSApplicationQueriesSchemes类型NSArray
然后给添加一个需要支持的项目,类型为字符串类型

各平台OpenURL白名单说明:
新浪微博:sinaweibo,sinaweibohd,sinaweibosso,sinaweibohdsso,weibosdk,
weibosdk2.5 (后两个若导入新浪SDK则需要)
腾讯微博:TencentWeibo,tencentweiboSdkv2
微信:wechat,weixin
支付宝:alipay,alipayshare
QQ:mqqOpensdkSSoLogin,mqqopensdkapiV2,mqqopensdkapiV3,wtloginmqq2,mqq
mqqapi
QZONE:mqzoneopensdk,mqzoneopensdkapi,mqzoneopensdkapi19,mqzoneopensdkapiV2,mqqOpensdkSSoLogin,mqqopensdkapiV2,mqqopensdkapiV3,wtloginmqq2,mqqapi,mqqwpa,mqzone,
mqq (若同时使用QQ及QZONE,则直接添加QZONE的即可)

4:涉及到NSKeyedUnarchiver的操作,需要判断下内容是否为nil,如果为nil则不要进行NSKeyedUnarchiver的相关操作


5:Bitcode
  未来Watch应用须包含Bi 听从的,iOS不强制,但Xcode7默认会开启Bitcode;
 须在Build Setttings中关闭Bitcode


6:在iOS9下,新浪微博SDK里面使用的JSONKit在部分机型可能导致崩溃。崩溃信息如下图。
解决:暂时移除新浪微博SDK,等待新浪微博SDK的更新。


影响:移除新浪微博SDK后,除了依赖SDK实现的跳到客户端的分享和关注官网微博等失效。其他主要功能如分享、SSO、获取用户资料等不受影响。


7:XCode 7上传遇到ERROR ITMS-90535 Unexpected CFBundleExecutable Key. 的解决办法
点击打开链接

0 0