以下URL在iOS 8.3及更低版本上打开,但在iOS 9和iOS 9上不起作用
let instagramURL = NSURL(string: "instagram://app")
为什么URL打不开?
以下URL在iOS 8.3及更低版本上打开,但在iOS 9和iOS 9上不起作用
let instagramURL = NSURL(string: "instagram://app")
为什么URL打不开?
iOS 9对URL方案的处理做了一个小小的改变.你必须将你的应用程序使用Info.plist
中的LSApplicationQueriesSchemes
键调出的url列入白名单.
请看这里的帖子:http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes
主要结论是:
如果您对不在白名单中的URL调用"canOpenURL"方法,它将返回"no",即使安装了已注册处理此方案的应用程序也是如此.将出现"此应用程序不允许查询方案xxx"的系统日志(log)条目.
如果您对不在白名单中的URL调用"openURL"方法,它将以静默方式失败.将出现"此应用程序不允许查询方案xxx"的系统日志(log)条目.
作者还推测,这是操作系统的一个缺陷,苹果将在后续版本中修复.