我有一些共享代码需要在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
的代码?