【发布时间】:2015-10-05 12:29:14
【问题描述】:
我正在尝试在 iOS7 上运行此代码,但它失败了
@available(iOS 9.0, *)
class WatchConnection: NSObject, WCSessionDelegate {
class func sharedInstance() -> WatchConnection {
struct WatchConnectionSingleton {
static let instance = WatchConnection()
}
return WatchConnectionSingleton.instance
}
override init() {
super.init()
if (WCSession.isSupported()) {
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
}
但是这行得通
import WatchKit
import WatchConnectivity
class WatchConnection: NSObject, WCSessionDelegate {
class func sharedInstance() -> WatchConnection {
struct WatchConnectionSingleton {
static let instance = WatchConnection()
}
return WatchConnectionSingleton.instance
}
override init() {
super.init()
guard #available(iOS 9.0, *) else { return }
if (WCSession.isSupported()) {
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
}
// use with invalidated session
@available(iOS 9.0, *)
func getUserId(completion: ((String?) -> Void)?) {
【问题讨论】:
-
你是在 iOS9 还是 iOS7 上运行?
-
在 iOS7 中。在 iOS9 中工作正常。
-
你能发布一些错误输出吗? IIRC,@available 标签在 iOS 8 下不可用
-
我已经更新了问题
标签: ios xcode swift swift2 ios9