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 推送通知权限对话框的主要内容,如果未能解决你的问题,请参考以下文章