错误:ios 上没有这样的模块“FirebaseInstanceID”
Posted
技术标签:
【中文标题】错误:ios 上没有这样的模块“FirebaseInstanceID”【英文标题】:error: no such module 'FirebaseInstanceID' on ios 【发布时间】:2021-08-04 22:12:09 【问题描述】:我正在尝试运行我的代码并不断告诉我
error: no such module 'FirebaseInstanceID'
import FirebaseInstanceID
我在 AppDelegate.swift 中的代码
import UIKit
import Flutter
import Firebase
import FirebaseAuth
import UserNotifications
import FirebaseInstanceID
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
let firebaseAuth = Auth.auth()
firebaseAuth.setAPNSToken(deviceToken, type: AuthAPNSTokenType.unknown)
override func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
let firebaseAuth = Auth.auth()
if (firebaseAuth.canHandleNotification(userInfo))
print(userInfo)
return
我认为我的 pod 中丢失了,我不知道如何将它安装到我的 pod 文件中。
【问题讨论】:
【参考方案1】:FirebaseInstanceID 现在已弃用,这就是出现此错误的原因。从您的 AppDelegate.swift
中删除 import FirebaseInstanceID
并改为添加 import FirebaseMessaging
,因为现在直接在消息传递实例上提供 FCM 令牌。现在将didRegisterForRemoteNotificationsWithDeviceToken
中InstanceID
的代码替换成这个
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
Messaging.messaging().apnsToken = deviceToken
Messaging.messaging().token (token, error) in
if let error = error
print("Error fetching remote instance ID: \(error.localizedDescription)")
else if let token = token
print("Token is \(token)")
【讨论】:
【参考方案2】:2021 年 7 月 19 日更新
删除 FirebaseInstanceID 并安装 Firebase Messaging 最新版本..
我稍后通过安装 Firebase 消息传递插件
解决了这个问题Firebase messaging Plugin
【讨论】:
以上是关于错误:ios 上没有这样的模块“FirebaseInstanceID”的主要内容,如果未能解决你的问题,请参考以下文章
Socket.IO 错误:zlib 没有这样的模块(Swift 3,Xcode 8.3)
ios sqlite fts 扩展“没有这样的模块 fts4”错误