0
let types: UIUserNotificationType = [.alert, .sound, .badge, .none] 
let settings = UIUserNotificationSettings(forTypes: types, categories: nil) 
application.registerUserNotificationSettings(settings) 

またはthisコード:ここで、通知には何も使用されていませんか?

guard let settings = UIApplication.sharedApplication().currentUserNotificationSettings() where settings.types != .None else {} 

ないことの意味を理解する方法がわから、あなたはそれのために登録した場合、明らかに、あなたはあなたの設定種類の中からそれを持っているでしょう...

私はherehereを読みましたが、それを理解することはできません。それに関する文書も見つかりませんでした。けれども、私は+コマンド時にそれをクリックしてこう述べています。

アプリケーションが

を受信して​​、通知時に任意のUIを提示しないことがあり、それが通知を受信すると、ユーザが実行できることを意味するために使用されます何もない?それはどうやって登録すべきなのですか?これに登録しないと何がうまくいかないでしょうか?

答えて

1

.noneはゼロオプションに過ぎず、.alertでも.soundでも.badgeでもありません。いずれのオプションも欠けているほど、オプションではありません。

あなたは明らかに、.noneためレジスタにコードを記述する必要はありません。しかし、ユーザ設定では、アラートの表示、バッジの追加、サウンド再生の機能を完全にオフに設定し、これを伝えて確認する方法が必要です。

.none(ゼロオプション)は、Swift 3では名前でインポートされません。単に空のセット[]に相当します。 (そして、いずれにしても、UIUserNotificationTypeはiOS 10で廃止されました)

+0

私はちょうどその質問を編集しました。私はこのようなコードを見たので、設定/タイプに '.none'を含めるのは意味がありません?そして、[this](http://stackoverflow.com/questions/26051950/check-if-local-notifications-are-enabled-in-ios-8#comment45823384_26052687)のコメントによれば**価値があるようです**登録のために – Honey

+0

いいえ、私は '.none'について語る最初のコードはばかだと思います。実行時の動作には何の影響もありません。このような馬鹿馬鹿は、ゼロオプションの名前が消された理由です。 – matt

+0

これを見る別の方法があります。これはセットです。 '.none'は空のセットです。あなたの高校の数学を覚えていますか?空のセットは、すべてのセットのサブセットです。また、空集合との任意の集合の和集合が元の集合である。したがって、最初の例のように '.none'を明示的に指定する理由はありません。セットの仕様に何も追加しないからです。 – matt

関連する問題