SwiftWatchConnectivity is a WatchConnectivity simple wrapper.
- Queueing requested and received task until all available
- Support all transer between iOS and watchOS
To run the example project, clone the repo, and run pod install from the Example directory first.
- for iOS code
// ViewController.swift
overridefunc viewDidLoad(){
super.viewDidLoad()SwiftWatchConnectivity.shared.delegate =self}func connectivity(_ swiftWatchConnectivity:SwiftWatchConnectivity, updatedWithTask task:SwiftWatchConnectivity.Task){switch task {case.sendMessage(let message):
// message is dictionaly that was sent by opponent OS
default:break}}- for watchOS code
// InterfaceController.swift
overridefunc awake(withContext context:Any?){
super.awake(withContext: context)
// Configure interface objects here.
SwiftWatchConnectivity.shared.delegate =self}func connectivity(_ swiftWatchConnectivity:SwiftWatchConnectivity, updatedWithTask task:SwiftWatchConnectivity.Task){switch task {case.sendMessage(let message):
// message is dictionaly that was sent by opponent OS
default:break}}
// ExtensionDelegate.swift
func handle(_ backgroundTasks:Set<WKRefreshBackgroundTask>){SwiftWatchConnectivity.shared.handle(backgroundTasks):}// send dictionary immediately
SwiftWatchConnectivity.shared.sendMesssage(message:["msg":NSDate()])
// send dictionary in foreground or background
SwiftWatchConnectivity.shared.transferUserInfo(userInfo:["string":"hello","bool":false,"array":[1,2,3]])
// send file with metadata
letfileURL=Bundle.main.url(forResource:"dog", withExtension:"jpg")!
SwiftWatchConnectivity.shared.transferFile(fileURL: fileURL, metadata:["Level":8])- iOS 9.3
- watchOS 4.0
- Swift 4.0
SwiftWatchConnectivity is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod'SwiftWatchConnectivity'SwiftWatchConnectivity is available under the MIT license. See the LICENSE file for more info.