web-dev-qa-db-ja.com

アプリケーションのデフォルトのiOSローカル通知スタイルを設定します

IOS 5以降では、バナーとアラート(「古い」スタイル)の2つの通知スタイルがあります。ユーザーは、設定で各アプリケーションに使用するスタイルを設定できます。ただし、デフォルトでは通知はバナースタイルで表示されるようになりました。

「今」起こるイベントについてのリマインダーにローカル通知を使用しています。バナーは表示された直後に消えます(そして、タップできるかどうかは明らかではありません)。したがって、これらの通知については、ユーザーがアクション(無視または移動)を決定するまで画面に表示されるアラートスタイルの通知が望ましいです。アプリへ)。

コードを使用する方法と、たとえばInfo.plistエントリは、デフォルトでアラートスタイルの通知を使用する必要があることをiOSに通知します(ユーザーが他に何かを構成していない限り)。

更新:情報/ドキュメントの不在では、これを解決するのに十分ではありません。権限のある人(Appleの従業員、またはErica Sadunに沿った人)からのフォーラム/ブログの投稿のようなものは不可能だと言って欲しいか、可能なら解決策が欲しい。 "設定の変更をユーザーに求める"のような回避策でも十分ではありません。

37
DarkDust

TSIを開いたので、何かを追加したいと思います。どういうわけか、これについて尋ねると回答されました。クイン「エスキモー!」から:

「これはあなた次第です。UILocalNotificationプロパティ(alertBody、soundNameなど)の設定方法に基づいて、通知の表示方法をある程度制御できます。ただし、これらのプロパティの方法については、解釈されます(ユーザーが[設定]> [通知]でカスタマイズできるもの)、これらはユーザー設定であり、APIを介して公開されません。」

20
IBG

この機能も必要なアラームアプリがあります。 iOS5では、ユーザーが別のアプリを使用しているときにオフになった場合、バナーが表示されます。その結果、解決策を探すのに多くの時間を費やした。

しかし、私が恐れているUILocalNotificationによって生成されたアラートのスタイルを制御することはできません:(

クラス参照から、それに対する規定がないことがわかります。

http://developer.Apple.com/library/IOs/#documentation/iPhone/Reference/UILocalNotification_Class/Reference/Reference.html

または、plistで:

http://developer.Apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

最善の方法は、設定を変更するためにユーザーに何をすべきかを伝えることです。

16
tarmes

おそらくここで仲間から「権威」を見つけることはないでしょう。Appleに直接聞いたほうがいいでしょう。そして質問はすでに彼らのフォーラムで何度か尋ねられており、答えられていません...

HIGプログラミングガイド- http://developer.Apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/TechnologyUsage/TechnologyUsage.html#//Apple_ref/doc/uid/TP40006556-CH18- SW1 -

「ローカルまたはプッシュ通知をサポートするiOSアプリは、ユーザーの好みに応じてさまざまな方法で通知センターに参加できます。」

その最後の文は、私が見つけた唯一の「信頼できるヒント」です。

ユーザーの設定<=ユーザーを強制することはできません(の設定)。限目。この設計上の選択は、明らかにApple Way(アプリケーションの遊び場IS制限、可能な限り最高のユーザーエクスペリエンスを確保するため))

より多くの権限について...多分叫ぶ?

通知表示スタイルを選択することはできません、それはユーザーの選択です

冗談です...とにかく、回避策は、アプリケーションにヒント/チュートリアルを提供して、ユーザーが自分でアラートスタイルを変更できるようにすることです...

幸運を !

11
Vinzzz

明らかに、あなたは答えに対してノーと聞くのは好きではありませんが、ノーです。

4
David Dunham

この行を使用して、通知スタイルの現在の設定を照会できます。

UIRemoteNotificationType* enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

enabledTypesを確認してから、設定で通知スタイルを変更するようユーザーに指示できます。

0
voyager