11

このアラートを発行したい:

Turn On Location Services to allow maps to determine your location

「マップ」アプリケーションとまったく同じように、「設定」と「キャンセル」の両方が必要です。

「設定」は、設定 - >一般 - >位置情報サービスを開く必要があります

設定ページを開く方法が見つかりませんでした。

手伝って頂けますか?

ありがとう

4

7 に答える 7

14

アラートの作成は非常に簡単です。これは単なる (偽の) モーダル UIView です。

ただし、設定アプリをプログラムで開くことはできません。少なくとも、アプリが App Store で承認されるのを防ぐプライベート メソッドを使用しない限りは不可能です。

于 2010-12-03T02:13:01.943 に答える
6

一般、場所などの特定の設定ページを開くことはできませんが、iOS 8 では設定ページを開くことができます。

  - (void)openSettings
  {
      BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);
      if (canOpenSettings)
      {
          NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
          [[UIApplication sharedApplication] openURL:url];
      }
  }
于 2015-05-11T11:15:33.160 に答える
6

これは、自分で達成することはできません。ただし、アプリケーションが位置情報サービスにアクセスする必要がある場合、OS は以下のようなダイアログを表示します。

編集: ブラント氏は、「CLLocationManager の目的プロパティの値を設定することで、メッセージをカスタマイズできる」と述べています。

代替テキスト

于 2010-12-09T07:47:14.840 に答える
3

スウィフト 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)
}
于 2015-11-15T19:07:14.173 に答える
2

それはあなたが追加するものではありません。この画面は、アプリケーションがロケーションサービスを使用したいが、設定でオフになっている場合に表示されます。

同じことがプッシュ通知でも起こります。

于 2010-12-08T11:42:54.060 に答える
2

現時点では、設定ペインをプログラムで開くことはできません。こちらを参照してください。

于 2010-12-03T02:23:17.550 に答える
1

他の人が言ったように、App Store でアプリが必要な場合、プログラムで設定アプリを開くことはできません。
このポップアップは、位置情報サービスなどの特定の機能をサポートして使用している場合、アプリの起動時に自動的に「生成」されます。
このサービスの詳細については、リファレンス ライブラリ ( https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=CoreLocation ) を参照してください。

于 2010-12-09T15:46:10.257 に答える