在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。还可能造成我们的编辑界面里传http之类的网络图片的时候,我们的编辑界面不会显示图片截图,解决的办法或者全面关闭https,允许使用http请求;或者把图片的域添加;又或者选择使用https的图片。#
解决方案(以下方法2选1):
1. 暂时退回到http协议。
具体方法:
在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。
然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;
751FEFB8-86A2-45EC-8F61-A1A5081C5465.png
2. 设置域。可以简单理解成,把不支持https协议的接口设置成http的接口。
具体方法:
1)、在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。
2)、然后给它添加一个NSExceptionDomains,类型为字典类型;
3)、把需要的支持的域添加給NSExceptionDomains。其中域作为 Key,类型为字典类型。
4)、每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。
均为Boolean类型,值分别为YES、NO、YES。
B4CB0038-520E-4E1A-BDD1-C5AB8627F770.png
细节提示:在iOS9中如果使用到网络图片,也要注意网络图片是否是HTTP的哦,如果是,也要把图片的域设置哦!
各平台设置域 |
各平台设置域 |
新浪微博 |
|
|
weibo.com |
|
weibo.cn |
|
sina.com.cn |
|
|
腾讯微博/微信/QQ/QZone |
|
|
qq.com |
|
|
人人 |
|
|
renren.com |
|
|
开心网 |
|
|
kaixin001.com/kaixin001.com.cn |
|
|
有道 |
|
|
youdao.com |
|
|
Facebook |
|
|
facebook.com |
|
fbcdn.net |
|
akamaihd.net |
|
|
Twitter |
|
|
twitter.com |
|
|
Instagram |
|
|
instagram.com |
|
instagramstatic-a.akamaihd.net |
|
|
Tumblr |
|
|
tumblr.com |
|
|
Instapaper |
|
|
instapaper.com |
|
|
Kakao |
|
kakao.com |
|
|
|
|
|
|
|
以下app为无须配置名单 |
以下app为无须配置名单 |
易信 |
|
豆瓣 |
|
Google+ |
|
Pinterest |
|
明道 |
|
Evernote印象笔记 |
|
VK |
|
pocket |
|
LinkedIn |
|
Dropbox |
|
Flickr |
. |
小部分社交平台SDK不支持bitcode。
问题描述:iOS 9新建项目默认需要支持bitcode,而不支持bitcode的SDK会导致无法编译运行。
支持bitcode :
1、微信SDK
2、QQ SDK
3、新浪微博SDK
4、支付宝SDK
5、Kakao SDK
6、Facebook Messenger
不支持bitcode:
1、易信 SDK
2、人人 SDK
不支持 bitcode 的 SDK 解决方案:
(1)、暂时关闭对bitcode的支持(建议),方法如下图
(2)、移除不支持bitcode的平台SDK。
3148F4FF-C428-4DF7-81DE-01BCCF44FF63.png
添加Scheme白名单#
问题描述:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单。
具体方法:
1)、在项目的info.plist中添加一LSApplicationQueriesSchemes,类型为Array。
2)、然后给它添加一个需要支持的项目,类型为字符串类型;
FBEF076A-611A-4B43-B8A9-F1825CC08FDA.png
各平台OpenURL白名单说明 |
各平台OpenURL白名单说明 |
新浪微博 |
|
|
sinaweibo |
|
sinaweibohd |
|
sinaweibosso |
|
sinaweibohdsso |
|
weibosdk |
|
weibosdk2.5 |
|
[后两个若导入新浪SDK则需要] |
|
|
腾讯微博 |
|
|
TencentWeibo |
|
tencentweiboSdkv2 |
|
[控制台会提示这两个,但是腾讯微博SDK已经弃用,可以忽略不配置] |
|
|
微信 |
|
|
wechat |
|
weixin |
|
|
易信 |
|
|
yixin |
|
yixinopenapi |
|
|
支付宝 |
|
|
alipay |
|
alipayshare |
|
|
QQ |
|
|
mqqOpensdkSSoLogin |
|
mqqopensdkapiV2 |
|
mqqopensdkapiV3 |
|
wtloginmqq2 |
|
mqq |
|
mqqapi |
|
|
QZONE |
|
|
mqzoneopensdk |
|
mqzoneopensdkapi |
|
mqzoneopensdkapi19 |
|
mqzoneopensdkapiV2 |
|
mqqOpensdkSSoLogin |
|
mqqopensdkapiV2 |
|
mqqopensdkapiV3 |
|
wtloginmqq2 |
|
mqqapi |
|
mqqwpa |
|
mqzone |
|
mqq |
|
[注:若同时使用QQ和QZONE,则直接添加本格即可] |
|
|
Google+ |
|
|
googlechrome |
|
googlechrome-x-callback |
|
hasgplus4 |
|
com.google.gppconsent |
|
com.google.gppconsent.2.2.0 |
|
com.google.gppconsent.2.3.0 |
|
com.google.gppconsent.2.4.0 |
|
com.google.gppconsent.2.4.1 |
|
|
人人网 |
|
|
renrenapi |
|
renrenios |
|
renreniphone |
|
renren |
|
|
Facebook |
|
|
fbauth2 |
|
|
Pocket |
|
|
pocket-oauth-v1 |
|
|
Pinterest |
|
|
pinit |
|
|
Instagram |
|
|
instagram |
|
|
WhatsApp |
|
|
whatsapp |
|
|
Line |
|
|
line |
|
|
KakaoTalk |
|
|
kakaolink |
|
|
KaokaoStory |
|
|
storylink |
|
|
|
|
|
|
以下app为无须配置名单 |
以下app为无须配置名单 |
豆瓣 |
|
开心网 |
|
Twitter |
|
LinkedIn |
|
Tumblr |
|
非平台类,如短信,复制,邮件等 |
. |
必看注意:
1.在iOS9中,如果没有添加上述白名单,系统会打印类似如下提示:
-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “This app is not allowed to query for scheme sinaweibohdsso”(如下图)
如没有添加相关白名单,有可能导致不会跳转微信,不会跳转QQ等。
2.添加完上述所需的名单,系统依然会打印类似信息:
-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “null”
这是系统打印的信息,目前是无法阻止其打印,即无法消除的
如果没有设置白名单的话,系统的打印信息如图所示:
屏幕快照-2015-09-17-下午7.03.30.png
添加完后,系统是依然会打印的,不过error会变成null:
屏幕快照-2015-09-17-下午7.03.36.png
如果各位开发者朋友发现上表格有所遗漏,请根据系统信息添加相关白名单即可。也请顺便通知本人,本人会进行添加更新
网友评论