iOS 10 beta:URL 方案不起作用但在 iOS 9 中有效
iOS 10 beta: URL scheme is not working but works in iOS 9
在一个特定场景中,我将用户带到密码设置页面。下面是用于此的代码 -
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=PASSCODE"]];
升级到 iOS 10 测试版后,我不再进入设置密码页面,而是终止了应用程序。
谁能帮我解决这个问题。提前致谢。
还没办法。
在 iOS 10 beta 1 发布前大约 1 个月,我的应用程序因打开 Preference.app URL 而被拒绝。应用审核团队给我打了一个 phone 电话来解释它:现在不允许这样做,原因是:使用私有 API。只允许打开当前应用程序的设置页面(UIApplicationOpenSettingsURLString)。
所以现在他们拒绝我的原因真的很有意义了。因为从iOS 10.
开始就没人能打开系统设置了
2016 年 12 月 8 日的更新答案:
使用私有 API(不要将带有这些代码的应用程序提交到 App Store):
@interface PrivateApi_LSApplicationWorkspace
- (BOOL)openSensitiveURL:(id)arg1 withOptions:(id)arg2;
@end
PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
BOOL result = (BOOL)[_workspace openSensitiveURL:[NSURL URLWithString:@"Prefs:root=YOURSETTINGURLHERE"] withOptions:nil];
在 iOS 10 上,您可以使用 openURL:options:completionHandler:
代替;
您还可以查看这篇文章(openURL Deprecated in iOS 10)了解更多详情。
首选项方案已在 iOS 10 上更改,您可以使用它:
if #available(iOS 10.0, *) {
UIApplication.shared.open(URL.init(string:"App-Prefs:root= PASSCODE")!, options: [UIApplicationOpenURLOptionUniversalLinksOnly:true], completionHandler:{(success: Bool?) -> Void in}})
} else {
// Fallback on earlier versions
UIApplication.shared.openURL(URL.init(string:"Prefs:root= PASSCODE")!)
}
在一个特定场景中,我将用户带到密码设置页面。下面是用于此的代码 -
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=PASSCODE"]];
升级到 iOS 10 测试版后,我不再进入设置密码页面,而是终止了应用程序。
谁能帮我解决这个问题。提前致谢。
还没办法。
在 iOS 10 beta 1 发布前大约 1 个月,我的应用程序因打开 Preference.app URL 而被拒绝。应用审核团队给我打了一个 phone 电话来解释它:现在不允许这样做,原因是:使用私有 API。只允许打开当前应用程序的设置页面(UIApplicationOpenSettingsURLString)。
所以现在他们拒绝我的原因真的很有意义了。因为从iOS 10.
开始就没人能打开系统设置了2016 年 12 月 8 日的更新答案:
使用私有 API(不要将带有这些代码的应用程序提交到 App Store):
@interface PrivateApi_LSApplicationWorkspace
- (BOOL)openSensitiveURL:(id)arg1 withOptions:(id)arg2;
@end
PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
BOOL result = (BOOL)[_workspace openSensitiveURL:[NSURL URLWithString:@"Prefs:root=YOURSETTINGURLHERE"] withOptions:nil];
在 iOS 10 上,您可以使用 openURL:options:completionHandler:
代替;
您还可以查看这篇文章(openURL Deprecated in iOS 10)了解更多详情。
首选项方案已在 iOS 10 上更改,您可以使用它:
if #available(iOS 10.0, *) {
UIApplication.shared.open(URL.init(string:"App-Prefs:root= PASSCODE")!, options: [UIApplicationOpenURLOptionUniversalLinksOnly:true], completionHandler:{(success: Bool?) -> Void in}})
} else {
// Fallback on earlier versions
UIApplication.shared.openURL(URL.init(string:"Prefs:root= PASSCODE")!)
}