ios - apns - 如何提示用户仅在相关时启用推送通知?

标签 ios objective-c swift apple-push-notifications

有没有办法在实际有意义时提示用户启用推送通知?换句话说,不要在应用程序第一次启动时提示用户启用推送通知(使用应用程序委托(delegate)中的代码),而是将提示延迟到应用程序中的特定点之后(例如,发布演练)。

我见过几个应用程序可以做到这一点,包括 Google Photos 和 Uber,但我不清楚哪一段代码实际上触发屏幕上的对话框,以及是否可以将其放置在应用程序中的任何位置。我假设它是以下内容(在 Swift 中):

UIApplication.sharedApplication().registerForRemoteNotifications()
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)   
application.registerUserNotificationSettings(settings)

最佳答案

将以下代码放置在您认为正确的应用程序中的任何位置(即应用程序委托(delegate)之外的位置),以提示用户启用通知:

UIApplication.sharedApplication().registerForRemoteNotifications()
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)   
application.registerUserNotificationSettings(settings)

要处理各种情况,您可以follow这个答案/线程。

关于ios - apns - 如何提示用户仅在相关时启用推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968613/

相关文章:

ios - 使用动画更改状态栏样式

ios - 从对象外部访问 SKProductResponse

ios - 如何在编译时查看iOS版本?

ios - 滚动到底部并添加新行时 UITableView 卡住

iphone - 如何比较两个 MutableArrays 并在 iphone 中显示不匹配的值?

ios - 无法以编程方式覆盖 UIButton 选项

ios - 转到 pdf 文件的特定页面

ios - 如何使用调度或操作队列动态更改后台操作优先级。

ios - 单 View 应用程序具有无法更改的黑色背景

ios - 为 Swift/Obj-c 项目运行 XCTest 时出错(错误 83)