Firebase Cloud Message iOS Swift 不工作
Posted
技术标签:
【中文标题】Firebase Cloud Message iOS Swift 不工作【英文标题】:Firebase Cloud Message iOS Swift not working 【发布时间】:2018-03-07 21:05:09 【问题描述】:我有两个 ios Swift 应用程序。第一个已经存在于 App Store 中,假设它被称为“ExistingStoreApp”。我创建的第二个应用程序仅用于使用 Firebase 云消息传递 (FCM) 测试推送通知,我称之为“PushyTestApp”。
我不明白的是:通过 Firebase-Console 发送推送通知 -> 通知仅适用于 PushyTestApp,但不适用于 ExistingStoreApp,尽管我在 ExistingStoreApp 上执行了相同的程序以使 Firebase 运行。 我做了以下事情:
-
在 Apple Dev 中创建 APNs AuthenticationKey。控制台 (https://firebase.google.com/docs/cloud-messaging/ios/certs)
使用显式 Bundle-ID 创建 App ID(ExistingStoreApp 和 PushyTestApp 之间的区别:ExistingStoreApp-App-ID 已存在)
创建配置文件
创建应用(区别:ExistingStoreApp 已经存在)
使用 pod 'Firebase/Core' 和 pod 'Firebase/Messaging' 添加 CocoaPods -> pod install (https://firebase.google.com/docs/cloud-messaging/ios/client)
在 Xcode 应用程序功能中:推送通知打开,后台模式下的远程通知打开
使用现有的 Firebase-Project(android 正在运行)并添加新的 iOS 应用
将 APN AuthKey 上传到 Firebase-Project-App
下载 GoogleService-Info.plist -> 添加到 XCODE-Source 目录
用示例代码 (https://github.com/firebase/quickstart-ios/blob/master/messaging/MessagingExamapleSwift/AppDelegate.swift) 填写 AppDelegate.swift
通过 Firebase 控制台发送消息,优先级:高
结果:PushyTestApp 成功连接到 Firebase,获得 FCM-Token,在 XCODE-console 中显示 Message-content。 ExistingStoreApp 成功连接 Firebase,获得 FCM-Token,使用 Firebase-Console 发送消息时无反应。
我没有禁用 Method Sizzling。我错过了哪一部分?我认为这将是 Bundle-ID,它不是传统的(“My-Company.My-Appname”),但类似的 Bundle-ID 与 PushyTestApp 一起使用。是不是因为 ExistingStoreApp 已经是分布式 App,而 PushyTestApp 是 Development?
【问题讨论】:
Firebase 控制台是否显示已收到消息? @JenPerson 是的,Firebase 控制台对我发送的每条消息都说“完成” 【参考方案1】:好的,最奇怪的解决方案来了:几乎放弃了战斗,我将我的 App-Update 上传到了包含 Firebase 代码的 App-Store。 AppStore 告诉我更新我的 1024pt App-Icon。我更改了它,在 XCode 中的 Media.xcassets 中环顾四周,发现我没有定义通知图标。添加它们,再次上传到 App-Store。
我上次尝试通过 Firebase-Console 和 bing 再次发送一条消息:iPhone 上收到消息。无语。
希望有人在发疯之前帮助解决这个问题
【讨论】:
以上是关于Firebase Cloud Message iOS Swift 不工作的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中为 Firebase 使用 Cloud Functions
FCM Cloud Messaging 与 Notifications 和 Message 的区别
Firebase Cloud Messaging to Android 工作,但 iOS 失败。如何为 iOS 构建有效负载?
Firebase Cloud Messaging 通知未显示在 iOS 设备上(前台和后台)