我尝试在exists项目中使用WatchManager.swift。
import Foundation
import WatchConnectivity
class WatchManager: NSObject, WCSessionDelegate {
func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
}
func sessionDidBecomeInactive(_ session: WCSession) {
}
func sessionDidDeactivate(_ session: WCSession) {
}
}
但是我在构建项目时遇到了麻烦
Swift Compiler Error Group - Type 'WatchManager' does not conform to protocol 'WCSessionDelegate'
同样在问题导航器中我看到错误
Candidate has non-matching type '(WCSession, WCSessionActivationState, Error?) -> ()'
我已经尝试过:
但我每次都会收到此错误
BUT! 如果我将创建新项目并添加watchOS目标并使用此代码创建新文件 - 项目将成功构建。
为什么呢?我如何尝试在我的存在项目中添加WCSessionDelegate?
我使用Xcode9.2,swift4.0
答案 0 :(得分:0)
...喔 感谢@Sameer answer
WCSessionDelegate需要方法
public func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?)
但我的项目是我的名为Error
的自定义类
这就是编译器产生不符合协议
的错误的原因