Swift 错误:";无法调用初始值设定项";对于仅在Watch OS上执行的功能
我在我的“HealthKitService”中声明了一个可失败的初始值设定项,顾名思义,它是HealthKit的一个实用类。问题是某些HealthKit类(如HKWorkoutSession)仅适用于Watch OS,因此我必须使用预处理器指令使函数仅适用于Watch OS:Swift 错误:";无法调用初始值设定项";对于仅在Watch OS上执行的功能,swift,watchkit,init,Swift,Watchkit,Init,我在我的“HealthKitService”中声明了一个可失败的初始值设定项,顾名思义,它是HealthKit的一个实用类。问题是某些HealthKit类(如HKWorkoutSession)仅适用于Watch OS,因此我必须使用预处理器指令使函数仅适用于Watch OS: #if TARGET_OS_WATCH init?(activity:String) { // Here I initialize my HKWorkoutSession object } #endif 但如果我
#if TARGET_OS_WATCH
init?(activity:String) {
// Here I initialize my HKWorkoutSession object
}
#endif
但如果我从WatchKit扩展应用程序调用此初始值设定项,则如下所示:
if let service = HealthKitService(activity: activity) {
// Do something with it
}
我收到这个错误:
无法使用类型为“(活动:字符串)”的参数列表调用类型为“HealthKitService”的初始值设定项
PS:部署目标是Watch OS 3.2,Swift版本:3。尝试\if OS(watchOS)
而不是\if target\u OS\u Watch