我已经通过firebase项目建立了一个iOS应用程序(名为:A project)。然后我的
iOS应用可以通过A项目收到通知。
任何解决方案都可以让我的iOS应用程序收到firebase的通知
项目(命名为:B项目)?
我的带有A项目的iOS应用程序可以使用B项目读/写实时数据库
通过设置“FirebaseOptions”。
所以其他任何人都可以帮助我如何收到B的通知 项目
我的代码如下:
// [END register_for_notifications],Default configuration with A project
FirebaseApp.configure()
// Load a named file. another configuration with B project
let filePath = Bundle.main.path(forResource: "GoogleService-Info-coinExchange2", ofType: "plist")
guard let fileopts = FirebaseOptions(contentsOfFile: filePath!)
else { return false }
FirebaseApp.configure(options: fileopts)
=====
我只在运行时选择一个配置。如何在运行时包含双重配置?(因为FirebaseApp.configure只能初始化一次。)
答案 0 :(得分:0)
是的,这是可能的。 Firebase支持在单个应用程序中访问多个项目。您可以查看official blog post here for Android, iOS and web和official documentation(包括iOS)。
以下是文档的摘录 -
支持iOS应用中的多个环境
默认情况下,
FirebaseApp.configure()
将加载GoogleService-Info.plist
文件 与应用程序捆绑在一起。如果您的开发和生产 环境在XCode中配置为单独的目标,您可以:下载
GoogleService-Info.plist
个文件存储这两个文件 不同的目录将两者都添加到您的XCode项目中 使用目标成员资格的不同目标的不同文件 小组:目标成员资格小组如果构建是单个目标的一部分,最好的选择是给予 两个配置文件的唯一名称(例如 GoogleService-Info-Free.plist和GoogleService-Info-Paid.plist)。然后 在运行时选择要加载的plist。这显示如下 例如:
// Load a named file. let filePath = Bundle.main.path(forResource: "MyGoogleService", ofType: "plist") guard let fileopts = FirebaseOptions(contentsOfFile: filePath!) else { assert(false, "Couldn't load config file") } FirebaseApp.configure(options: fileopts)