【发布时间】: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 控制台对我发送的每条消息都说“完成”
标签: ios swift firebase push-notification firebase-cloud-messaging