2

私のアプリは次のような通知を登録します:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];

しかし、手動で通知設定に移動し、すべて (通知センター、アラート、サウンド、バッジ) を無効にしてから、アプリをアンインストールして再インストール (または、最初にアンインストールせずに再インストール) すると、iPhone は古い設定を保持します。再インストール時にこれらの設定を強制的に再アクティブ化するにはどうすればよいですか?

4

3 に答える 3

18

できません。iOS 5.0には、URLスキームを介してアプリケーションから通知設定ページ(または任意の設定ページ)を開くための文書化されていない機能がありました。次に、通知を有効にするようにユーザーに依頼できます。しかし、それは5.1で削除され、とにかくAppleによって受け入れられないでしょう。

registerForRemoteNotificationTypesアプリケーションからの通知を最初に呼び出したときにのみ受け入れるかどうかをユーザーに尋ねます。後でユーザーが通知設定を変更した場合、それ以上通知を要求することはありません。アプリケーションで通知が有効になっているかどうかを確認しenabledRemoteNotificationTypes、必要に応じてユーザーに警告することができますが、ユーザーは手動で設定に移動して再度有効にする必要があります。アプリケーションからはこれ以上実行できません。

iOS8.0以降の更新

iOS 8.0から、Appleはアプリのシステム設定ページを開く可能性を返しました。

NSURL* settingsURL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:settingsURL];
于 2012-04-05T09:58:58.887 に答える
1

プッシュ通知のアクセス許可をリセットする必要があります。Apple はアクセス許可をリセットする方法を提供しています。

iOS でのプッシュ通知のアクセス許可アラートのリセット

初めてプッシュ対応アプリケーションがプッシュ通知に登録します。iOS は、その特定のアプリのリモート通知を受け取りたいかどうかをユーザーに尋ねます。ユーザーがこのアラートに応答すると、デバイスが復元されるか、アプリが少なくとも 1 日アンインストールされない限り、何度も表示されることはありません。

アプリの初回実行をシミュレートする場合は、アプリを 1 日アンインストールしたままにしておくことができます。次の手順に従って、実際に 1 日も待たずに後者を達成できます。

1.Delete your app from the device.
2.Turn the device off completely and turn it back on.
3.Go to Settings > General > Date & Time and set the date ahead a day or more.
4.Turn the device off completely again and turn it back on.

詳細については、https ://developer.apple.com/library/ios/technotes/tn2265/_index.html を参照してください。

于 2014-06-19T10:15:55.127 に答える
0

デバイスの日付を現在の日付から 1 日または 2 日後に変更してみてください。場合によっては、デバイスのキーチェーンに保存され、1 ~ 2 日間保存されます。カレンダーと場所の許可の場合はうまくいきました。

于 2014-10-29T10:28:48.840 に答える