【问题标题】:Use of unresolved identifier 'Message' in swift 5?在 swift 5 中使用未解析的标识符“消息”?
【发布时间】:2020-03-06 10:36:36
【问题描述】:

当应用程序处于后台并将其发送到persistentContainer时,我正在尝试获取通知详细信息,例如消息或图像或其他内容。使用Message方法时,我收到Use of unresolved identifier。我该如何解决这个问题? ?

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        let text=userInfo["text"] as! String
        let image=userInfo["image"] as! String
        guard let url=URL(string: image) else
         {
            completionHandler(.noData)
            return
         }
        let persistentContainer=NSPersistentContainer(name: "PushMe")
        let context=persistentContainer.viewContext
        context.perform
            {
                do
                {
                    let message=Message(context:context)

                }
                catch{

                }

             }
    }

请帮助我。在此先感谢。

【问题讨论】:

  • 什么是消息?它是如何声明的?
  • 这是一个内置方法
  • 消息必须是类型、结构或类,而不是方法。您希望它在哪里是内置的、swift 或 UIKit 或...?

标签: ios swift xcode message identifier


【解决方案1】:

您是否使用 Firebase 进行推送?如果是这样,请在文件顶部添加这一行:

import Firebase

另请参阅文档:

【讨论】:

  • 不使用 Firebase 或任何其他第三方库。我要做的是在应用程序处于后台时存储用户通知详细信息(消息、图像、日期...等)并在用户显示时显示打开应用程序。
  • 在这种情况下,Message 类是从哪里来的?它不是 iOS 的一部分。你在你的代码中定义吗?您是否使用定义它的库?
【解决方案2】:
  • 清理项目cmd + shift + k
  • 删除派生数据文件夹Xcode preferences > Locations > Derived Data
  • 重启 Xcode
  • (如果模拟器上有错误)清理你的模拟器: Device > Erase All Content and Settings
  • 删除所有对您的应用的引用,例如应用和测试。

这将是因为您的模拟器/设备有一些 UItest 或其他任何方案,这造成了一些冲突。

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 2015-05-25
    相关资源
    最近更新 更多