美文网首页iOS开发技术讨论iOS程序猿
[iOS9适配]-- URL Scheme

[iOS9适配]-- URL Scheme

作者: 程序媛coco | 来源:发表于2015-10-09 16:35 被阅读2355次

在iOS9中,如果使用 canOpenURL: 方法,该方法所涉及到的 URL scheme 必须在"Info.plist"中将它们列为白名单(在iOS9及以前的版本设置的上限50个),否则不能使用。key叫做LSApplicationQueriesSchemes ,键值内容如下:

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>urlscheme</string>
   <string>urlscheme2</string>
   <string>urlscheme3</string>
   <string>urlscheme4</string>
</array> 

So for apps that are linked before iOS 9 and are running on iOS 9, they will be given 50 distinct URL schemes. When you call the subsequent 51st scheme, you will be returned the value no. These 50 URL schemes are not restarted when the user restarts the device.

苹果为什么要这么做?

在 iOS9 之前,你可以使用 canOpenURL: 监测用户手机里到底装没装微信,装没装微博。但是也有一些别有用心的 App ,这些 App 有一张常用 App 的 URL scheme,然后他们会多次调用canOpenURL: 遍历该表,来监测用户手机都装了什么 App ,比如这个用户装了叫“大姨妈”的App,你就可以知道这个用户是女性,你就可以只推给这个用户女性用品的广告。这是侵犯用户隐私的行为。

这也许就是原因。

常见 URL Scheme
如果想一次性集成最常用的微信、新浪微博、QQ、支付宝四者的白名单,则配置如下:

<key>LSApplicationQueriesSchemes</key>
<array> 
<!-- 微信 URL Scheme 白名单--> 
<string>wechat</string> 
<string>weixin</string> 
<!-- 新浪微博 URL Scheme 白名单--> 
<string>sinaweibohd</string> 
<string>sinaweibo</string> 
<string>sinaweibosso</string> 
<string>weibosdk</string> 
<string>weibosdk2.5</string> 
<!-- QQ、Qzone URL Scheme 白名单--> 
<string>mqqapi</string> 
<string>mqq</string> 
<string>mqqOpensdkSSoLogin</string> 
<string>mqqconnect</string> 
<string>mqqopensdkdataline</string> 
<string>mqqopensdkgrouptribeshare</string> 
<string>mqqopensdkfriend</string> 
<string>mqqopensdkapi</string> 
<string>mqqopensdkapiV2</string> 
<string>mqqopensdkapiV3</string> 
<string>mqzoneopensdk</string> 
<string>wtloginmqq</string> 
<string>wtloginmqq2</string> 
<string>mqqwpa</string> 
<string>mqzone</string> 
<string>mqzonev2</string> 
<string>mqzoneshare</string> 
<string>wtloginqzone</string> 
<string>mqzonewx</string> 
<string>mqzoneopensdkapiV2</string> 
<string>mqzoneopensdkapi19</string> 
<string>mqzoneopensdkapi</string> 
<string>mqzoneopensdk</string> 
<!-- 支付宝 URL Scheme 白名单--> 
<string>alipay</string> 
<string>alipayshare</string>
</array>

其他平台可在下面的列表中查询: 各平台OpenURL白名单说明
查询:https://github.com/ChenYilong/iOS9AdaptationTips (摘自此文)

相关文章

  • iOS9 URL Scheme

    # iOS9 URL Scheme --- 在最近iOS9带来的更新中,有一项关于URL Scheme的变化,具体...

  • [iOS9适配]-- URL Scheme

    在iOS9中,如果使用 canOpenURL: 方法,该方法所涉及到的 URL scheme 必须在"Info.p...

  • 常用的scheme

    scheme白名单 iOS9之后,如果使用URL scheme须在"Info.plist"中将你要在外部调用的UR...

  • URL Scheme

    URL Scheme是什么URL Scheme有什么作用URL Scheme怎么使用 URL Scheme是什么 ...

  • JavaScript与Objective-C的互调解决方案

    解决方案: 1.URL Scheme 2.JsBridge 一.URL scheme URL Scheme是UIW...

  • URL Scheme和Universal link

    URL Scheme URL Scheme是苹果为方便app之间互相调用而设计的 URL Scheme的设置 设置...

  • 唤醒APP

    URL Scheme iOS在实际使用中,腾讯系的微信,QQ明确禁止使用,iOS9以后Safari不再支持通过js...

  • iOS-URL Schemes

    Targets: What is a URL scheme? How to set a URL scheme? W...

  • Android Scheme URL 使用方法

    URL Scheme 介绍 URL Scheme是一种页面内跳转协议,通过定义自己的URL Scheme协议,可以...

  • Scheme协议详细介绍

    目录介绍 1.URL Scheme使用场景介绍 2.URL Scheme基础介绍2.1 什么是URL Scheme...

网友评论

  • 奔跑吧小蚂蚁:你是不是有病啊 谁说白名单只能配置50个啊
    奔跑吧小蚂蚁:@Rm1210 你这人时被人家抢了节操啊 说话像吃了屎一样臭 你以为你是什么吊人啊
    程序媛coco:谢谢提醒,具体应该是iOS9及之前的版本是只支持配置50个,已在原文修改~
    Notwol奇想录:不管是不是只能50个,只看出了你有病

本文标题:[iOS9适配]-- URL Scheme

本文链接:https://www.haomeiwen.com/subject/mqsncttx.html