5

iPhoneアプリの位置情報サービスリクエストに苦労しています。ユーザーが「許可しない」と言うと、私は「このアプリケーションには作業するために位置情報サービスが必要です」というメッセージが表示されます...iPhoneアプリの位置情報サービスを再度有効にする

位置情報サービスを再申請しようとする試みは、ここに積み重ねると証言できる。

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

しかし、たとえそれが動作するようには思えない(iPhone 4:

は、それから私は、ロケーションサービスを再度有効にする唯一の方法は、これを使用してロケーションサービスの設定にユーザーをリダイレクトするようにしたことを読んでと4S、両方の5.1)

本当に他の方法はありますか?ユーザーに環境設定に行き、彼を案内すること以外は本当ですか?それは私にとってはとてもかわいいようです。

+0

iOS 5.1でprefs:へのリダイレクトを使用しました。しかしAppleはそれを正式にサポートしていないので、とにかくちょっとハックしていた。 –

+0

ええ、私もhttp://www.alexcurylo.com/blog/2011/11/04/settings-urls/を読んだことがありますが、私は彼らが流れ... –

答えて

2

ユーザーがロケーションサービスをオフにした場合、ユーザーに再度オンにするように指示する方法はありません。

リダイレクトできますが、これはiOS 5.0でのみ可能です。あなたは次のようにすることができます:

NSURL *prefsURL = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; 

if ([[UIApplication sharedApplication] canOpenURL:prefsURL]) { 
    [[UIApplication sharedApplication] openURL:prefsURL]; 
} else { 
    // Can't redirect user to settings, display alert view 
    UIAlertView *alertView = .... 

} 
+0

@ Nils Munchさんが追加したブログのエントリー(http://www.alexcurylo.com/blog/2011/11/04/settings-urls/)によれば、この機能を使用することで人々はアプリを拒否したと言われています。私はそれをお勧めしません.. –

+1

真、私は上記を使用するストア内のアプリに持っている必要があります。しかし、まだ更新が含まれていると、更新が拒否される可能性があります。 – rckoenes

+0

悲しいが真実... –

関連する問題