如何在iOS 9.0中避免由openURL触发的“想要打开”对话框

我使用openURL从应用程序A打开应用程序B,我得到这个提醒对话框“应用程序A想打开应用程序B”,两个按钮“打开”和“取消”.

如果我按“取消”,应用程序B将不会打开,对话框将再次出现.

如果我按“打开”,应用程序B将打开,对话框将不再出现.

我想以某种方式使它似乎没有开始.我想知道如果有一个密钥,我应该添加到应用程序A的info.plist,以便在执行openURL到应用程序B时跳过对话框步骤.

有任何想法吗?

更新:

检查后,我无法为我的问题提出解决方案.看起来这个对话框将会出现.我希望苹果会添加自动处理的选项,就好像这两个应用都是我的,逻辑上,不应该有任何对话来确认它们之间的切换…

解决方法

http://www.macstories.net/linked/ios-9-bringing-changes-to-url-schemes/

Starting on iOS 9,apps will have to declare what URL schemes they would like to be able to check for and open in the configuration files of the app as it is submitted to Apple. This is essentially a whitelist that can only be changed or added to by submitting an update to Apple.

由于用户隐私,openURL / canopenURL在iOS9中发生了变化.我建议你阅读http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

第一次根据其他许可请求请求许可时,用户现在将看到此提示.这是一个操作系统更改,包括核心应用程序(如消息)的应用程序在第一次打开自定义URL方案时会要求许可.

您也可以使用Universal Links – https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12来实现您尝试做的工作

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...