このアラートを発行したい:
Turn On Location Services to allow maps to determine your location
「マップ」アプリケーションとまったく同じように、「設定」と「キャンセル」の両方が必要です。
「設定」は、設定 - >一般 - >位置情報サービスを開く必要があります
設定ページを開く方法が見つかりませんでした。
手伝って頂けますか?
ありがとう
このアラートを発行したい:
Turn On Location Services to allow maps to determine your location
「マップ」アプリケーションとまったく同じように、「設定」と「キャンセル」の両方が必要です。
「設定」は、設定 - >一般 - >位置情報サービスを開く必要があります
設定ページを開く方法が見つかりませんでした。
手伝って頂けますか?
ありがとう
アラートの作成は非常に簡単です。これは単なる (偽の) モーダル UIView です。
ただし、設定アプリをプログラムで開くことはできません。少なくとも、アプリが App Store で承認されるのを防ぐプライベート メソッドを使用しない限りは不可能です。
一般、場所などの特定の設定ページを開くことはできませんが、iOS 8 では設定ページを開くことができます。
- (void)openSettings
{
BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);
if (canOpenSettings)
{
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];
}
}
これは、自分で達成することはできません。ただし、アプリケーションが位置情報サービスにアクセスする必要がある場合、OS は以下のようなダイアログを表示します。
編集: ブラント氏は、「CLLocationManager の目的プロパティの値を設定することで、メッセージをカスタマイズできる」と述べています。
スウィフト 2.0 バージョン:
func showLocationSettingAlert() {
let alertController = UIAlertController(
title: "Location Access Disabled",
message: "Location settings",
preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
alertController.addAction(cancelAction)
let openAction = UIAlertAction(title: "Open Settings", style: .Default) { (action) in
if let url = NSURL(string:UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(url)
}
}
alertController.addAction(openAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
それはあなたが追加するものではありません。この画面は、アプリケーションがロケーションサービスを使用したいが、設定でオフになっている場合に表示されます。
同じことがプッシュ通知でも起こります。
現時点では、設定ペインをプログラムで開くことはできません。こちらを参照してください。
他の人が言ったように、App Store でアプリが必要な場合、プログラムで設定アプリを開くことはできません。
このポップアップは、位置情報サービスなどの特定の機能をサポートして使用している場合、アプリの起動時に自動的に「生成」されます。
このサービスの詳細については、リファレンス ライブラリ ( https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=CoreLocation ) を参照してください。