问题标签 [unusernotificationcenter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
58716 浏览

ios - 当应用程序处于前台 Swift 3 时获取本地通知

显然,这现在可以通过 ios10 实现:

这个答案基本上说明了执行此操作所需的工具:

当您的应用程序打开并在前台显示股票 iOS 通知横幅?

我只是不太了解如何将它们组合在一起。

我不知道这有多重要,但我无法保留可选的 func 并且 xcode 希望我将其切换为私有。

我正在尝试展示徽章,文档提供

在这里有点迷失。

然后我假设如果我想从获取这些徽章中排除某个视图控制器并且我没有使用导航控制器,我发现这个代码会起作用吗?:变量窗口:UIWindow?

0 投票
2 回答
1610 浏览

ios - 使用 UNUserNotificationCenter 支持 iOS 10 丰富的通知,但通知永远不会出现。它只会发出警报

不确定,缺少什么,但我遇到了一个奇怪的问题!!!

通知声音,但不显示。

我已将该应用程序注册为仅显示警报和声音,奇怪的是它从未显示。可以看到通知添加成功。但是,似乎有些琐碎的事情我无法理解。

即使删除通知也有效。

而且,在 AppDelegate...

private let notificationManager = NotificationManager()

0 投票
1 回答
1435 浏览

ios - iOS 10 本地通知不起作用(迁移到 UserNotifications 框架)

我有一个本地通知在 iOS 9 中运行良好的应用程序。
我正在将应用程序更新到 iOS 10。

升级到 Swift 3 后,我已将本地通知迁移到新的 UserNotifications 框架(我只支持 iOS 10,所以没问题)。
但是,我在这个应用程序中没有收到任何通知。香草应用程序中的相同代码有效。

我已请求对通知进行授权,并且该部分工作正常。
我也尝试过添加 UserNotification.framework 但这没有任何区别。

迁移后看不到通知的原因是什么?

0 投票
1 回答
2581 浏览

ios - 通知视图中的交互操作在 iOS 10(xcode 8)上不可见

我正在尝试实现通知框架,有谁知道为什么我没有在交互式通知中获得两个操作按钮?当我向左滑动时,我只看到“清除”按钮

提前致谢

0 投票
1 回答
2247 浏览

ios - iOS 10 富媒体推送通知视频和音频在 Objective-C 中不起作用

我在 iOS 10 推送通知中添加媒体,但只有图像在推送中起作用,视频和音频在其中不起作用。如何在 Objective-C 中做到这一点?我的代码如下:

AppDelegate.h

AppDelegate.m

然后我添加了一个新的目标通知服务扩展,如下所示:

通知服务.h

通知服务.m

我的通知服务扩展Info.plist是: 通知服务扩展信息.plist

我正在使用 php 脚本发送推送通知,如下所示:

测试推送.php

JPG、PNG、GIF 图像可以正常使用此代码,但视频和音频无法正常工作,尽管图像、视频和音频托管在https://服务器上。

谁能帮助我。

0 投票
1 回答
1365 浏览

ios - 在 iOS 10 中安排和处理本地通知

我一直在做我的一个项目,我允许用户在他们想要的时间安排多个通知。

iOS 10 让我们能够使用 DateComponents 作为通知的触发日期,但我对如何安排和处理多个通知有点迷茫。

每个通知都需要自己的请求,然后又需要自己的标识符,否则您无法创建多个通知。

我想我必须使用标识符来安排和处理通知,但现在我的代码是如此混乱,以至于我一直在认真地问自己是否没有更简单的方法来做到这一点。

根据我的数据模型,通知唯一标识符由以下部分组成:

  1. 我的模型的 id
  2. 每次创建新通知时递增的数字
  3. 上面用下划线分隔

因此,例如,如果我必须为 id 为 3 的对象安排 10 个通知,它将如下所示:3_1, 3_2, 3_3...

每次我收到通知时,我都会循环通过收到的通知来更新我的 UI。当用户希望删除接收到的特定模型的通知时,我会通过检查以相同 ID 开头的标识符来循环接收通知的唯一标识符。

我真的不知道如何才能做到这一点,因为根据文档,删除传递的通知的唯一方法是使用标识符:UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers:)

问题是,它产生了各种各样的问题,虽然我可以很容易地纠正它们,但它看起来很老套。我并不为我所做的事情感到骄傲,我正在寻找更聪明的方法来解决它。我故意没有发布任何代码,因为那不是问题。方法是真正的问题。

我在这里问是因为该UserNotifications框架非常新,而且我无法找到有关该主题的资源。

任何想法 ?提前致谢。

编辑:这是一些代码。

在该checkDeliveredAndPendingNotifications方法中,我遍历所有未决和已传递的通知,因此稍后我可以创建一个尚不存在的标识符。我还没有找到另一种为每个通知生成唯一标识符的方法。

由于大部分工作是在另一个异步队列上完成的,所以当他完成工作时,我还创建了一个完成处理程序。然后我在主线程上调用该createNotification方法(因为我使用的是 Realm,而且我也有义务这样做),它应该创建一个通知。

这里的问题是func add(UNNotificationRequest, withCompletionHandler: (Error?) -> Void)? = nil)异步工作的方法。所以当我回到我的循环中generateNotifications返回checkDeliveredAndPendingNotifications不正确的数据时。好吧,没有错,只是通知尚未创建...

我是一个线程的菜鸟,我被这些操作困住了,我不知道该去哪里。我不确定我是否以正确的方式解决问题。

0 投票
1 回答
844 浏览

ios - 等待异步代码完成 Swift

我一直在做我的一个项目,我允许用户在他们想要的时间安排多个通知。我正在使用UserNotificationsiOS 10 中的新功能。

为了正确安排所有通知,每个通知都需要有自己的唯一标识符。我根据我的数据模型组成了我的:

  1. 我的模型的 id
  2. 每次创建新通知时递增的数字
  3. 上面用下划线分隔

因此,例如,如果我必须为 id 为 3 的对象安排 15 个通知,它将如下所示:3_1, 3_2, 3_3...3_15

这是我的做法:

checkDeliveredAndPendingNotifications确保稍后我将创建尚不存在的标识符。

当它完成工作后,我调用createNotificationwhich 使用前一个函数返回的字典来生成正确的标识符。

例如,如果有 5 个通知在磁盘上传递,另外 10 个在等待 id 为 3 的模型,它看起来像这样:

createNotification只是简单地获取字典中的值并将其增加 1 以创建标识符。

真正的问题是:

这是一个异步任务。考虑到它不会等待,一旦我回到我的循环中,generateNotifications不会checkDeliveredAndPendingNotifications返回正确的字典,因为通知没有完成创建。

考虑到上面的例子,如果我必须安排 3 个通知,我想得到这样的东西:

但现在我得到:

那么,我如何才能等待这个异步调用完成,然后再返回我的循环呢?

在此先感谢您的帮助。

0 投票
0 回答
1174 浏览

ios - 应用程序在后台时无法接收本地通知并且能够在前台接收

在 sharedClass 中

我可以进入前台,但无法进入后台。有人对此有想法吗?

0 投票
0 回答
456 浏览

objective-c - 在 XCode 8 中触发本地通知并且模拟器停止工作时生成错误“XPC 连接中断”

我已经更新了 xcode 8,然后我无法获得本地通知。

0 投票
5 回答
6652 浏览

ios - iOS 10,当应用程序在前台时显示本地通知?

我想在应用程序处于前台时显示通知。下面是我为新的 usernotificationdelegate 方法所做的代码。

在应用程序委托中:

这是我触发本地通知的方法

现在在这样做之后我仍然没有在前台收到通知。

提前谢谢