我使用的是新的Xcode13后台特性,但由于各种原因,我需要能够同时使用iOS 10和Xcode11构建代码库。
我已经实现了如下代码:
#if canImport(BackgroundTasks)
import BackgroundTasks
#endif
...
if #available(iOS 13.0, *) {
let backgroundCallProcessingRequest = BGAppRefreshTaskRequest(identifier: kBackgroundTaskIdIdentifier_Authentication)
...但在Xcode10中,会出现BGAppRefreshTaskRequest等无法解析的标识符的编译问题。
有没有办法从Xcode10的编译中排除它?
发布于 2019-09-20 01:08:26
检查Swift版本以欺骗编译器:
#if swift(>=5.1)
if #available(iOS 13.0, *) {
,,,
}
#endif由于Xcode 10包含Swift 5.0,因此Xcode无法检查其内部内容(如果您没有显式地在其上安装Swift 5.1 )。但一定要在Swift 5.1下检查它(肯定是在Xcode11中)。
https://stackoverflow.com/questions/58015646
复制相似问题