WorkLight 触发 iOS 推送通知权限对话框

Posted

技术标签:

【中文标题】WorkLight 触发 iOS 推送通知权限对话框【英文标题】:WorkLight Triggering iOS Push Notifications Permissions Dialog 【发布时间】:2016-02-12 03:18:43 【问题描述】:

我们正在开发使用 WorkLight (v. 7.0.0) 和 WorkLight 推送通知的原生 ios 应用程序(iOS 8.0 及更新版本,Objective-C)。

我们遇到的问题是从操作系统向用户显示权限对话框的时间。

只要我们调用[[WLClient sharedInstance] wlConnectWithDelegate:self.listener],就会显示对话框。我们不希望它在此时出现。我们希望在用户成功登录我们的应用或成功注册为新用户后展示它。

通常在调用 UIApplication 类的方法 registerForRemoteNotifications 之前不会显示此对话框,因此我假设 wlConnectWithDelegate: 中的某处正在调用此方法。

第一次连接到 WorkLight 服务器时,有没有办法抑制此对话框?或者,是否有更新版本的 WorkLight 可以解决此问题?

【问题讨论】:

这应该可以通过延迟此行的调用来实现:[[WLPush sharedInstance] init];如果您将此行和 onReadyToSubscribeListener 绑定移动到流中的稍后点,例如:连接的成功回调,您应该稍后会看到此权限弹出窗口 在调用 wlConnectWithDelegate: 之前,我们不会在任何地方调用 [WLPush sharedInstance]。我已经搜索了我的项目——我们使用 WLPush 的唯一地方是在 didRegisterForRemoteNotificationsWithDeviceToken: 方法中的 AppDelegate 和我创建的 PushManager 类中(使用断点我已经确认在授权提示之前没有调用此代码被陈列)。我实际上已经注释掉了所有 WLPush 代码,并且观察到了相同的行为。 【参考方案1】:

不!这是一个无法自定义的系统对话框。

你不能改变 iOS 中的行为

更多详情请查看此链接Customizing the iOS permission dialog for push notifications

【讨论】:

以上是关于WorkLight 触发 iOS 推送通知权限对话框的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight:iOS 推送通知长度限制

修改推送通知的权限请求对话框

发送推送通知时出现 Worklight 错误

worklight中的推送通知,如何检索userId?

Worklight 6.1 - Android 推送通知到达时没有声音

IBM Worklight 5.0.5:通过操作系统的通知句柄控制 Worklight 推送通知订阅/取消订阅