【发布时间】: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 代码,并且观察到了相同的行为。
标签: ios objective-c push-notification ibm-mobilefirst ios-permissions