iOS 10设置的自定义URL方案?

问题描述:

任何想法iOS 10上设置的自定义URL方案发生了什么? 苹果仍在继续使用第三方应用程序通过iOS10上的URL方案从应用程序启动iOS设置?旧的URL方案不再适用了!iOS 10设置的自定义URL方案?

无8+正式通过苹果的支持,所以很遗憾,我们不能依靠他们。在App Store审查期间,即使其他人已被批准,即使同一个应用程序先前已被批准,也可能会拒绝依赖无证行为的应用程序!

我已经无法或者发现任何解决方法,这样看来你的选择是:

  1. 打开应用程序特定的URL(详见很多地方,包括@阿尔文 - Varghese表示的回答以上),然后要求用户向后导航。 (可怕的用户体验,因为它涉及用户知道从应用列表滚动到主要设置部分)。

  2. 在您的应用中使用教学屏幕或提醒来教育用户如何自己找到它。 (也好不了多少,但至少不会落入没有任何路标不熟悉的情况下。)

似乎有不为使这种情况发生在IOS 10的官方支持的方式,和你指出,它似乎是旧的方式(将prefs方案添加到Info.plist文件并使用openURL(_:))不再有效。

+0

你好!您是否知道企业应用非公开方式创建“深度快捷方式”? – user3191334

+0

FWIW,“App-Prefs:root”的URL字符串向Settings应用程序的主视图(而不是您的应用程序的设置页面)打开。不太理想,但要求用户首先点击“后退”按钮。 –

+0

更新:我现在可以按照下面的Vandit Mehta的指示直接打开设置应用到特定页面。 (基本上,在应用程序的plist中为您的URL方案添加“prefs”;请参阅下面的内容。) –

使用这个,它的工作原理。为开展根“设置”对iOS应用上述方法

if let url = URL(string: UIApplicationOpenSettingsURLString) { 
    UIApplication.shared().open(url, options: [:], completionHandler: nil) 
} 
+0

嗨Alvin,我问的是如何开启以前工作的Wifi或Cellular之类的iOS设置:prefs:root = General&path = About但它不再适用于iOS 10 –

+0

我认为它们仍然可以使用扩展。前应用程序是Appstore中的“Magic Launcher”。 – Trident

从iOS的10有些事情已经改变,

所以,像蓝牙,你需要写下面的代码行,

雨燕3.0:

func openBluetoothSettings(){ 
     let urlBTSet = URL(string: "App-Prefs:root=Bluetooth") 
     let objApp = UIApplication.shared 
     objApp.openURL(urlBTSet!) 
    } 

的Objective-C

-(void) openBluetoothSettings{ 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=Bluetooth"]]; 
} 

所以,在上面的代码中他们已经改变了字符串需要广告d “的App-偏好设置:根=蓝牙”(打开蓝牙设置这个例子)

不要忘了: '转到taget - >信息 - > URL类型 - >添加 “首选项” 中的URL方案'

+0

我试过了你的字符串,它不适合我(蓝牙页面未打开)。但是,它确实在其主页中启动了设置应用程序。在某些情况下,这比打开应用的设置页面更好。 –

+1

你正在使用iOS 10及以上版本进行测试吗?并在迅速或客观的? –

+0

iOS 10,Swift 3.0。它仍然适合你吗? –