首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >警告:对最低部署目标进行不必要的检查

警告:对最低部署目标进行不必要的检查
EN

Stack Overflow用户
提问于 2015-09-12 09:48:53
回答 3查看 5.9K关注 0票数 17

我有一个Swift类,它链接到具有不同部署目标的几个目标,主项目具有iOS 7的最低要求,并且有一个带有iOS 8目标的扩展。

现在,当我编译项目时,编译器在这行代码中抛出警告:

代码语言:javascript
复制
    if #available(iOS 8.0, *) { ... }

“对‘iOSApplicationExtension’进行不必要的检查;最小部署目标可确保防护始终为真”

我已经检查了构建设置选项,但没有发现可以杀死swift警告的开关。

我尝试通过这一行单独定义iOSApplicationExtension版本目标,但没有成功:

代码语言:javascript
复制
    if #available(iOS 8.0, iOSApplicationExtension 8.0, *) { ... }

有没有办法抑制这种恼人的信息呢?

EN

Stack Overflow用户

发布于 2015-09-12 19:48:44

找到了一种丑陋的解决方法来使警告静默,但我希望有更好的方法:

在iOS 8+目标构建设置中,我在构建设置-> Swift编译器-自定义标志->其他Swift标志中定义了一个预编译标志:

-D iOS8target

然后我把代码改成这样:

代码语言:javascript
复制
#if iOS8target
    // iOS 8+ compatible code
#else
    if #available(iOS 8.0, *) {
        // repeat iOS 8+ compatible code again!
    } else {
        // iOS 7 code
    }
#endif

它不是重构的和丑陋的,但它是有效的!

更新:有一个快速编译器开关-suppress-warnings,可以忽略所有警告。但它也会抑制有用的警告。另外,如果只有一个特定的文件发出警告,您可以在构建阶段窗格中使用-w标志。它还将抑制有用的警告,但仅限于一个文件。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32534345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档