2016-06-22 24 views
13

特定のシナリオでは、パスコード設定ページに移動します。私はそれがアプリを終了させる代わりに、設定のパスコードページに移動しなくなっていますiOSの10のベータバージョンにアップグレードした後iOS 10 beta:URLスキームは機能しませんが、iOS 9で動作します

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=PASSCODE"]]; 

- 以下、このために使用するコードです。

誰でもこれを手伝ってください。前もって感謝します 。

+2

オープニング設定ページは離れて独自のアプリの好みからいくつかの時間のために許可されていません。 iOS 10では、Appleがさらにこの制限を実施しているようです。 – Paulw11

+0

ありがとう、@ Paulw11。私のクライアントがこれを待っているので、私がクライアントに同じことを説明することができるように、これについてさらに詳細を教えていただければ幸いです。 – vijeesh

+1

設定URLはiOS 5.1で削除されました。私はあなたのコードがまったく動いていることに驚いています - http://stackoverflow.com/questions/8246070/ios-launching-settings-restrictions-url-scheme – Paulw11

答えて

11

まだありません。

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]; 
+0

このルールは、私がレビュープロセスでドキュメントを調べたときに私はこれを見つけることができなかったので、私にリンゴレビュープロセスのリンクを送ってください。 – vijeesh

+6

申し訳ありません申し訳ありません、リンクはありません。 App Storeレビューチームは私に電話をかけて説明しました。あなたがしたように、私はルールがどこにあるのか、レビューのガイドラインやどこかに尋ねました。彼らはちょうどそれがルールだと言いました。それはどこにも書かれていないので、私はあなたにそれが新しいルールであることを伝えるために電話をかけます。そして、ルールは公開されません。ところで、それは本当にひどい呼び声でした。「私はそれがルールだから、あなたのお父さんです。 – Croath

+0

ああ、いい古いApple。 – phreakhead

-2

iOS 10では、代わりにopenURL:options:completionHandler:を使用できます。

さらに詳しくは、この記事(openURL Deprecated in iOS 10)をご覧ください。

+0

リンクありがとうございますが、何も解決していないようです – luky

4

環境設定方式では、あなたがこれを使用することができ、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")!) 
} 
関連する問題