iOS应用是否可以通过Firebase

时间:2018-03-21 06:17:05

标签: ios firebase firebase-realtime-database notifications firebase-cloud-messaging

我已经通过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只能初始化一次。)

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。 Firebase支持在单个应用程序中访问多个项目。您可以查看official blog post here for Android, iOS and webofficial 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)