有没有办法在引导访问期间在 iOS 11 中传递推送通知?

Posted

技术标签:

【中文标题】有没有办法在引导访问期间在 iOS 11 中传递推送通知?【英文标题】:Is there a way to deliver push notifications in iOS 11 during Guided Access? 【发布时间】:2017-11-13 02:26:02 【问题描述】:

我们的 iPad 应用依靠静默推送通知来触发某些事件,我们的许多用户都在 Guided Access 模式下使用它。这一直运行良好,直到 ios 11 现在似乎在启用引导访问时阻止推送通知的传递。

我已经根据 Apple 文档 here 尝试了各种不同的有效负载(例如内容可用、警报、声音、徽章等),但是在使用引导访问时我无法交付任何东西启用。这不一定是错误,但实际上可能是新的预期行为。

有没有一种方法可以配置通知,以便在引导访问期间发送通知?

我为此向 Apple 提出了技术支持事件,Apple 立即退还了我的票并要求我报告错误。尚未收到错误报告的反馈。

【问题讨论】:

你在使用UserNotifications框架和UNUserNotificationCenter吗?使用 AppDelegate 回调和 [UIApplication registerForRemoteNotifications] 的旧方式已被弃用,并且可能在 iOS 11 中的 Guide Access 模式下出现问题。 感谢您的建议,但我可以确认我们正在使用 iOS 10 及更高版本中的 UserNotifications 框架。 我在我们的项目中也确认了这一点。 如果您的应用程序在前台,为什么不创建自己的推送系统,例如 c/s 模式 bsd 套接字来达到您的目标。有很多示例:iOS 端的 xmppframework,服务器端的 openfire。 感谢 Kevin,我们最终走上了运行良好的 websockets 之路(尽管它也有自己的挑战)。 【参考方案1】:

这似乎已在最新的 iOS 11.2.5 beta 4 中得到修复。通过使用 CloudKit 推送通知的引导式访问和单应用模式确认。

【讨论】:

我们已经通过我们自己的应用程序的行为验证了这一点。所有迹象都表明这只不过是一个 iOS 错误。 使用谷歌云功能怎么样?设备也会在信息亭/单一应用模式下收到通知吗?谢谢【参考方案2】:

如果您的应用程序在前台,您可以使用 c/s 模式 BSD 套接字创建自己的推送系统来达到您的目标。 iOS 端有 xmppframework 和服务器端 openfire 等很好的示例。

【讨论】:

虽然我很欣赏这个建议,但我不愿意将其标记为答案,因为我真的想要一个关于在引导访问期间是否可以发送通知的明确答案。

以上是关于有没有办法在引导访问期间在 iOS 11 中传递推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

在引导程序期间在 Msi 包之间执行脚本

提前访问配置

Buildfire - 有没有办法将人们引导到管理仪表板中的另一个选项卡?

从 Gradle 引导传递动态端口:运行应用程序

有没有办法使用类的成员函数在并发线程中运行而无需在 C++11 中传递 *this?

图遍历期间断开的节点