UIApplication.shared可用性的编译时测试?

时间:2018-06-18 20:23:38

标签: ios swift swift4

我有一些共享代码需要在iOS应用应用扩展程序中运行,并且需要设置UIApplication.shared.isNetworkActivityIndicatorVisible - 但前提是代码是在应用中使用的。

在应用扩展程序中,UIApplication.shared会出现此编译错误:

'shared' is unavailable: Use view controller based solutions where appropriate instead

那没关系;我想要在app扩展程序中使用它。但是,我无法找到在编译时禁用该代码的方法。可悲的是,if #available似乎没有做到这一点;它会关闭代码路径,但编译器仍然不喜欢它:

if #available(iOSApplicationExtension 0, *) {
    print("This is an extension")
} else {
    print("This is an app")
    print(UIApplication.shared)  // Unreachable in extension, but still doesn’t compile
}

我没有看到任何处理此问题的#if检查。

Swift有没有办法有条件地编译需要UIApplication.shared的代码?

0 个答案:

没有答案