- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我第一次运行我的应用程序时,模拟器能够在应用程序处于前台时显示通知。
当我重新启动应用程序时 didReceive notification:
(即来自 iOS 9 的通知方法)被调用而不是 willPresent notification
(即来自 iOS 10 的通知方法)并且没有通知当应用程序在前台时显示。但是,如果应用程序在后台,则会显示通知。
这都不是 question或者这个 question提供了解决这个问题的方法。
我使用此代码获得通知授权:
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]? = [:]) -> Bool {
if #available(iOS 10.0, *) {
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .sound, .sound]) { (granted, error) in
UNUserNotificationCenter.current().delegate = self
}
}
return true
}
我已经实现了 willPresent 通知方法:
@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) completionHandler(UNNotificationPresentationOptions.alert)
}
这是我创建通知的方式:
let content = UNMutableNotificationContent()
content.title = title
content.subtitle = subtitle
content.body = message
content.categoryIdentifier = identifier
let trigger = UNTimeIntervalNotificationTrigger(
timeInterval: 10.0,
repeats: false)
let request = UNNotificationRequest(
identifier: "identifier",
content: content,
trigger: trigger
)
UNUserNotificationCenter.current().add(
request, withCompletionHandler: nil)
问题简述:如何确保应用程序在第一次运行后处于前台时能够显示通知?
提前致谢。
最佳答案
尝试在 requestAuthorization
完成 block 之外设置委托(delegate)。它可能比您想要的晚发生。
我在这里添加了一个示例项目:https://github.com/jerbeers/DemoLocalNotification
如果您构建并运行,点击按钮,您将在 3 秒后看到本地通知。如果您停止、构建并再次运行,即使应用正在运行,我也会看到本地通知。
关于ios - `willPresent notification` 是 't called & local notifications aren' t 当应用程序在 iOS 10 中处于前台时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40046951/
自从我处理 django 以来已经有一段时间了,我正在处理一些可能有点旧的代码,现在是 Django 1.7。这个堆栈跟踪是关于什么的? 它不是通过 runserver 发生的,而是通过使用应用程序模
出于某种原因,我的表格行间距不正确,只是将新行覆盖在旧行上。我得到的不是 2 行表,而是 1 行表,其中 2 行相互重叠。这是我的代码的相关部分:
我正在尝试使用自定义用户安装 django-registration-redux。 我已将此包含在我的 settings.py 中: AUTH_USER_MODEL = 'app.customUser
我已在 azure 门户中设置了 Azure Frontdoor。我已经创建了 2个前端主机 myappdev1.azurefd.net dev1.myapp.com 后端池具有以下内容 1.Back
我已在 azure 门户中设置了 Azure Frontdoor。我已经创建了 2个前端主机 myappdev1.azurefd.net dev1.myapp.com 后端池具有以下内容 1.Back
使用来自 Django tutorial 的(部分)投票应用程序例如,我正在尝试获取 pytest-django运行。 使用命令 django-admin startproject mysite2 ,
因此,我尝试向 Django 1.10 应用程序添加一些代码,这些代码仅在服务器启动时运行。我从 here 获取了有关如何执行此操作的说明。和 here 。每次我尝试运行 python 控制台时,我都
我在 IntelliJ IDEA 中使用 Kotlin 插件时遇到问题。首先,打开一个kotlin项目,弹出我需要在这个项目中配置kotlin。但是当我从“工具”菜单中这样做时,它会显示“没有可用的配
请注意,我已经查看了这些线程,但它们没有解决我的问题: (过时的信息,请参阅下面的文档)Access Snowflake query results through PowerBI (我希望这能解决我
当 7 个可用列中的任何 3 个包含该行的数据时,我需要包含行。有没有做类似事情的最佳实践?我想出的解决方案似乎很好,只是想知道是否有更可接受的模式?见 here了解详细信息。以下是我要完成的工作的要
babel-preset-es2015已安装,并且可以使用 es6 功能,如下面 let a = 2; . 但无法使用 es6 模块功能 import fs from 'fs'如下: $ babel-
当我尝试将 View 导入 django 应用程序的 apps.py 模块时出现此错误。我正在使用 django 2.2.9、python 3.7.6、django-oscar 2.0.4。我已覆盖结
我正在使用此代码来填充我的数据库: import os def populate(): python_cat = add_cat('Python') add_page(cat=pyth
我已经将我的 django webapp 部署到我的 heroku 服务器并且它工作正常,直到我添加了一个 websocket 连接,该连接在创建模型对象后立即在单独的 url 中显示该模型对象的内容
尝试阅读文档并纠正一些与 sass 相关的问题。向组件添加了“lang=scss”,但不确定如何解决此问题。任何指导都会有所帮助。 rollup v2.19.0 bundles src/main.js
我使用 django 1.10.5 和 celery 4.0.2。我有这样的结构。 -proj -application __init__.py celery.py cel
所以我正在学习这个 javascript 游戏制作教程,但我真的找不到我做了什么才能使我的红色方 block 不显示在屏幕上。事实上,我确实认为这是速度问题,因为当我在控制台中更改对象的速度时,它出现
从 1.8 升级到 django 1.9 时出现此错误。我检查了类似问题的答案,但我认为这不是任何第三方软件包或应用程序的问题。 Traceback (most recent call last):
我从 Django 1.8 升级到 1.9 但遇到了这个问题 django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. s
我有一个功能性 Django 应用程序,在我看来它有许多 Google Text-To-Speech API 调用和数据库读/写。在本地测试时,加载页面大约需要 3 秒,但是当我将应用程序实时部署到
我是一名优秀的程序员,十分优秀!