ある特定のシナリオでは、ユーザーをパスコード設定ページに誘導しています。以下は、これに使用されるコードです-
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=PASSCODE"]];
iOS 10 ベータ版にアップグレードした後、設定パスコード ページが表示されなくなり、代わりにアプリが終了します。
誰でもこれで私を助けてくれませんか。前もって感謝します 。
ある特定のシナリオでは、ユーザーをパスコード設定ページに誘導しています。以下は、これに使用されるコードです-
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=PASSCODE"]];
iOS 10 ベータ版にアップグレードした後、設定パスコード ページが表示されなくなり、代わりにアプリが終了します。
誰でもこれで私を助けてくれませんか。前もって感謝します 。
まさか。
iOS 10 ベータ 1 がリリースされる約 1 か月前に、私のアプリは Preference.app URL を開いたために拒否されました。アプリのレビュー チームから電話で説明がありました。現在、プライベート 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 で設定スキームが変更されました。これを使用できます。
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")!)
}