问题标签 [usernotifications]

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 投票
1 回答
113 浏览

ios - 为什么 ios 中的通知仅显示附件数组中的第一个附件,即使还有一个附件。

我正在安排一个带有两个文件的附件数组的本地通知。第一个是图像,第二个是音频文件。发送通知时,它只显示第一个附件,无论是音频还是图像。是否可以在不继承 UNNotificationContentExtension 类和创建自定义界面的情况下显示多个附件。任何帮助,将不胜感激。谢谢你!

0 投票
1 回答
737 浏览

swift - do 语句

假设这是我们从模型中删除对象的函数:

问题:

如果抛出错误,则执行转移到catch子句。那很好。但是语句(其余代码,取消通知和重新加载 tableView)会发生什么?这些语句仍然是可执行的还是简单地忽略?

0 投票
0 回答
51 浏览

ios - 通过通知内容扩展静音通知?

我正在使用 UNNotificationContentExtension 来显示自定义内容。

当我发现原始通知的来源无效时,是否可以跳过/静音通知?

0 投票
0 回答
788 浏览

ios - iOS 10:检测用户通知是否到达

我正在 iOS 10 中编写提醒应用程序;我的本地通知是使用 UserNotifications 框架发送的。发送通知已经很好了;我的问题是通知的后台处理。早些时候,您可以didReceiveRemoteNotification在应用程序委托中使用来处理 userInfo 等内容;现在,UserNotification 显然有它自己的方法。

通常,我想检测是否在我不在的情况下收到了通知。案例:我收到了,我点击打开应用程序图标,bam:警报控制器显示:您已收到通知。我正在使用这两个功能:

但它们只有在我通过点击通知中心的通知访问应用程序时才有效。那么,在不是通过通知进入应用,而是通过应用本身进入应用的场景下,如何检测是否收到了通知呢?

0 投票
1 回答
1608 浏览

ios - 当应用程序在后台时替代 UserNotificationCenterDelegate 的 willPresent

我试图弄清楚我是否可以通过本地通知来实现我的目标,或者我是否需要切换到远程通知。

我正在通过构建一个警报程序来练习 iOS 10 / Swift 3,该程序在一天中的设定时间播放 RSS 更新的广播节目的最新一集。当应用在前台时,这很容易通过UNUserNotificationCenterDelegate的willPresent函数来执行。我只是使用 willPresent 来获取最新剧集,并通过 AVAudio Player 播放。

当然,如果应用只在前台运行,这个功能是非常有限的。我希望应用程序在后台或关闭时以相同的方式工作。

我可以从文档中看到,当应用程序不在前台时,willPresent 不会运行。当应用程序在后台时,是否有另一种方法可以让本地通知在推送通知之前执行代码?还是我必须切换到远程通知?我看到了一个相关问题的答案,但我想知道是否有更优雅的方法。

0 投票
1 回答
196 浏览

ios - iOS 将通知对象发送到 UserNotificationCenter 和 didFinishLaunchingWithOptions

当应用程序关闭并且用户点击通知时:

1) 使用 remoteNotification 对象调用 didFinishLaunchingWithOptions。我按预期在这里设置了rootViewController

2) userNotificationCenter(_, didReceive, withCompletionHandler) 也被调用。

问题是,我不想在第 2 步做任何事情,因为我已经在第 1 步处理了通知)。但是,如果应用程序位于前台或后台,我确实想在步骤 2) 中处理通知。我不知道如何区分这两种情况。

0 投票
0 回答
212 浏览

swift - 应用程序终止后未调用本地通知委托方法

我可以在终止后生成本地通知但是,我无法在 UNUserNotificationCenterDelegate 的 didReceive 方法中设置值。

以下是我在 AppDelegate 中的代码:

以下是我在 ViewController 中的代码:

ViewdidLoad 如下:

委托方法仅在应用程序处于前台或后台时接收响应,但在终止后不接收。

有没有办法在应用程序终止后接收响应?

0 投票
2 回答
4351 浏览

ios - 无法更新本地预定通知内容

在其中一个 WWDC 会议中,我获得了用于更新现有通知的代码片段。我不认为它有效。正在尝试更新通知内容。

首先,我请求UNUserNotificationCenter始终有效的待处理通知。然后我正在创建新请求以使用现有的唯一标识符更新通知。

有 1 个新变量content: String

我无法捕捉到错误。问题是通知内容主体 没有改变。

更新。

我还尝试使用不同的重复间隔更改触发器。它不起作用,通知以创建时的相同原始间隔重复。

更新 2。

阅读克里斯的回答,尝试选择第一个选项。

如您所见,我无法修改原始请求。

更新 3。

已经选择了第二个“首先删除”选项。注意到removePendingNotificationRequests之后的呼叫和安排,仍然给我旧的通知版本。我不得不在调用removePendingNotificationRequests和之间添加 1 秒延迟center.add(request)

将克里斯的回答标记为已接受,但请随时分享更好的选择。

0 投票
2 回答
3252 浏览

ios - 用户通知:自定义振动模式

是否可以为用户通知警报创建自定义振动模式?例如,我们可以为用户通知选择不同的音频。是否也可以有自定义的振动模式?

我的意思是在 iOS 上使用 swift 以编程方式执行此操作。

0 投票
1 回答
133 浏览

ios - 如何在通知内容扩展中使用多行 UILabel / 自动布局调试布局

如何调试以下问题?有没有办法解决这个问题?

布局多行 UILabel 时,iOS 10.2 及更低版本似乎存在错误。

我有一个相当简单的 UIView 子类,我在应用程序和通知内容扩展中都使用它,如下所示:

界面生成器中的自定义 UIView 子类

在主应用程序中,一切都布置得很好:

在主应用程序中显示时的正确布局

在 iOS 10.2 及更低版本的通知内容扩展中显示时,布局被破坏。但只有当文本足够长可以分成多行时。似乎iOS无法计算整个视图的正确高度:

iOS 10.2 中的布局损坏

但是,这个问题似乎在 iOS 10.3 和更新版本上得到了修复:

iOS 10.3 中的正确布局