2017-09-03 37 views
0

我在我的「HealthKitService」中聲明瞭failable初始值設定項,正如名稱所述,它是HealthKit的一個實用程序類。問題是,某些HealthKit類如HKWorkoutSession,僅適用於觀看操作系統,所以我只好用預處理指令,使只能用於觀看OS的功能:錯誤:「無法調用初始值設定項」僅用於在Watch OS上執行的功能

#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 
} 

我收到此錯誤:

Cannot invoke initializer for type 'HealthKitService' with an argument list of type '(activity: String)'

PS:部署目標是Watch OS 3.2,Swift版本:3.

回答

1

嘗試#if os(watchOS)而不是#if TARGET_OS_WATCH

相關問題