Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift3 从自定义服务发送消息时未调用DidReceiveEmoteNotification_Swift3_Ios9.3 - Fatal编程技术网

Swift3 从自定义服务发送消息时未调用DidReceiveEmoteNotification

Swift3 从自定义服务发送消息时未调用DidReceiveEmoteNotification,swift3,ios9.3,Swift3,Ios9.3,我有一个自定义通知服务,它成功地发送了通知,但是当用户单击通知时,不会调用DidReceiveEmoteNotification。应用程序将打开到最后一个状态,我正在尝试深入链接到应用程序中的特定场景 在我的didFinishLaunchingWithOptions中,我正在注册通知类型 通过调用此函数“ func注册表形式通知(应用程序:UIApplication){ let notificationSettings=UIUserNotificationSettings(类型:[.badge、

我有一个自定义通知服务,它成功地发送了通知,但是当用户单击通知时,不会调用DidReceiveEmoteNotification。应用程序将打开到最后一个状态,我正在尝试深入链接到应用程序中的特定场景

在我的didFinishLaunchingWithOptions中,我正在注册通知类型 通过调用此函数“

func注册表形式通知(应用程序:UIApplication){ let notificationSettings=UIUserNotificationSettings(类型:[.badge、.sound、.alert],类别:nil) UIApplication.shared.registerUserNotificationSettings(notificationSettings) }

我正在向后端服务注册我的设备,并调用 didRegisterForRemoteNotificationsWithDeviceToken函数

接下来是我的didregister函数

func应用程序(application:UIApplication,didRegister notificationSettings:UIUserNotificationSettings){ UIApplication.shared.registerForRemoteNotifications() }

最后,我得到了DidReceiveMemotentification,我希望在点击通知时被调用

func应用程序(application:UIApplication,DidReceiveMemotentification用户信息:[AnyHashable:Any]){ }

正在发布到我的后端服务的xml相当直接,并且似乎按照预期工作: { “观众”:{ “ios_通道”:“e06b9r8r-ffce-4fa6-92ec-123456789” }, “通知”:{ “ios”:{ “警报”:“测试声音发送”, “标题”:“测试警报”, “声音”:“默认值” } }, “设备类型”:[ “ios” ] }


如果有人对为什么不调用DidReceiveEmotentification函数有任何意见,我们将不胜感激。

DidReceiveEmotentification
仅在应用程序打开时触发。要响应用户点击通知,您需要检查中的
UIApplicationAunChopectionsRemoteNotificationKey
值de>launchOptionsdidfishlaunching的参数
didfishlaunching

我在发布后不久就解决了这个问题。我使用的是城市飞艇v1.0,UA库将自动集成到应用程序中,拦截任何回拨到应用程序中的呼叫。要解决这个问题,请添加“automaticSetupEnabled”“在AirshipConfig.plist文件或UAConfig上设置为“否”。UA在这里解释了这一变化:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
  if let userInfo = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] {
            NSLog("[RemoteNotification] applicationState: \(applicationStateString) didFinishLaunchingWithOptions for iOS9: \(userInfo)")
            //TODO: Handle background notification


        }
        return true
    }