2016-10-11 6 views
3

私はSwiftを学びたいと思っており、プッシュ通知に関するチュートリアルを行っています。Swiftのコンテキストがなくても表現の種類があいまいです。

let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge , .Sound], categories: nil) 

は、 "式のタイプは、よりコンテキストなしで曖昧である"

私にエラーを与えています。

私はチュートリアルから直接この行をコピー/ペーストし、この同じ行がStackOverFlowで使用されていることがわかりました。

私は間違って何をしていますか?
私はXcode 8を使用しています。

+0

Methinks上のMichałKałużnyことで、このtutorialをチェック! ;)http://balancedcode.com/blog/files/de01930f6f2cf9e4c886531eca028cba-0.html私はSwift 3のxCodeの手がかりを使ってそれを処理しなければなりませんでした。 –

答えて

11

UIUserNotificationSettingsのドキュメントをご覧ください。スウィフト3のシグネチャはタイプの値と同じように変更されています。

あなたが必要です:それは廃止されているので

もちろん
let settings = UIUserNotificationSettings(types: [.alert, .badge , .sound], categories: nil) 

あなただけのiOS 10を支持し、後にしている場合は、その後、あなたがすべてでUIUserNotificationSettingsを使用しないでください。代わりにUNNotificationSettingsを使用してください。しかし、まだiOS 9以前のバージョンをサポートしている場合は、UIUserNotificationSettingsを使用すると、更新された構文に変更する限り問題ありません。

+0

ありがとう、マディ。私は、10以降のUNOSがUNNotificationSettingsクラスを使用すべきであることを認識していますが、開始するばかりで、iOS 9の手持ちのチュートリアルしか見つけることができませんでした。 –

1

UIUserNotificationSettingsは、UNNotificationSettingsを実装したい場合は、iOS 10ではUNNotificationSettingsで非推奨になります。

まず、UserNotificationsをインポートする必要があります。これについての詳細は

let center = UNUserNotificationCenter.current() 
center.requestAuthorization(options: [.alert, .badge , .sound]) { 
    (granted, error) in 

} 

この獣があそこことUserNotifications.framework

関連する問題