WCSessionRx 1.0.0

WCSessionRx 1.0.0

shintaropods维护。



 
依赖
RxSwift~> 4.0
RxCocoa~> 4.0
 

WCSession 响应式扩展

灵感来自RxSwft的CLLocationManager+Rx https://github.com/ReactiveX/RxSwift/tree/master/RxExample/Extensions

用法

import WatchKit
import WatchConnectivity
import RxSwift
import WCSessionRx

class InterfaceController: WKInterfaceController {
    
    private var disposer: Disposable?
    
    override func awake(withContext context: Any?) {
        super.awake(withContext: context)
        
        disposer = WCSession.default()
            .rx.activationState
            .subscribe(onNext: {
                
                print("Activation State is \($0)")
                
            }, onError: {
                
                print("Error \($0)")
                
            }, onCompleted: {
                
            }) {
                
                print("Canceled \($0)")
                
        }
    }
    
    override func willActivate() {
        super.willActivate()
        WCSession.default().activate()
    }
    
    deinit {
        disposer?.dispose()
    }

}

演示

源代码: 演示项目 演示

要求

  • watchOS 2.2

安装

CocoaPods

# Podfile
use_frameworks!

target 'YOUR_WATCH_EXTENSION_TARGET_NAME' do
  pod 'RxSwift',    '~> 4.0'
  pod 'RxCocoa',    '~> 4.0'
  pod 'WCSessionRx'
end

替换YOUR_WATCH_EXTENSION_TARGET_NAME,然后在Podfile目录下输入

pod install