私のアプリにはプッシュ通知があります。アプリが起動されるたびに、ユーザーがアプリケーションのプッシュ通知を有効にしているかどうかを確認したいと思います。
私はこのようにします:
let notificationType = UIApplication.sharedApplication().currentUserNotificationSettings()!.types
if notificationType == UIUserNotificationType.None {
print("OFF")
} else {
print("ON")
}
ユーザーがプッシュ通知を無効にしている場合、アプリからこれを有効にする方法はありますか?
または、ユーザーをプッシュ通知設定 (設定 - 通知 - AppName) に送信する代替手段はありますか?
ベストアンサー1
アプリから設定を変更する方法はありません。ただし、このコードを使用して、ユーザーをアプリケーション固有のシステム設定に誘導することができます。
extension UIApplication {
class func openAppSettings() {
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
}
}
Swift 3.0 に更新
extension UIApplication {
class func openAppSettings() {
UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!)
}
}
iOS 10+ および Swift 5+ 向けに更新されました
extension UIApplication {
@objc class func openAppSettings() {
shared.open(URL(string: openSettingsURLString)!,
options: [:],
completionHandler: nil)
}
}