乱搞胡闹瞎几把扯系列(URL)

一些写给自己看的辣鸡总结(关于openURL)



iOS 9 以上出现的canOpenURL问题

在iOS9之前大体上都是直接进行调用就能得到手机中是否已经装有某app否的结果。但是在iOS9之后出现了白名单存在,大体要求如下:

如使用xcode 7 以上编译工程时,需要在plist文件中添加LSApplicationQueriesSchemes描述字段属性为Array。且数量约束为50个。

xcode7以下就只能自求多福了,因为没有字段存在的原因,但是限制依然存在。手机app太多的话可能就可能注册不上。


iOS10 调用openURL出现的严重延迟问题

在iOS10 之后苹果新开了一个方法如图:(下面都是非正版API官翻)


iOS10 后的新方法

(有点苦逼的是,原先版本连个警告都没有,倒也是省去了写代码减去这些警告的过程)

这个地方有个东西让我很感兴趣就是这个asynchronously,我不知道是出于一个什么样的想法要凸显这个吗 ? 目前还没有什么办法能得到这个东西的莫些结论和事情,先且不表。


URL:

在iOS9 以后出现了一个新的东西universal links。(这里先提一下)

这个URL所标识的资源可能是这个app的本地资源,当然也有可能是别的不同的app提供的资源。UIKit框架支持多种常见的协议体系,比如常见的http、https、tel、facetime 以及mailto这些协议体系。当然你也可以使用你手机所安装的手机app定制的自定义的URL协议体系。 (顺带一提上面的那种问题需要注意:--------iOS 9 以上出现的canOpenURL问题 )


options:

这个字典中包含的是打开URL使用的字典选项列表,当前只有一中键值

唯一键值

在默认的时候这个键值是NO,如果你要是想使用前面提到的universal links 那么这里可以设置为YES。这里先不提。


completionHandler:

这里是执行结果的块。如果你想获得打开这个URL是成功还是失败,那就为这个块的参数提供一个BOOL值。这个块会在主线程中异步进行。并且不需要任何的返回值,且会给你返回一个数值:

success  一个用来标示你此次打开的URL是否成功 。或许那个异步就是说明这里但是总感觉哪里不对。


描述

使用这个方法打开一个特定的资源,如果这个资源是由一个另外的app所持有的,iOS系统将会启动那个app并将URL传递给他。(当然启动会直接使这个App进入前台),但是如果没能找到一个aoo来处理这个事情的话 那就会调用回调块并返回NO。

如果你想确认是否存在一个app能够处理这个URL,你可以在调用这个方法前调用canOpenURL:方法。但是请务必保证你以及阅读过canOpenURL:这个方法的说明以保证你对于采用这种的协议有所了解。


canOpenURL:

这个方法会返回一个BOOL值,这个BOOL值会表示你的设备上是否存在一些可以处理这个URL的应用。(如果有很多个会怎么样呢 等有空来搞一下)


参数URL:

这特码就是个URL,在运行时的时候系统会去试这个URL来确定这个URL是不是被设备上一个或者多个app注册处理这种URL协议,当然你可以有多个app都注册这个协议。同时这个URL也并不会阻止你使用系统app的一些协议如tel等。

要注意的是如果你没有在plist中添加白名单列表也是会给你NO,即使你确实装了能处理这种协议的app。当然你没装的话 那就妥妥的是NO。


重点来了

如果这个方法(不知道是啥方法的 你不会让我再在这个地方再打一次方法吧?)返回了YES,那么恭喜你iOS系统能够向你担保你如果在这个之后就开启这个一样的URL至少能保证一定有一个能够处理这个URL的app来响应你, 并处理你的URL。但是这个返回值并不是说你要的东西就一定存在,或者说这个URL就一定是合法正确的。就好像啊你说戒色大师,本人按照多年摸爬滚打的经验告诉你少林寺可能知道有没有这个人,但是我只是告诉你少林寺知道,具体这个人是不是真的有我是真不晓得。虽然贫僧戒色。。。

如果你的app是搭建在iOS9.0 及其之后版本的设备上,那么你就必须要声明URL schemes以保障你这个方法的返回是正常的。所以请你在plist中添加LSApplicationQueriesSchemes关键字。但是如果你看到这里还是选择不加关键字或者你没看的时候没有加,就去调用这个方法。那么恭喜你不管你到底装了没有那都是给你NO,不服?(这里苹果API又叫你去看一个新的东西 老套路了)如果你的app是处于一个早期版本但是有时在9.0之后的版本运行的,辣么你就能调用这个方法50次。之后呢 那就一直是NO,当然这个时候你会发现重装和更新又能让你的app可以再请求50次。

这也就是因为没看啊 一开始哎返回的好像是正确的╮(╯▽╰)╭

哎看来网上的都是危言耸听,知道有一天你们老板用吃人的眼神看着你。

━((*′д`)爻(′д`*))━!!!! 你就夭寿了。

悲伤辣莫大 _(:з」∠)_

当然你可以不管啊反正openURL不吃这一套。

---------------------------这里开始非正版官翻没有了----------------------


开始研究为啥

研究个屁啊 妈个蛋蛋 等有空再说 说好的技术贴变成翻译帖了。郁闷( ˇˍˇ )

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容

  • 很可能你的应用是与一个支持HTTPS传输数据的服务器交互,但是并没有使用TLS 1.2或更高。在这种情况下,你定义...
    Www刘阅读 3,072评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,673评论 18 139
  • 我对“是否安装某App”问题的第一反应是,调用系统UIApplication对象的实例方法canOpenURL:来...
    Jacob_LJ阅读 5,144评论 2 3
  • 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),一种[排...
    王然Gondole阅读 497评论 0 0
  • 我站在兴安岭的高岗上,把目光投向河对岸那片广袤无垠的黑土地,那片曾经属于中国的国土。 透过这边的铁丝网,可以看见对...
    阳光之翼阅读 1,339评论 2 8