已结束。此问题不符合
Stack Overflow guidelines .它目前不接受答案。
Best Answer-推荐答案
更新:SWIFT 3.0:
如何将您的 iOS 项目与 Firebase 集成。
为了将您的项目与 Firebase 集成以获取推送通知,您需要执行以下操作:
使用 CocoaPods 将您的项目与 Firebase 集成。打开 Terminal 并写入 cd,然后将包含您的项目的文件夹拖到终端,以免写入整个路径。
进入终端文件夹后,输入:
$ pod init
并且将在名为 Podfile
的项目中为您创建新文件
在文本编辑器中打开 Podfile 文件,并在 end 关键字之前添加 pod 'Firebase'。
保存文件并返回终端并确保您仍在项目路径中。
然后在终端中编写 pod install,这应该会开始下载 Firebase 并将其与您的项目集成。
6.下载完成后,您应该会在项目文件夹中看到一个带有 .xcworkspace 扩展名的新文件。这是您从现在开始应该打开的文件。
- 转到下面的链接并生成您的证书,以便您将其上传到控制台中的 Firebase 项目。
https://www.mobiloud.com/help/knowledge-base/how-to-export-push-notification-certificate-p12/
打开您的项目并导航到 AppDelegate 并执行以下操作;
//导入框架
import Firebase
在您的应用顶部。
现在在 application:didFinishLaunchingWithOptions: 方法添加
//使用 Firebase 库配置 API
FIRApp.configure()
在 registerForRemoteNotifications 方法中添加以下内容:
let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
更新:SWIFT 3.0:
UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.badge,.sound]) { (granted:Bool, error:Error?) in
if granted {
}else{
}
}
UNUserNotificationCenter.current().delegate = self
对于代表:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
}
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
}
您应该将以下方法添加到您的 AppDelegate 以便您在应用运行时接收消息;
func application(application:UIApplication,didReceiveRemoteNotification userInfo: [NSObject : AnyObject],fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
print("Message ID: \(userInfo["gcm.message_id"]!)")
}
点击以下链接测试发送推送
https://firebase.google.com/docs/notifications/ios/console-device
关于ios Firebase 推送通知项目,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/38262378/