类型 'WatchManager' 不符合协议 'WCSessionDelegate'
Type 'WatchManager' does not conform to protocol 'WCSessionDelegate'
我尝试在现有项目中使用 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?) -> ()'
我已经试过了:
- 删除派生数据
- 清理项目
- 清理构建文件夹
- 从 git
重新加载项目
- 从另一个项目复制文件
- 创建新文件并重命名
- 在另一个 mac
上构建项目
但我每次都会收到这个错误
但是!
如果我将创建新项目并添加 watchOS 目标并使用此代码创建新文件 - 项目将成功构建。
为什么?我如何尝试在现有项目中添加 WCSessionDelegate?
我用的是Xcode9.2,swift4.0
哦...
感谢@Sameer answer
WCSessionDelegate 有必需的方法
public func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?)
但我的项目有我的自定义 class,名称为 Error
这就是编译器产生不符合协议的错误的原因
我尝试在现有项目中使用 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?) -> ()'
我已经试过了:
- 删除派生数据
- 清理项目
- 清理构建文件夹
- 从 git 重新加载项目
- 从另一个项目复制文件
- 创建新文件并重命名
- 在另一个 mac 上构建项目
但我每次都会收到这个错误
但是! 如果我将创建新项目并添加 watchOS 目标并使用此代码创建新文件 - 项目将成功构建。
为什么?我如何尝试在现有项目中添加 WCSessionDelegate?
我用的是Xcode9.2,swift4.0
哦... 感谢@Sameer answer
WCSessionDelegate 有必需的方法
public func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?)
但我的项目有我的自定义 class,名称为 Error
这就是编译器产生不符合协议的错误的原因