有没有办法忽略依赖包中的警告?有没有办法 #if 编译器不知道的操作系统?

Is there a way to ignore warnings in dependent packages? Is there a way to #if an os that the compiler doesn't know about?

提问人:Kudit 提问时间:10/6/2023 更新时间:10/14/2023 访问量:37

问:

我正在使用 Swift Playgrounds 进行应用程序开发。我的一个依赖项有一些这样的代码:

#if os(visionOS)

这导致我的应用程序收到警告,因为 Swift Playgrounds 没有更新到 Swift 5.9,因此它不知道 visionOS。

依赖项是一个开放的项目,所以我可以做一个拉取请求,但是有没有办法对编译器不知道的操作系统进行检查?也许有一种方法可以暂时定义操作系统以使警告静音?#if

编译器警告 swift-playground 预处理器指令 ipad-playgrounds

评论

1赞 RTXGamer 10/6/2023
#if os(visionOS)可以封装在 Swift 版本检查中:#if swift(>=5.9)
1赞 Kudit 10/14/2023
RTX,如果你想把它作为答案,我会把它标记为已解决。这是一个很好的解决方案。谢谢。

答:

1赞 RTXGamer 10/14/2023 #1

添加此 Swift 版本检查以使用:os(visionOS)

#if swift(>=5.9)
  #if os(visionOS)
    // Do Stuff Here
  #endif // os(visionOS)
#endif // swift(>=5.9)