我在項目中使用ReachabilitySwift cocoapods。ReachabilitySwift pod在Swift中導致錯誤2.3
波德文件:
pod 'ReachabilitySwift', '~> 2.4'
我安裝這種吊艙和進口ReachabilitySwift
文件。
現在,創建實例時let reachability = Reachability()!
導致錯誤類型「可達性」不帶任何參數無法調用初始化。
我想這solution,但沒有奏效。
是否有修復?
我在項目中使用ReachabilitySwift cocoapods。ReachabilitySwift pod在Swift中導致錯誤2.3
波德文件:
pod 'ReachabilitySwift', '~> 2.4'
我安裝這種吊艙和進口ReachabilitySwift
文件。
現在,創建實例時let reachability = Reachability()!
導致錯誤類型「可達性」不帶任何參數無法調用初始化。
我想這solution,但沒有奏效。
是否有修復?
得到修復!要創建
可達實例作爲遵循雨燕2.3
let reachability = try! Reachability.init(hostname: "www.google.com")
的錯誤信息是很清楚的:
你必須使用取一個參數初始化之一。
類型let reachability = Reach
並找出Xcode建議代碼完成
(或閱讀文檔)。
問題是你使用SWIFT 2.3,這個版本中,你需要使用ReachabilitySwift與版本2.4。但在這個版本可達性類不具有沒有參數的構造函數。爲了解決這個問題,你需要爲這個類創建擴展,並添加不帶參數的構造函數。
extansion Reachability{
public convenience init() {
var zeroAddress = sockaddr()
zeroAddress.sa_len = UInt8(MemoryLayout<sockaddr>.size)
zeroAddress.sa_family = sa_family_t(AF_INET)
guard let ref: SCNetworkReachability = withUnsafePointer(to: &zeroAddress, {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}) else { return nil }
self.init(reachabilityRef: ref)
}
}
我沒有測試此代碼。它的代碼可能包含一些錯誤。
你能告訴你如何在POD文件應用ReachabilitySwift。你有限制它的版本嗎? – Sergey
@謝謝:檢查更新的問題 –
請看我的回答,我已經找到了我的問題的答案。 – Sergey