【问题标题】:Xcode not showing @available warnings anymoreXcode 不再显示@available 警告
【发布时间】:2021-06-28 11:57:12
【问题描述】:

Xcode 不再对应用程序在所有支持的 iOS 版本上不可用的属性或方法发出警告。这对我来说是一个严重的问题,可能会导致某些 iOS 版本出现错误或应用崩溃。

例如,[NSDate now] 方法仅适用于 iOS 13 及更高版本。在 iOS 12 设备上使用此方法会导致崩溃。我的应用程序项目的当前 iOS 部署目标设置为 iOS 12.0,并且该应用程序也支持 iOS 12 以上的所有版本。但由于某种原因,如果我使用不可用的方法或属性,我不会再收到警告在 iOS 12 上且仅在上述版本上。

我使用的是 Xcode 12.5。我也尝试过使用 Xcode 12.4 和 Xcode 13 Beta,但它是一样的。这是项目的问题吗?

【问题讨论】:

  • 在一个新项目上,你能重现这个问题吗?如果没有,请检查Build Settings,那里有一些警告标志管理。检查工作和非工作之间是否存在差异。或者你有什么地方#pragma clang diagnostic ignored?哪个可能没有完成pop
  • 构建设置中的“Apple Clang - 警告 - 所有语言”类别有“无人看管的可用性”选项。它被设置为“否”。在我将其设置为是并重建项目后,我再次收到警告。谢谢!

标签: ios objective-c xcode


【解决方案1】:

前往Build Settings,您可以在搜索栏搜索Unguarded availability,或在Apple Clang - Warnings - All Languages部分找到。

将值设置为Yes

【讨论】:

    猜你喜欢
    • 2015-04-26
    • 2017-10-17
    • 1970-01-01
    • 2012-04-08
    • 2012-10-28
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 2014-05-16
    相关资源
    最近更新 更多