我正在使用Xamarin.Android和Xamarin.iOS客户端开发Xamarin.Forms应用程序。对于推送通知,我正在使用FirebasePushNotificationPlugin库。它可以在Android上完美运行,但不能在iOS上运行。
在iOS上,该应用程序仅在请求使用推送通知后关闭。因此:显示“允许/不允许”弹出窗口,并且当用户单击“允许”时,该应用程序将关闭。没有异常或任何异常。
我已经完成了安装说明中的每一步,但为了仔细检查,我将向您显示所有内容的屏幕截图:
BundleResource
。它是production
(而不是development
),因为我无法运行和调试该应用程序,因此实际上每次都将该应用程序上载到App Store Connect并通过TestFlight作为内部测试人员进行了测试
AppDelegate.FinishedLaunching
之后,我用LoadApplication(new App());
方法初始化了程序包。 false
参数表示它不会自动注册通知(稍后会手动注册)。我还重写方法RegisteredForRemoteNotifications
,FailedToRegisterForRemoteNotifications
,DidReceiveRemoteNotification
并调用受尊重的方法(如Getting Started指令中所述)。
CrossFirebasePushNotification.Current.RegisterForPushNotifications();
时,将显示“允许/不允许”弹出窗口,并且在用户单击“允许”后,该应用程序仅关闭。没有引发异常或任何异常(嗯,至少在try / catch语句中没有任何异常)。该应用程序只是关闭了。有趣的事情可能是,在所有这一切之前已经(成功)创建了FCM令牌,并且如果我向该iOS应用程序的令牌发送推送消息,Firebase服务器将返回success
。所以我猜想Firebase部分是正确的,但是iOS和/或库有问题吗?
任何建议将不胜感激!
答案 0 :(得分:1)
对于任何阅读本文的人:我已经通过删除FirebasePushNotificationPlugin库解决了这个问题,该库显然在iOS上不起作用。然后,按照此Xamarin.Firebase.iOS.CloudMessaging指南,我使用GettingStarted包实施了通知。