【问题标题】:'AppDelegate' is only available on iOS 10.0 or newer“AppDelegate”仅适用于 iOS 10.0 或更高版本
【发布时间】:2019-01-22 13:52:35
【问题描述】:

我声明用于调用方法的 AppDelegate 实例驻留在 AppDelegate 中,但由于 'AppDelegate' 仅在 iOS 10.0 或更高版本上可用,因此出现错误,但我想在 iOS 9 中使用 AppDelegate 实例还。如果我将我的部署目标更改为 iOS 10,那么代码对我来说工作正常,但我无法使用部署目标 9.0 运行项目。我在我的 Xcode 项目中使用 Xcode 10.1 和 Swift 4.2。

请检查我的以下代码,如果我做错了什么,请告诉我 .

let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.ShowErrorPopUpWithErrorCode(strError:"This is test error message")

感谢您的帮助。

谢谢。

【问题讨论】:

  • 您的AppDelegate 类中是否有可用的检查,例如@available(iOS 10, *)
  • 你能多贴一点代码吗?也许该语句和/或您的应用程序委托代码之前是什么?
  • @ViralMithani @available(iOS 10, *) 表示该类仅适用于装有 iOS 10 或更高版本的设备。恕我直言,AppDelegate 根本不应该依赖任何版本。如果删除可用性检查会出现什么问题?
  • 感谢@AndréSlotta,@available(iOS 10, *) 在我的 AppDelegate 类中,我已将其删除,问题已解决。
  • 不客气 :)

标签: ios swift appdelegate


【解决方案1】:

您的应用程序委托中可能有这样的内容:

显然这样你就不能调用应用委托

要么更改您的最低部署目标,要么使用适用于您所针对的每个 iOS 版本的框架。

【讨论】:

  • 感谢 Mykod 解决了我的问题。默认情况下,当我当时创建新的 Xcode 项目时,@available(iOS 10.0, *) 在我上面的代码中存在 @UIApplicationMain 在 AppDelegate 文件中
  • @ViralMithani 你在使用核心数据吗?
  • 我在当前项目中没有使用核心数据。
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多