From 059e3ca3ab382b8ba7b00df9e2f57516b95dd444 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Wed, 30 Sep 2015 14:02:41 +0200 Subject: [PATCH 01/25] Adds watchOS targets and at least tests building targets. --- Rx.xcodeproj/project.pbxproj | 674 ++++++++++++++++++ .../xcschemes/RxBlocking-watchOS.xcscheme | 80 +++ .../xcschemes/RxCocoa-watchOS.xcscheme | 80 +++ .../xcschemes/RxSwift-watchOS.xcscheme | 80 +++ .../Implementations/ControlTarget.swift | 4 + ...ollectionViewReactiveArrayDataSource.swift | 6 +- .../RxTableViewReactiveArrayDataSource.swift | 6 +- .../RxCollectionViewDataSourceType.swift | 6 +- .../Protocols/RxTableViewDataSourceType.swift | 6 +- .../RxCollectionViewDataSourceProxy.swift | 6 +- .../RxCollectionViewDelegateProxy.swift | 6 +- .../Proxies/RxScrollViewDelegateProxy.swift | 4 + .../Proxies/RxSearchBarDelegateProxy.swift | 6 +- .../Proxies/RxTableViewDataSourceProxy.swift | 6 +- .../Proxies/RxTableViewDelegateProxy.swift | 6 +- .../iOS/Proxies/RxTextViewDelegateProxy.swift | 4 + RxCocoa/iOS/UIBarButtonItem+Rx.swift | 6 +- RxCocoa/iOS/UIButton+Rx.swift | 6 +- RxCocoa/iOS/UICollectionView+Rx.swift | 4 + RxCocoa/iOS/UIControl+Rx.swift | 4 + RxCocoa/iOS/UIGestureRecognizer+Rx.swift | 6 +- RxCocoa/iOS/UIImageView+Rx.swift | 4 + RxCocoa/iOS/UILabel+Rx.swift | 6 +- RxCocoa/iOS/UIScrollView+Rx.swift | 4 + RxCocoa/iOS/UISearchBar+Rx.swift | 6 +- RxCocoa/iOS/UISegmentedControl+Rx.swift | 6 +- RxCocoa/iOS/UITableView+Rx.swift | 6 +- RxCocoa/iOS/UITextField+Rx.swift | 6 +- RxCocoa/iOS/UITextView+Rx.swift | 4 + scripts/common.sh | 2 +- scripts/pre-release-tests.sh | 18 + 31 files changed, 1050 insertions(+), 18 deletions(-) create mode 100644 Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme create mode 100644 Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme create mode 100644 Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme diff --git a/Rx.xcodeproj/project.pbxproj b/Rx.xcodeproj/project.pbxproj index d5a1d7af..5bef0cfd 100644 --- a/Rx.xcodeproj/project.pbxproj +++ b/Rx.xcodeproj/project.pbxproj @@ -316,6 +316,175 @@ C8C3DA101B939767004D233E /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */; }; C8C3DA121B93A3EA004D233E /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */; }; C8C3DA131B93A3EA004D233E /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */; }; + C8F0BF921BBBFB8B001B112F /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C981B8A72BE0088E94D /* Observable+Creation.swift */; }; + C8F0BF931BBBFB8B001B112F /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C4D1B8A72BE0088E94D /* ConnectableObservableType.swift */; }; + C8F0BF941BBBFB8B001B112F /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA021B9390C4004D233E /* Just.swift */; }; + C8F0BF951BBBFB8B001B112F /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */; }; + C8F0BF961BBBFB8B001B112F /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C521B8A72BE0088E94D /* Disposable.swift */; }; + C8F0BF971BBBFB8B001B112F /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */; }; + C8F0BF981BBBFB8B001B112F /* FailWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA081B93941E004D233E /* FailWith.swift */; }; + C8F0BF991BBBFB8B001B112F /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CBB1B8A72BE0088E94D /* SchedulerServices+Emulation.swift */; }; + C8F0BF9A1BBBFB8B001B112F /* ObserverOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA01B8A72BE0088E94D /* ObserverOf.swift */; }; + C8F0BF9B1BBBFB8B001B112F /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C891B8A72BE0088E94D /* Skip.swift */; }; + C8F0BF9C1BBBFB8B001B112F /* StableCompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C611B8A72BE0088E94D /* StableCompositeDisposable.swift */; }; + C8F0BF9D1BBBFB8B001B112F /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C921B8A72BE0088E94D /* Zip+arity.swift */; }; + C8F0BF9E1BBBFB8B001B112F /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C911B8A72BE0088E94D /* Timer.swift */; }; + C8F0BF9F1BBBFB8B001B112F /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA051B9393AC004D233E /* Empty.swift */; }; + C8F0BFA01BBBFB8B001B112F /* RxBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB01B8A72BE0088E94D /* RxBox.swift */; }; + C8F0BFA11BBBFB8B001B112F /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C881B8A72BE0088E94D /* Sink.swift */; }; + C8F0BFA21BBBFB8B001B112F /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8E1B8A72BE0088E94D /* TakeUntil.swift */; }; + C8F0BFA31BBBFB8B001B112F /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB71B8A72BE0088E94D /* MainScheduler.swift */; }; + C8F0BFA41BBBFB8B001B112F /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84B38ED1BA433CD001B7D88 /* Generate.swift */; }; + C8F0BFA51BBBFB8B001B112F /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C761B8A72BE0088E94D /* Deferred.swift */; }; + C8F0BFA61BBBFB8B001B112F /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC01B8A72BE0088E94D /* ReplaySubject.swift */; }; + C8F0BFA71BBBFB8B001B112F /* Zip+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3D9FD1B935EDF004D233E /* Zip+CollectionType.swift */; }; + C8F0BFA81BBBFB8B001B112F /* Observable+Time.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9D1B8A72BE0088E94D /* Observable+Time.swift */; }; + C8F0BFA91BBBFB8B001B112F /* Observable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C671B8A72BE0088E94D /* Observable+Extensions.swift */; }; + C8F0BFAA1BBBFB8B001B112F /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C901B8A72BE0088E94D /* Throttle.swift */; }; + C8F0BFAB1BBBFB8B001B112F /* AsObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C6D1B8A72BE0088E94D /* AsObservable.swift */; }; + C8F0BFAC1BBBFB8B001B112F /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C6E1B8A72BE0088E94D /* Catch.swift */; }; + C8F0BFAD1BBBFB8B001B112F /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C711B8A72BE0088E94D /* CombineLatest.swift */; }; + C8F0BFAE1BBBFB8B001B112F /* Observable+Multiple.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9A1B8A72BE0088E94D /* Observable+Multiple.swift */; }; + C8F0BFAF1BBBFB8B001B112F /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA61B8A72BE0088E94D /* ObserverBase.swift */; }; + C8F0BFB01BBBFB8B001B112F /* ConnectableObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C741B8A72BE0088E94D /* ConnectableObservable.swift */; }; + C8F0BFB11BBBFB8B001B112F /* Observable+StandardSequenceOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9C1B8A72BE0088E94D /* Observable+StandardSequenceOperators.swift */; }; + C8F0BFB21BBBFB8B001B112F /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C781B8A72BE0088E94D /* DistinctUntilChanged.swift */; }; + C8F0BFB31BBBFB8B001B112F /* Observable+Binding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C961B8A72BE0088E94D /* Observable+Binding.swift */; }; + C8F0BFB41BBBFB8B001B112F /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA91B8A72BE0088E94D /* TailRecursiveSink.swift */; }; + C8F0BFB51BBBFB8B001B112F /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C4B1B8A72BE0088E94D /* AsyncLock.swift */; }; + C8F0BFB61BBBFB8B001B112F /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C551B8A72BE0088E94D /* BinaryDisposable.swift */; }; + C8F0BFB71BBBFB8B001B112F /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C801B8A72BE0088E94D /* ObserveOn.swift */; }; + C8F0BFB81BBBFB8B001B112F /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C861B8A72BE0088E94D /* Sample.swift */; }; + C8F0BFB91BBBFB8B001B112F /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */; }; + C8F0BFBA1BBBFB8B001B112F /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7E1B8A72BE0088E94D /* Multicast.swift */; }; + C8F0BFBB1BBBFB8B001B112F /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */; }; + C8F0BFBC1BBBFB8B001B112F /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAF1B8A72BE0088E94D /* Rx.swift */; }; + C8F0BFBD1BBBFB8B001B112F /* CombineLatest+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D342D1B9245A40014629D /* CombineLatest+CollectionType.swift */; }; + C8F0BFBE1BBBFB8B001B112F /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC11B8A72BE0088E94D /* SubjectType.swift */; }; + C8F0BFBF1BBBFB8B001B112F /* Observable+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C991B8A72BE0088E94D /* Observable+Debug.swift */; }; + C8F0BFC01BBBFB8B001B112F /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C971B8A72BE0088E94D /* Observable+Concurrency.swift */; }; + C8F0BFC11BBBFB8B001B112F /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA21B8A72BE0088E94D /* AnonymousObserver.swift */; }; + C8F0BFC21BBBFB8B001B112F /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CBF1B8A72BE0088E94D /* PublishSubject.swift */; }; + C8F0BFC31BBBFB8B001B112F /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7D1B8A72BE0088E94D /* Merge.swift */; }; + C8F0BFC41BBBFB8B001B112F /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB31B8A72BE0088E94D /* SchedulerType.swift */; }; + C8F0BFC51BBBFB8B001B112F /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC21B8A72BE0088E94D /* Variable.swift */; }; + C8F0BFC61BBBFB8B001B112F /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */; }; + C8F0BFC71BBBFB8B001B112F /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */; }; + C8F0BFC81BBBFB8B001B112F /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C6F1B8A72BE0088E94D /* CombineLatest+arity.swift */; }; + C8F0BFC91BBBFB8B001B112F /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C581B8A72BE0088E94D /* DisposeBag.swift */; }; + C8F0BFCA1BBBFB8B001B112F /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB91B8A72BE0088E94D /* RecursiveScheduler.swift */; }; + C8F0BFCB1BBBFB8B001B112F /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C871B8A72BE0088E94D /* Scan.swift */; }; + C8F0BFCC1BBBFB8B001B112F /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C511B8A72BE0088E94D /* Queue.swift */; }; + C8F0BFCD1BBBFB8B001B112F /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */; }; + C8F0BFCE1BBBFB8B001B112F /* FlatMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7B1B8A72BE0088E94D /* FlatMap.swift */; }; + C8F0BFCF1BBBFB8B001B112F /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C591B8A72BE0088E94D /* DisposeBase.swift */; }; + C8F0BFD01BBBFB8B001B112F /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C541B8A72BE0088E94D /* AnonymousDisposable.swift */; }; + C8F0BFD11BBBFB8B001B112F /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */; }; + C8F0BFD21BBBFB8B001B112F /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8C1B8A72BE0088E94D /* Switch.swift */; }; + C8F0BFD31BBBFB8B001B112F /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CBE1B8A72BE0088E94D /* BehaviorSubject.swift */; }; + C8F0BFD41BBBFB8B001B112F /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C771B8A72BE0088E94D /* DelaySubscription.swift */; }; + C8F0BFD51BBBFB8B001B112F /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = C86409FB1BA593F500D3C4E8 /* Range.swift */; }; + C8F0BFD61BBBFB8B001B112F /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7C1B8A72BE0088E94D /* Map.swift */; }; + C8F0BFD71BBBFB8B001B112F /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C501B8A72BE0088E94D /* InfiniteSequence.swift */; }; + C8F0BFD81BBBFB8B001B112F /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9E1B8A72BE0088E94D /* ObservableType.swift */; }; + C8F0BFD91BBBFB8B001B112F /* Observable+Aggregate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C951B8A72BE0088E94D /* Observable+Aggregate.swift */; }; + C8F0BFDA1BBBFB8B001B112F /* ObserveOnSerialDispatchQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C811B8A72BE0088E94D /* ObserveOnSerialDispatchQueue.swift */; }; + C8F0BFDB1BBBFB8B001B112F /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8A1B8A72BE0088E94D /* StartWith.swift */; }; + C8F0BFDC1BBBFB8B001B112F /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C821DBA11BA4DCAB008F3809 /* Buffer.swift */; }; + C8F0BFDD1BBBFB8B001B112F /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8F1B8A72BE0088E94D /* TakeWhile.swift */; }; + C8F0BFDE1BBBFB8B001B112F /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C6B1B8A72BE0088E94D /* Amb.swift */; }; + C8F0BFDF1BBBFB8B001B112F /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C791B8A72BE0088E94D /* Do.swift */; }; + C8F0BFE01BBBFB8B001B112F /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CBC1B8A72BE0088E94D /* SerialDispatchQueueScheduler.swift */; }; + C8F0BFE11BBBFB8B001B112F /* RefCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C851B8A72BE0088E94D /* RefCount.swift */; }; + C8F0BFE21BBBFB8B001B112F /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C721B8A72BE0088E94D /* Concat.swift */; }; + C8F0BFE31BBBFB8B001B112F /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C4C1B8A72BE0088E94D /* Lock.swift */; }; + C8F0BFE41BBBFB8B001B112F /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8D1B8A72BE0088E94D /* Take.swift */; }; + C8F0BFE51BBBFB8B001B112F /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C841B8A72BE0088E94D /* Reduce.swift */; }; + C8F0BFE61BBBFB8B001B112F /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84B38E71BA43380001B7D88 /* ScheduledItem.swift */; }; + C8F0BFE71BBBFB8B001B112F /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8640A021BA5B12A00D3C4E8 /* Repeat.swift */; }; + C8F0BFE81BBBFB8B001B112F /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C631B8A72BE0088E94D /* Error.swift */; }; + C8F0BFE91BBBFB8B001B112F /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C751B8A72BE0088E94D /* Debug.swift */; }; + C8F0BFEA1BBBFB8B001B112F /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C4F1B8A72BE0088E94D /* Bag.swift */; }; + C8F0BFEB1BBBFB8B001B112F /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C831B8A72BE0088E94D /* Producer.swift */; }; + C8F0BFEC1BBBFB8B001B112F /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C651B8A72BE0088E94D /* ImmediateSchedulerType.swift */; }; + C8F0BFED1BBBFB8B001B112F /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C491B8A72BE0088E94D /* Cancelable.swift */; }; + C8F0BFEE1BBBFB8B001B112F /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */; }; + C8F0BFEF1BBBFB8B001B112F /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7A1B8A72BE0088E94D /* Filter.swift */; }; + C8F0BFF01BBBFB8B001B112F /* Observable+Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9B1B8A72BE0088E94D /* Observable+Single.swift */; }; + C8F0BFF11BBBFB8B001B112F /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C571B8A72BE0088E94D /* CompositeDisposable.swift */; }; + C8F0BFF21BBBFB8B001B112F /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAB1B8A72BE0088E94D /* ObserverType.swift */; }; + C8F0BFF31BBBFB8B001B112F /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8B1B8A72BE0088E94D /* SubscribeOn.swift */; }; + C8F0BFF41BBBFB8B001B112F /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C681B8A72BE0088E94D /* Observable.swift */; }; + C8F0BFF51BBBFB8B001B112F /* NAryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */; }; + C8F0BFF61BBBFB8B001B112F /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; }; + C8F0BFF71BBBFB8B001B112F /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0B1B93959F004D233E /* Never.swift */; }; + C8F0BFF81BBBFB8B001B112F /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */; }; + C8F0BFF91BBBFB8B001B112F /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C641B8A72BE0088E94D /* Event.swift */; }; + C8F0BFFA1BBBFB8B001B112F /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C941B8A72BE0088E94D /* Zip.swift */; }; + C8F0C0061BBBFBB9001B112F /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254101B8A752B00B02D69 /* UISlider+Rx.swift */; }; + C8F0C0071BBBFBB9001B112F /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E871B8A732E0088E94D /* _RXKVOObserver.m */; }; + C8F0C0081BBBFBB9001B112F /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540D1B8A752B00B02D69 /* UIScrollView+Rx.swift */; }; + C8F0C0091BBBFBB9001B112F /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E8C1B8A732E0088E94D /* DelegateProxyType.swift */; }; + C8F0C00A1BBBFBB9001B112F /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E9C1B8A732E0088E94D /* RxTarget.swift */; }; + C8F0C00B1BBBFBB9001B112F /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254141B8A752B00B02D69 /* UITextView+Rx.swift */; }; + C8F0C00C1BBBFBB9001B112F /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F21B8A752B00B02D69 /* RxTableViewReactiveArrayDataSource.swift */; }; + C8F0C00D1BBBFBB9001B112F /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FC1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift */; }; + C8F0C00E1BBBFBB9001B112F /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E831B8A732E0088E94D /* _RX.m */; }; + C8F0C00F1BBBFBB9001B112F /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E9B1B8A732E0088E94D /* RxCocoa.swift */; }; + C8F0C0101BBBFBB9001B112F /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254011B8A752B00B02D69 /* RxTableViewDelegateProxy.swift */; }; + C8F0C0111BBBFBB9001B112F /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31F35AF1BB4FED800961002 /* UIStepper+Rx.swift */; }; + C8F0C0121BBBFBB9001B112F /* UIImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540B1B8A752B00B02D69 /* UIImageView+Rx.swift */; }; + C8F0C0131BBBFBB9001B112F /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D33931B922FB00014629D /* ControlEvent.swift */; }; + C8F0C0141BBBFBB9001B112F /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */; }; + C8F0C0151BBBFBB9001B112F /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254081B8A752B00B02D69 /* UIControl+Rx.swift */; }; + C8F0C0161BBBFBB9001B112F /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254121B8A752B00B02D69 /* UITableView+Rx.swift */; }; + C8F0C0171BBBFBB9001B112F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F11B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift */; }; + C8F0C0181BBBFBB9001B112F /* KVOObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E941B8A732E0088E94D /* KVOObserver.swift */; }; + C8F0C0191BBBFBB9001B112F /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */; }; + C8F0C01A1BBBFBB9001B112F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */; }; + C8F0C01B1BBBFBB9001B112F /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */; }; + C8F0C01C1BBBFBB9001B112F /* UILabel+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540C1B8A752B00B02D69 /* UILabel+Rx.swift */; }; + C8F0C01D1BBBFBB9001B112F /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FF1B8A752B00B02D69 /* RxSearchBarDelegateProxy.swift */; }; + C8F0C01E1BBBFBB9001B112F /* RxAlertViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */; }; + C8F0C01F1BBBFBB9001B112F /* Observable+CocoaExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D338E1B91EF9E0014629D /* Observable+CocoaExtensions.swift */; }; + C8F0C0201BBBFBB9001B112F /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540F1B8A752B00B02D69 /* UISegmentedControl+Rx.swift */; }; + C8F0C0211BBBFBB9001B112F /* KVOObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E931B8A732E0088E94D /* KVOObservable.swift */; }; + C8F0C0221BBBFBB9001B112F /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254061B8A752B00B02D69 /* UIButton+Rx.swift */; }; + C8F0C0231BBBFBB9001B112F /* CLLocationManager+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E8A1B8A732E0088E94D /* CLLocationManager+Rx.swift */; }; + C8F0C0241BBBFBB9001B112F /* DeinitAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E921B8A732E0088E94D /* DeinitAction.swift */; }; + C8F0C0251BBBFBB9001B112F /* RxActionSheetDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */; }; + C8F0C0261BBBFBB9001B112F /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E851B8A732E0088E94D /* _RXDelegateProxy.m */; }; + C8F0C0271BBBFBB9001B112F /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E971B8A732E0088E94D /* NSObject+Rx.swift */; }; + C8F0C0281BBBFBB9001B112F /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254021B8A752B00B02D69 /* RxTextViewDelegateProxy.swift */; }; + C8F0C0291BBBFBB9001B112F /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */; }; + C8F0C02A1BBBFBB9001B112F /* UIActionSheet+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */; }; + C8F0C02B1BBBFBB9001B112F /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D33941B922FB00014629D /* ControlProperty.swift */; }; + C8F0C02C1BBBFBB9001B112F /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254091B8A752B00B02D69 /* UIDatePicker+Rx.swift */; }; + C8F0C02D1BBBFBB9001B112F /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254001B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift */; }; + C8F0C02E1BBBFBB9001B112F /* _RXSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E891B8A732E0088E94D /* _RXSwizzling.m */; }; + C8F0C02F1BBBFBB9001B112F /* Deallocating.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E911B8A732E0088E94D /* Deallocating.swift */; }; + C8F0C0301BBBFBB9001B112F /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540A1B8A752B00B02D69 /* UIGestureRecognizer+Rx.swift */; }; + C8F0C0311BBBFBB9001B112F /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E8B1B8A732E0088E94D /* DelegateProxy.swift */; }; + C8F0C0321BBBFBB9001B112F /* RxCLLocationManagerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E9A1B8A732E0088E94D /* RxCLLocationManagerDelegateProxy.swift */; }; + C8F0C0331BBBFBB9001B112F /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254111B8A752B00B02D69 /* UISwitch+Rx.swift */; }; + C8F0C0341BBBFBB9001B112F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E8D1B8A732E0088E94D /* Logging.swift */; }; + C8F0C0351BBBFBB9001B112F /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254071B8A752B00B02D69 /* UICollectionView+Rx.swift */; }; + C8F0C0361BBBFBB9001B112F /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F71B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift */; }; + C8F0C0371BBBFBB9001B112F /* NSNotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */; }; + C8F0C0381BBBFBB9001B112F /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254131B8A752B00B02D69 /* UITextField+Rx.swift */; }; + C8F0C0391BBBFBB9001B112F /* NSURLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E981B8A732E0088E94D /* NSURLSession+Rx.swift */; }; + C8F0C03A1BBBFBB9001B112F /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E901B8A732E0088E94D /* ControlTarget.swift */; }; + C8F0C03B1BBBFBB9001B112F /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540E1B8A752B00B02D69 /* UISearchBar+Rx.swift */; }; + C8F0C03C1BBBFBB9001B112F /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; }; + C8F0C03D1BBBFBB9001B112F /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F81B8A752B00B02D69 /* RxTableViewDataSourceType.swift */; }; + C8F0C0411BBBFBB9001B112F /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093ECB1B8A732E0088E94D /* RxCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8F0C0421BBBFBB9001B112F /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E841B8A732E0088E94D /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8F0C0431BBBFBB9001B112F /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E821B8A732E0088E94D /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8F0C0441BBBFBB9001B112F /* _RXSwizzling.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E881B8A732E0088E94D /* _RXSwizzling.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8F0C0451BBBFBB9001B112F /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E861B8A732E0088E94D /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8F0C04F1BBBFBCE001B112F /* Observable+Blocking.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093F581B8A73A20088E94D /* Observable+Blocking.swift */; }; + C8F0C05A1BBC016A001B112F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8F0C0021BBBFB8B001B112F /* RxSwift.framework */; }; + C8F0C05B1BBC0171001B112F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8F0C0021BBBFB8B001B112F /* RxSwift.framework */; }; D203C4F31BB9C4CA00D02D00 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F11B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift */; }; D203C4F41BB9C52400D02D00 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F21B8A752B00B02D69 /* RxTableViewReactiveArrayDataSource.swift */; }; D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; }; @@ -673,6 +842,12 @@ C8C3DA0B1B93959F004D233E /* Never.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Never.swift; sourceTree = ""; }; C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrentThreadScheduler.swift; sourceTree = ""; }; C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnonymousObservable.swift; sourceTree = ""; }; + C8F0C0021BBBFB8B001B112F /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C8F0C0031BBBFB8B001B112F /* RxSwift-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxSwift-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxSwift-iOS copy-Info.plist"; sourceTree = ""; }; + C8F0C04B1BBBFBB9001B112F /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C8F0C04C1BBBFBB9001B112F /* RxCocoa-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxCocoa-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxCocoa-iOS copy-Info.plist"; sourceTree = ""; }; + C8F0C0581BBBFBCE001B112F /* RxBlocking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C8F0C0591BBBFBCF001B112F /* RxBlocking-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxBlocking-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxBlocking-iOS copy-Info.plist"; sourceTree = ""; }; D2138C751BB9BE9800339B5C /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2EA280E1BB9B5A200880ED3 /* RxSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RxSwift.h; sourceTree = ""; }; @@ -728,6 +903,29 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C8F0BFFB1BBBFB8B001B112F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C03E1BBBFBB9001B112F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0C05A1BBC016A001B112F /* RxSwift.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0501BBBFBCE001B112F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0C05B1BBC0171001B112F /* RxSwift.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2138C711BB9BE9800339B5C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1114,6 +1312,9 @@ C8093E801B8A732E0088E94D /* RxCocoa */, D2EA280D1BB9B5A200880ED3 /* RxSwift */, C8A56AD81AD7424700B4673B /* Products */, + C8F0C0031BBBFB8B001B112F /* RxSwift-iOS copy-Info.plist */, + C8F0C04C1BBBFBB9001B112F /* RxCocoa-iOS copy-Info.plist */, + C8F0C0591BBBFBCF001B112F /* RxBlocking-iOS copy-Info.plist */, ); sourceTree = ""; }; @@ -1129,6 +1330,9 @@ D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */, D2EBEB811BB9B99D003A27DC /* RxBlocking.framework */, D2138C751BB9BE9800339B5C /* RxCocoa.framework */, + C8F0C0021BBBFB8B001B112F /* RxSwift.framework */, + C8F0C04B1BBBFBB9001B112F /* RxCocoa.framework */, + C8F0C0581BBBFBCE001B112F /* RxBlocking.framework */, ); name = Products; sourceTree = ""; @@ -1197,6 +1401,32 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C8F0BFFC1BBBFB8B001B112F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0401BBBFBB9001B112F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0C0411BBBFBB9001B112F /* RxCocoa.h in Headers */, + C8F0C0421BBBFBB9001B112F /* _RXDelegateProxy.h in Headers */, + C8F0C0431BBBFBB9001B112F /* _RX.h in Headers */, + C8F0C0441BBBFBB9001B112F /* _RXSwizzling.h in Headers */, + C8F0C0451BBBFBB9001B112F /* _RXKVOObserver.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0521BBBFBCE001B112F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2138C721BB9BE9800339B5C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1334,6 +1564,60 @@ productReference = C8A56AD71AD7424700B4673B /* RxSwift.framework */; productType = "com.apple.product-type.framework"; }; + C8F0BF901BBBFB8B001B112F /* RxSwift-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = C8F0BFFE1BBBFB8B001B112F /* Build configuration list for PBXNativeTarget "RxSwift-watchOS" */; + buildPhases = ( + C8F0BF911BBBFB8B001B112F /* Sources */, + C8F0BFFB1BBBFB8B001B112F /* Frameworks */, + C8F0BFFC1BBBFB8B001B112F /* Headers */, + C8F0BFFD1BBBFB8B001B112F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RxSwift-watchOS"; + productName = RxSwift; + productReference = C8F0C0021BBBFB8B001B112F /* RxSwift.framework */; + productType = "com.apple.product-type.framework"; + }; + C8F0C0041BBBFBB9001B112F /* RxCocoa-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = C8F0C0471BBBFBB9001B112F /* Build configuration list for PBXNativeTarget "RxCocoa-watchOS" */; + buildPhases = ( + C8F0C0051BBBFBB9001B112F /* Sources */, + C8F0C03E1BBBFBB9001B112F /* Frameworks */, + C8F0C0401BBBFBB9001B112F /* Headers */, + C8F0C0461BBBFBB9001B112F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RxCocoa-watchOS"; + productName = RxSwift; + productReference = C8F0C04B1BBBFBB9001B112F /* RxCocoa.framework */; + productType = "com.apple.product-type.framework"; + }; + C8F0C04D1BBBFBCE001B112F /* RxBlocking-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = C8F0C0541BBBFBCE001B112F /* Build configuration list for PBXNativeTarget "RxBlocking-watchOS" */; + buildPhases = ( + C8F0C04E1BBBFBCE001B112F /* Sources */, + C8F0C0501BBBFBCE001B112F /* Frameworks */, + C8F0C0521BBBFBCE001B112F /* Headers */, + C8F0C0531BBBFBCE001B112F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RxBlocking-watchOS"; + productName = RxSwift; + productReference = C8F0C0581BBBFBCE001B112F /* RxBlocking.framework */; + productType = "com.apple.product-type.framework"; + }; D2138C741BB9BE9800339B5C /* RxCocoa-tvOS */ = { isa = PBXNativeTarget; buildConfigurationList = D2138C7A1BB9BE9800339B5C /* Build configuration list for PBXNativeTarget "RxCocoa-tvOS" */; @@ -1427,12 +1711,15 @@ C8A56AD61AD7424700B4673B /* RxSwift-iOS */, C88BB81A1B07E5ED0064D411 /* RxSwift-OSX */, D2EA280B1BB9B5A200880ED3 /* RxSwift-tvOS */, + C8F0BF901BBBFB8B001B112F /* RxSwift-watchOS */, C80938F51B8A71760088E94D /* RxCocoa-iOS */, C809396F1B8A71840088E94D /* RxCocoa-OSX */, D2138C741BB9BE9800339B5C /* RxCocoa-tvOS */, + C8F0C0041BBBFBB9001B112F /* RxCocoa-watchOS */, C8093B4B1B8A71F00088E94D /* RxBlocking-iOS */, C8093BC91B8A71FC0088E94D /* RxBlocking-OSX */, D2EBEB801BB9B99D003A27DC /* RxBlocking-tvOS */, + C8F0C04D1BBBFBCE001B112F /* RxBlocking-watchOS */, ); }; /* End PBXProject section */ @@ -1480,6 +1767,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C8F0BFFD1BBBFB8B001B112F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0461BBBFBB9001B112F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0531BBBFBCE001B112F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2138C731BB9BE9800339B5C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -1842,6 +2150,189 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C8F0BF911BBBFB8B001B112F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0BF921BBBFB8B001B112F /* Observable+Creation.swift in Sources */, + C8F0BF931BBBFB8B001B112F /* ConnectableObservableType.swift in Sources */, + C8F0BF941BBBFB8B001B112F /* Just.swift in Sources */, + C8F0BF951BBBFB8B001B112F /* NopDisposable.swift in Sources */, + C8F0BF961BBBFB8B001B112F /* Disposable.swift in Sources */, + C8F0BF971BBBFB8B001B112F /* SingleAssignmentDisposable.swift in Sources */, + C8F0BF981BBBFB8B001B112F /* FailWith.swift in Sources */, + C8F0BF991BBBFB8B001B112F /* SchedulerServices+Emulation.swift in Sources */, + C8F0BF9A1BBBFB8B001B112F /* ObserverOf.swift in Sources */, + C8F0BF9B1BBBFB8B001B112F /* Skip.swift in Sources */, + C8F0BF9C1BBBFB8B001B112F /* StableCompositeDisposable.swift in Sources */, + C8F0BF9D1BBBFB8B001B112F /* Zip+arity.swift in Sources */, + C8F0BF9E1BBBFB8B001B112F /* Timer.swift in Sources */, + C8F0BF9F1BBBFB8B001B112F /* Empty.swift in Sources */, + C8F0BFA01BBBFB8B001B112F /* RxBox.swift in Sources */, + C8F0BFA11BBBFB8B001B112F /* Sink.swift in Sources */, + C8F0BFA21BBBFB8B001B112F /* TakeUntil.swift in Sources */, + C8F0BFA31BBBFB8B001B112F /* MainScheduler.swift in Sources */, + C8F0BFA41BBBFB8B001B112F /* Generate.swift in Sources */, + C8F0BFA51BBBFB8B001B112F /* Deferred.swift in Sources */, + C8F0BFA61BBBFB8B001B112F /* ReplaySubject.swift in Sources */, + C8F0BFA71BBBFB8B001B112F /* Zip+CollectionType.swift in Sources */, + C8F0BFA81BBBFB8B001B112F /* Observable+Time.swift in Sources */, + C8F0BFA91BBBFB8B001B112F /* Observable+Extensions.swift in Sources */, + C8F0BFAA1BBBFB8B001B112F /* Throttle.swift in Sources */, + C8F0BFAB1BBBFB8B001B112F /* AsObservable.swift in Sources */, + C8F0BFAC1BBBFB8B001B112F /* Catch.swift in Sources */, + C8F0BFAD1BBBFB8B001B112F /* CombineLatest.swift in Sources */, + C8F0BFAE1BBBFB8B001B112F /* Observable+Multiple.swift in Sources */, + C8F0BFAF1BBBFB8B001B112F /* ObserverBase.swift in Sources */, + C8F0BFB01BBBFB8B001B112F /* ConnectableObservable.swift in Sources */, + C8F0BFB11BBBFB8B001B112F /* Observable+StandardSequenceOperators.swift in Sources */, + C8F0BFB21BBBFB8B001B112F /* DistinctUntilChanged.swift in Sources */, + C8F0BFB31BBBFB8B001B112F /* Observable+Binding.swift in Sources */, + C8F0BFB41BBBFB8B001B112F /* TailRecursiveSink.swift in Sources */, + C8F0BFB51BBBFB8B001B112F /* AsyncLock.swift in Sources */, + C8F0BFB61BBBFB8B001B112F /* BinaryDisposable.swift in Sources */, + C8F0BFB71BBBFB8B001B112F /* ObserveOn.swift in Sources */, + C8F0BFB81BBBFB8B001B112F /* Sample.swift in Sources */, + C8F0BFB91BBBFB8B001B112F /* ScopedDisposable.swift in Sources */, + C8F0BFBA1BBBFB8B001B112F /* Multicast.swift in Sources */, + C8F0BFBB1BBBFB8B001B112F /* CurrentThreadScheduler.swift in Sources */, + C8F0BFBC1BBBFB8B001B112F /* Rx.swift in Sources */, + C8F0BFBD1BBBFB8B001B112F /* CombineLatest+CollectionType.swift in Sources */, + C8F0BFBE1BBBFB8B001B112F /* SubjectType.swift in Sources */, + C8F0BFBF1BBBFB8B001B112F /* Observable+Debug.swift in Sources */, + C8F0BFC01BBBFB8B001B112F /* Observable+Concurrency.swift in Sources */, + C8F0BFC11BBBFB8B001B112F /* AnonymousObserver.swift in Sources */, + C8F0BFC21BBBFB8B001B112F /* PublishSubject.swift in Sources */, + C8F0BFC31BBBFB8B001B112F /* Merge.swift in Sources */, + C8F0BFC41BBBFB8B001B112F /* SchedulerType.swift in Sources */, + C8F0BFC51BBBFB8B001B112F /* Variable.swift in Sources */, + C8F0BFC61BBBFB8B001B112F /* OperationQueueScheduler.swift in Sources */, + C8F0BFC71BBBFB8B001B112F /* DispatchQueueSchedulerPriority.swift in Sources */, + C8F0BFC81BBBFB8B001B112F /* CombineLatest+arity.swift in Sources */, + C8F0BFC91BBBFB8B001B112F /* DisposeBag.swift in Sources */, + C8F0BFCA1BBBFB8B001B112F /* RecursiveScheduler.swift in Sources */, + C8F0BFCB1BBBFB8B001B112F /* Scan.swift in Sources */, + C8F0BFCC1BBBFB8B001B112F /* Queue.swift in Sources */, + C8F0BFCD1BBBFB8B001B112F /* AnonymousObservable.swift in Sources */, + C8F0BFCE1BBBFB8B001B112F /* FlatMap.swift in Sources */, + C8F0BFCF1BBBFB8B001B112F /* DisposeBase.swift in Sources */, + C8F0BFD01BBBFB8B001B112F /* AnonymousDisposable.swift in Sources */, + C8F0BFD11BBBFB8B001B112F /* ConcurrentDispatchQueueScheduler.swift in Sources */, + C8F0BFD21BBBFB8B001B112F /* Switch.swift in Sources */, + C8F0BFD31BBBFB8B001B112F /* BehaviorSubject.swift in Sources */, + C8F0BFD41BBBFB8B001B112F /* DelaySubscription.swift in Sources */, + C8F0BFD51BBBFB8B001B112F /* Range.swift in Sources */, + C8F0BFD61BBBFB8B001B112F /* Map.swift in Sources */, + C8F0BFD71BBBFB8B001B112F /* InfiniteSequence.swift in Sources */, + C8F0BFD81BBBFB8B001B112F /* ObservableType.swift in Sources */, + C8F0BFD91BBBFB8B001B112F /* Observable+Aggregate.swift in Sources */, + C8F0BFDA1BBBFB8B001B112F /* ObserveOnSerialDispatchQueue.swift in Sources */, + C8F0BFDB1BBBFB8B001B112F /* StartWith.swift in Sources */, + C8F0BFDC1BBBFB8B001B112F /* Buffer.swift in Sources */, + C8F0BFDD1BBBFB8B001B112F /* TakeWhile.swift in Sources */, + C8F0BFDE1BBBFB8B001B112F /* Amb.swift in Sources */, + C8F0BFDF1BBBFB8B001B112F /* Do.swift in Sources */, + C8F0BFE01BBBFB8B001B112F /* SerialDispatchQueueScheduler.swift in Sources */, + C8F0BFE11BBBFB8B001B112F /* RefCount.swift in Sources */, + C8F0BFE21BBBFB8B001B112F /* Concat.swift in Sources */, + C8F0BFE31BBBFB8B001B112F /* Lock.swift in Sources */, + C8F0BFE41BBBFB8B001B112F /* Take.swift in Sources */, + C8F0BFE51BBBFB8B001B112F /* Reduce.swift in Sources */, + C8F0BFE61BBBFB8B001B112F /* ScheduledItem.swift in Sources */, + C8F0BFE71BBBFB8B001B112F /* Repeat.swift in Sources */, + C8F0BFE81BBBFB8B001B112F /* Error.swift in Sources */, + C8F0BFE91BBBFB8B001B112F /* Debug.swift in Sources */, + C8F0BFEA1BBBFB8B001B112F /* Bag.swift in Sources */, + C8F0BFEB1BBBFB8B001B112F /* Producer.swift in Sources */, + C8F0BFEC1BBBFB8B001B112F /* ImmediateSchedulerType.swift in Sources */, + C8F0BFED1BBBFB8B001B112F /* Cancelable.swift in Sources */, + C8F0BFEE1BBBFB8B001B112F /* ScheduledDisposable.swift in Sources */, + C8F0BFEF1BBBFB8B001B112F /* Filter.swift in Sources */, + C8F0BFF01BBBFB8B001B112F /* Observable+Single.swift in Sources */, + C8F0BFF11BBBFB8B001B112F /* CompositeDisposable.swift in Sources */, + C8F0BFF21BBBFB8B001B112F /* ObserverType.swift in Sources */, + C8F0BFF31BBBFB8B001B112F /* SubscribeOn.swift in Sources */, + C8F0BFF41BBBFB8B001B112F /* Observable.swift in Sources */, + C8F0BFF51BBBFB8B001B112F /* NAryDisposable.swift in Sources */, + C8F0BFF61BBBFB8B001B112F /* SerialDisposable.swift in Sources */, + C8F0BFF71BBBFB8B001B112F /* Never.swift in Sources */, + C8F0BFF81BBBFB8B001B112F /* ObserverType+Extensions.swift in Sources */, + C8F0BFF91BBBFB8B001B112F /* Event.swift in Sources */, + C8F0BFFA1BBBFB8B001B112F /* Zip.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C0051BBBFBB9001B112F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0C0061BBBFBB9001B112F /* UISlider+Rx.swift in Sources */, + C8F0C0071BBBFBB9001B112F /* _RXKVOObserver.m in Sources */, + C8F0C0081BBBFBB9001B112F /* UIScrollView+Rx.swift in Sources */, + C8F0C0091BBBFBB9001B112F /* DelegateProxyType.swift in Sources */, + C8F0C00A1BBBFBB9001B112F /* RxTarget.swift in Sources */, + C8F0C00B1BBBFBB9001B112F /* UITextView+Rx.swift in Sources */, + C8F0C00C1BBBFBB9001B112F /* RxTableViewReactiveArrayDataSource.swift in Sources */, + C8F0C00D1BBBFBB9001B112F /* RxCollectionViewDataSourceProxy.swift in Sources */, + C8F0C00E1BBBFBB9001B112F /* _RX.m in Sources */, + C8F0C00F1BBBFBB9001B112F /* RxCocoa.swift in Sources */, + C8F0C0101BBBFBB9001B112F /* RxTableViewDelegateProxy.swift in Sources */, + C8F0C0111BBBFBB9001B112F /* UIStepper+Rx.swift in Sources */, + C8F0C0121BBBFBB9001B112F /* UIImageView+Rx.swift in Sources */, + C8F0C0131BBBFBB9001B112F /* ControlEvent.swift in Sources */, + C8F0C0141BBBFBB9001B112F /* NSObject+Rx+CoreGraphics.swift in Sources */, + C8F0C0151BBBFBB9001B112F /* UIControl+Rx.swift in Sources */, + C8F0C0161BBBFBB9001B112F /* UITableView+Rx.swift in Sources */, + C8F0C0171BBBFBB9001B112F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */, + C8F0C0181BBBFBB9001B112F /* KVOObserver.swift in Sources */, + C8F0C0191BBBFBB9001B112F /* UIAlertView+Rx.swift in Sources */, + C8F0C01A1BBBFBB9001B112F /* RxCollectionViewDelegateProxy.swift in Sources */, + C8F0C01B1BBBFBB9001B112F /* RxScrollViewDelegateProxy.swift in Sources */, + C8F0C01C1BBBFBB9001B112F /* UILabel+Rx.swift in Sources */, + C8F0C01D1BBBFBB9001B112F /* RxSearchBarDelegateProxy.swift in Sources */, + C8F0C01E1BBBFBB9001B112F /* RxAlertViewDelegateProxy.swift in Sources */, + C8F0C01F1BBBFBB9001B112F /* Observable+CocoaExtensions.swift in Sources */, + C8F0C0201BBBFBB9001B112F /* UISegmentedControl+Rx.swift in Sources */, + C8F0C0211BBBFBB9001B112F /* KVOObservable.swift in Sources */, + C8F0C0221BBBFBB9001B112F /* UIButton+Rx.swift in Sources */, + C8F0C0231BBBFBB9001B112F /* CLLocationManager+Rx.swift in Sources */, + C8F0C0241BBBFBB9001B112F /* DeinitAction.swift in Sources */, + C8F0C0251BBBFBB9001B112F /* RxActionSheetDelegateProxy.swift in Sources */, + C8F0C0261BBBFBB9001B112F /* _RXDelegateProxy.m in Sources */, + C8F0C0271BBBFBB9001B112F /* NSObject+Rx.swift in Sources */, + C8F0C0281BBBFBB9001B112F /* RxTextViewDelegateProxy.swift in Sources */, + C8F0C0291BBBFBB9001B112F /* UIBarButtonItem+Rx.swift in Sources */, + C8F0C02A1BBBFBB9001B112F /* UIActionSheet+Rx.swift in Sources */, + C8F0C02B1BBBFBB9001B112F /* ControlProperty.swift in Sources */, + C8F0C02C1BBBFBB9001B112F /* UIDatePicker+Rx.swift in Sources */, + C8F0C02D1BBBFBB9001B112F /* RxTableViewDataSourceProxy.swift in Sources */, + C8F0C02E1BBBFBB9001B112F /* _RXSwizzling.m in Sources */, + C8F0C02F1BBBFBB9001B112F /* Deallocating.swift in Sources */, + C8F0C0301BBBFBB9001B112F /* UIGestureRecognizer+Rx.swift in Sources */, + C8F0C0311BBBFBB9001B112F /* DelegateProxy.swift in Sources */, + C8F0C0321BBBFBB9001B112F /* RxCLLocationManagerDelegateProxy.swift in Sources */, + C8F0C0331BBBFBB9001B112F /* UISwitch+Rx.swift in Sources */, + C8F0C0341BBBFBB9001B112F /* Logging.swift in Sources */, + C8F0C0351BBBFBB9001B112F /* UICollectionView+Rx.swift in Sources */, + C8F0C0361BBBFBB9001B112F /* RxCollectionViewDataSourceType.swift in Sources */, + C8F0C0371BBBFBB9001B112F /* NSNotificationCenter+Rx.swift in Sources */, + C8F0C0381BBBFBB9001B112F /* UITextField+Rx.swift in Sources */, + C8F0C0391BBBFBB9001B112F /* NSURLSession+Rx.swift in Sources */, + C8F0C03A1BBBFBB9001B112F /* ControlTarget.swift in Sources */, + C8F0C03B1BBBFBB9001B112F /* UISearchBar+Rx.swift in Sources */, + C8F0C03C1BBBFBB9001B112F /* ItemEvents.swift in Sources */, + C8F0C03D1BBBFBB9001B112F /* RxTableViewDataSourceType.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8F0C04E1BBBFBCE001B112F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C8F0C04F1BBBFBCE001B112F /* Observable+Blocking.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2138C701BB9BE9800339B5C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2483,6 +2974,159 @@ }; name = Release; }; + C8F0BFFF1BBBFB8B001B112F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxSwift; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + C8F0C0001BBBFB8B001B112F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxSwift; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + C8F0C0011BBBFB8B001B112F /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxSwift; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = "Release-Tests"; + }; + C8F0C0481BBBFBB9001B112F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxCocoa; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + C8F0C0491BBBFBB9001B112F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxCocoa; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + C8F0C04A1BBBFBB9001B112F /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxCocoa; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = "Release-Tests"; + }; + C8F0C0551BBBFBCE001B112F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxBlocking; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + C8F0C0561BBBFBCE001B112F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxBlocking; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + C8F0C0571BBBFBCE001B112F /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxBlocking; + SDKROOT = watchos; + SKIP_INSTALL = YES; + }; + name = "Release-Tests"; + }; D2138C7B1BB9BE9800339B5C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2730,6 +3374,36 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C8F0BFFE1BBBFB8B001B112F /* Build configuration list for PBXNativeTarget "RxSwift-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C8F0BFFF1BBBFB8B001B112F /* Debug */, + C8F0C0001BBBFB8B001B112F /* Release */, + C8F0C0011BBBFB8B001B112F /* Release-Tests */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C8F0C0471BBBFBB9001B112F /* Build configuration list for PBXNativeTarget "RxCocoa-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C8F0C0481BBBFBB9001B112F /* Debug */, + C8F0C0491BBBFBB9001B112F /* Release */, + C8F0C04A1BBBFBB9001B112F /* Release-Tests */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C8F0C0541BBBFBCE001B112F /* Build configuration list for PBXNativeTarget "RxBlocking-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C8F0C0551BBBFBCE001B112F /* Debug */, + C8F0C0561BBBFBCE001B112F /* Release */, + C8F0C0571BBBFBCE001B112F /* Release-Tests */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; D2138C7A1BB9BE9800339B5C /* Build configuration list for PBXNativeTarget "RxCocoa-tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme new file mode 100644 index 00000000..14d1a60e --- /dev/null +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme new file mode 100644 index 00000000..8e7012b5 --- /dev/null +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme new file mode 100644 index 00000000..a7acbede --- /dev/null +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RxCocoa/Common/Observables/Implementations/ControlTarget.swift b/RxCocoa/Common/Observables/Implementations/ControlTarget.swift index 92501067..c74c5544 100644 --- a/RxCocoa/Common/Observables/Implementations/ControlTarget.swift +++ b/RxCocoa/Common/Observables/Implementations/ControlTarget.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) || os(OSX) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -86,3 +88,5 @@ class ControlTarget: RxTarget { self.callback = nil } } + +#endif diff --git a/RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift b/RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift index 1ba395d4..ba7c5579 100644 --- a/RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift +++ b/RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -92,4 +94,6 @@ class RxCollectionViewReactiveArrayDataSource : _RxCollectionViewReacti collectionView.reloadData() } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift b/RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift index 73181cee..43f199fb 100644 --- a/RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift +++ b/RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -88,4 +90,6 @@ class RxTableViewReactiveArrayDataSource : _RxTableViewReactiveArrayDat tableView.reloadData() } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift b/RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift index 0609cbf1..d4f38752 100644 --- a/RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift +++ b/RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -29,4 +31,6 @@ public protocol RxCollectionViewDataSourceType /*: UICollectionViewDataSource*/ - parameter observedEvent: Event */ func collectionView(collectionView: UICollectionView, observedEvent: Event) -> Void -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift b/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift index 4cb15aa9..3345153b 100644 --- a/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift +++ b/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -29,4 +31,6 @@ public protocol RxTableViewDataSourceType /*: UITableViewDataSource*/ { - parameter observedEvent: Event */ func tableView(tableView: UITableView, observedEvent: Event) -> Void -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift b/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift index be1d00ce..5a42430b 100644 --- a/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift +++ b/RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -73,4 +75,6 @@ class RxCollectionViewDataSourceProxy : DelegateProxy self.dataSource = dataSource ?? collectionViewDataSourceNotSet super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift b/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift index 32d25f90..3707195b 100644 --- a/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift +++ b/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -16,4 +18,6 @@ import RxSwift class RxCollectionViewDelegateProxy : RxScrollViewDelegateProxy , UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift b/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift index 5e871798..4c429b46 100644 --- a/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift +++ b/RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -67,3 +69,5 @@ class RxScrollViewDelegateProxy : DelegateProxy } } } + +#endif diff --git a/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift b/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift index 326abe59..dadee355 100644 --- a/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift +++ b/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -25,4 +27,6 @@ class RxSearchBarDelegateProxy : DelegateProxy let searchBar: UISearchBar = castOrFatalError(object) searchBar.delegate = castOptionalOrFatalError(delegate) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift b/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift index 01c1513d..5c549cde 100644 --- a/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift +++ b/RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -78,4 +80,6 @@ class RxTableViewDataSourceProxy : DelegateProxy self.dataSource = dataSource ?? tableViewDataSourceNotSet super.setForwardToDelegate(forwardToDelegate, retainDelegate: retainDelegate) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift b/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift index 6075614f..fd8c9f97 100644 --- a/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift +++ b/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -16,4 +18,6 @@ import RxSwift class RxTableViewDelegateProxy : RxScrollViewDelegateProxy , UITableViewDelegate { -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift b/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift index 813d7ca1..f8289788 100644 --- a/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift +++ b/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -17,3 +19,5 @@ class RxTextViewDelegateProxy : RxScrollViewDelegateProxy , UITextViewDelegate { } + +#endif diff --git a/RxCocoa/iOS/UIBarButtonItem+Rx.swift b/RxCocoa/iOS/UIBarButtonItem+Rx.swift index 89949d88..ce8a4f01 100644 --- a/RxCocoa/iOS/UIBarButtonItem+Rx.swift +++ b/RxCocoa/iOS/UIBarButtonItem+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import UIKit #if !RX_NO_MODULE import RxSwift @@ -81,4 +83,6 @@ class BarButtonItemTarget: NSObject, Disposable { callback() } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UIButton+Rx.swift b/RxCocoa/iOS/UIButton+Rx.swift index 8b942f3e..9621acb2 100644 --- a/RxCocoa/iOS/UIButton+Rx.swift +++ b/RxCocoa/iOS/UIButton+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -21,4 +23,6 @@ extension UIButton { return rx_controlEvents(.TouchUpInside) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UICollectionView+Rx.swift b/RxCocoa/iOS/UICollectionView+Rx.swift index 7cfaf2f9..92d1518b 100644 --- a/RxCocoa/iOS/UICollectionView+Rx.swift +++ b/RxCocoa/iOS/UICollectionView+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -150,3 +152,5 @@ extension UICollectionView { return ControlEvent(source: source) } } + +#endif diff --git a/RxCocoa/iOS/UIControl+Rx.swift b/RxCocoa/iOS/UIControl+Rx.swift index e305eea6..854fb7d2 100644 --- a/RxCocoa/iOS/UIControl+Rx.swift +++ b/RxCocoa/iOS/UIControl+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -85,3 +87,5 @@ extension UIControl { } } + +#endif diff --git a/RxCocoa/iOS/UIGestureRecognizer+Rx.swift b/RxCocoa/iOS/UIGestureRecognizer+Rx.swift index 7adc80c0..16685d1d 100644 --- a/RxCocoa/iOS/UIGestureRecognizer+Rx.swift +++ b/RxCocoa/iOS/UIGestureRecognizer+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import UIKit #if !RX_NO_MODULE import RxSwift @@ -69,4 +71,6 @@ extension UIGestureRecognizer { return ControlEvent(source: source) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UIImageView+Rx.swift b/RxCocoa/iOS/UIImageView+Rx.swift index cd590c73..7c112c24 100644 --- a/RxCocoa/iOS/UIImageView+Rx.swift +++ b/RxCocoa/iOS/UIImageView+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -55,3 +57,5 @@ extension UIImageView { } } + +#endif diff --git a/RxCocoa/iOS/UILabel+Rx.swift b/RxCocoa/iOS/UILabel+Rx.swift index 3731a44b..e11459a3 100644 --- a/RxCocoa/iOS/UILabel+Rx.swift +++ b/RxCocoa/iOS/UILabel+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -33,4 +35,6 @@ extension UILabel { } } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UIScrollView+Rx.swift b/RxCocoa/iOS/UIScrollView+Rx.swift index f7b64ad1..d2311197 100644 --- a/RxCocoa/iOS/UIScrollView+Rx.swift +++ b/RxCocoa/iOS/UIScrollView+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -64,3 +66,5 @@ extension UIScrollView { return installDelegate(proxy, delegate: delegate, retainDelegate: false, onProxyForObject: self) } } + +#endif diff --git a/RxCocoa/iOS/UISearchBar+Rx.swift b/RxCocoa/iOS/UISearchBar+Rx.swift index b96549ce..28d3c70e 100644 --- a/RxCocoa/iOS/UISearchBar+Rx.swift +++ b/RxCocoa/iOS/UISearchBar+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -50,4 +52,6 @@ extension UISearchBar { } }) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UISegmentedControl+Rx.swift b/RxCocoa/iOS/UISegmentedControl+Rx.swift index e7589c61..21139303 100644 --- a/RxCocoa/iOS/UISegmentedControl+Rx.swift +++ b/RxCocoa/iOS/UISegmentedControl+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import UIKit #if !RX_NO_MODULE import RxSwift @@ -25,4 +27,6 @@ extension UISegmentedControl { }) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UITableView+Rx.swift b/RxCocoa/iOS/UITableView+Rx.swift index b3afd195..97ca683f 100644 --- a/RxCocoa/iOS/UITableView+Rx.swift +++ b/RxCocoa/iOS/UITableView+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -194,4 +196,6 @@ extension UITableView { return ControlEvent(source: source) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UITextField+Rx.swift b/RxCocoa/iOS/UITextField+Rx.swift index dee2faf4..9c8f3138 100644 --- a/RxCocoa/iOS/UITextField+Rx.swift +++ b/RxCocoa/iOS/UITextField+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation #if !RX_NO_MODULE import RxSwift @@ -25,4 +27,6 @@ extension UITextField { }) } -} \ No newline at end of file +} + +#endif diff --git a/RxCocoa/iOS/UITextView+Rx.swift b/RxCocoa/iOS/UITextView+Rx.swift index 1fad0ff5..ffb43f5a 100644 --- a/RxCocoa/iOS/UITextView+Rx.swift +++ b/RxCocoa/iOS/UITextView+Rx.swift @@ -6,6 +6,8 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // +#if os(iOS) || os(tvOS) + import Foundation import UIKit #if !RX_NO_MODULE @@ -49,3 +51,5 @@ extension UITextView { } } + +#endif diff --git a/scripts/common.sh b/scripts/common.sh index 42924885..47bec5fe 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -48,7 +48,7 @@ function rx() { ACTION=$4 echo - printf "${GREEN}${ACTION} ${BOLDCYAN}$1 - $2 ($SIMULATOR)${RESET}\n" + printf "${GREEN}${ACTION} ${BOLDCYAN}$SCHEME - $CONFIGURATION ($SIMULATOR)${RESET}\n" echo DESTINATION="" diff --git a/scripts/pre-release-tests.sh b/scripts/pre-release-tests.sh index 61c71e01..261672ce 100755 --- a/scripts/pre-release-tests.sh +++ b/scripts/pre-release-tests.sh @@ -46,6 +46,24 @@ else CONFIGURATIONS=(Debug Release-Tests Release) fi +# make sure watchos builds +# temporary solution +WATCH_OS_BUILD_TARGETS=(RxSwift-watchOS RxCocoa-watchOS RxBlocking-watchOS) +for scheme in ${WATCH_OS_BUILD_TARGETS[@]} +do + for configuration in ${CONFIGURATIONS[@]} + do + echo + printf "${GREEN}${build} ${BOLDCYAN}${scheme} - ${configuration} ($SIMULATOR)${RESET}\n" + echo + xcodebuild -workspace Rx.xcworkspace \ + -scheme ${scheme} \ + -configuration ${configuration} \ + -derivedDataPath "${BUILD_DIRECTORY}" \ + build | xcpretty -c; STATUS=${PIPESTATUS[0]} + done +done + #make sure all iOS tests pass for configuration in ${CONFIGURATIONS[@]} do From 7e2bc5dd43bea8c4e1b40fec86af8e26071eca83 Mon Sep 17 00:00:00 2001 From: Yoshinori Sano Date: Thu, 1 Oct 2015 18:30:10 +0900 Subject: [PATCH 02/25] Clear search result when searh keyword is cleared. --- .../GitHubSearchRepositoriesViewController.swift | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift index be4fc687..e7c4d5a6 100644 --- a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift +++ b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift @@ -223,11 +223,14 @@ class GitHubSearchRepositoriesViewController: ViewController, UITableViewDelegat searchBar.rx_text .throttle(0.3, $.mainScheduler) .distinctUntilChanged() - .filter { $0 != "" } - .map { query in - GitHubSearchRepositoriesAPI.sharedAPI.search(query, loadNextPageTrigger: loadNextPageTrigger) - .retry(3) - .catchErrorJustReturn(.Repositories([])) + .map { query -> Observable in + if query.isEmpty { + return just(.Repositories([])) + } else { + return GitHubSearchRepositoriesAPI.sharedAPI.search(query, loadNextPageTrigger: loadNextPageTrigger) + .retry(3) + .catchErrorJustReturn(.Repositories([])) + } } .switchLatest() .subscribeNext { [unowned self] result in From 13c64db9e7f1ebedc3c9db93538a6e674691cc2e Mon Sep 17 00:00:00 2001 From: Yoshinori Sano Date: Thu, 1 Oct 2015 18:35:43 +0900 Subject: [PATCH 03/25] Delegation does not work because `rx_setDelegate` is not called. --- .../AutoLoading/GitHubSearchRepositoriesViewController.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift index e7c4d5a6..a0ca39f2 100644 --- a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift +++ b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift @@ -197,6 +197,9 @@ class GitHubSearchRepositoriesViewController: ViewController, UITableViewDelegat return [SectionModel(model: "Repositories", items: repositories)] } + tableView.rx_setDelegate(self) + .addDisposableTo(disposeBag) + dataSource.cellFactory = { (tv, ip, repository: Repository) in let cell = tv.dequeueReusableCellWithIdentifier("Cell")! cell.textLabel?.text = repository.name From 1d450107dd8d50803ed0e236ed472b444cb4dfc8 Mon Sep 17 00:00:00 2001 From: Yoshinori Sano Date: Thu, 1 Oct 2015 18:49:47 +0900 Subject: [PATCH 04/25] Fix error message. --- .../AutoLoading/GitHubSearchRepositoriesViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift index a0ca39f2..a5d7b4d8 100644 --- a/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift +++ b/RxExample/RxExample/Examples/AutoLoading/GitHubSearchRepositoriesViewController.swift @@ -158,7 +158,7 @@ class GitHubSearchRepositoriesAPI { private static func parseRepositories(json: [String: AnyObject]) throws -> [Repository] { guard let items = json["items"] as? [[String: AnyObject]] else { - throw exampleError("Can't find results") + throw exampleError("Can't find items") } return try items.map { item in guard let name = item["name"] as? String, From 83c3f5146147445274273c4a8a4d8c9ef0604355 Mon Sep 17 00:00:00 2001 From: Junior B Date: Wed, 30 Sep 2015 15:15:34 +0200 Subject: [PATCH 05/25] Update test scripts for WatchOS Add WatchOS 2 target in Podspecs --- RxBlocking.podspec | 1 + RxCocoa.podspec | 2 ++ RxSwift.podspec | 1 + scripts/common.sh | 19 ++++++++++++++++++- scripts/pre-release-tests.sh | 14 ++++++++++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/RxBlocking.podspec b/RxBlocking.podspec index 0bcc4146..fdfb7aa5 100644 --- a/RxBlocking.podspec +++ b/RxBlocking.podspec @@ -14,6 +14,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.9' + s.watchos.deployment_target = '2.0' s.source_files = 'RxBlocking/**/*.swift' diff --git a/RxCocoa.podspec b/RxCocoa.podspec index d2520f40..c2360877 100644 --- a/RxCocoa.podspec +++ b/RxCocoa.podspec @@ -16,10 +16,12 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.9' + s.watchos.deployment_target = '2.0' s.source_files = 'RxCocoa/RxCocoa.h', 'RxCocoa/Common/**/*.{swift,h,m}' s.ios.source_files = 'RxCocoa/iOS/**/*.swift' s.osx.source_files = 'RxCocoa/OSX/**/*.swift' + s.watchos.source_files = 'RxCocoa/iOS/**/*.swift' s.dependency 'RxSwift', '~> 2.0.0-alpha' end diff --git a/RxSwift.podspec b/RxSwift.podspec index 22fa5c1c..f2c47df8 100644 --- a/RxSwift.podspec +++ b/RxSwift.podspec @@ -32,6 +32,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.9' + s.watchos.deployment_target = '2.0' s.source_files = 'RxSwift/**/*.swift' end diff --git a/scripts/common.sh b/scripts/common.sh index 47bec5fe..9c74d04c 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -25,6 +25,7 @@ BOLDWHITE="\033[1m\033[37m" DEFAULT_IOS7_SIMULATOR=RxSwiftTest-iPhone4s-iOS_7.1 DEFAULT_IOS8_SIMULATOR=RxSwiftTest-iPhone6-iOS_8.4 DEFAULT_IOS9_SIMULATOR=RxSwiftTest-iPhone6-iOS_9.0 +DEFAULT_WATCHOS2_SIMULATOR=RxSwiftTest-AppleWatch-watchOS_2.0 if [ "${IS_LOCAL}" -eq 1 ]; then IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1" @@ -54,7 +55,11 @@ function rx() { DESTINATION="" if [ "$SIMULATOR" != "" ]; then OS=`echo $SIMULATOR| cut -d'_' -f 2` - DESTINATION='platform=iOS Simulator,OS='$OS',name='$SIMULATOR'' + if contains $SIMULATOR "watchOS"; then + DESTINATION='platform=watchOS Simulator,OS='$OS',name='$SIMULATOR'' + else + DESTINATION='platform=iOS Simulator,OS='$OS',name='$SIMULATOR'' + fi else DESTINATION='platform=OS X,arch=x86_64' fi @@ -117,3 +122,15 @@ function deleteDevices() { xcrun simctl delete RxSwiftTest-iPhone6-iOS_9.0 || echo "failed" xcrun simctl delete RxSwiftTest-iPhone6Plus-iOS_9.0 || echo "failed" } + +# used to check simulator name +contains() { + string="$1" + substring="$2" + if test "${string#*$substring}" != "$string" + then + return 0 # $substring is in $string + else + return 1 # $substring is not in $string + fi +} diff --git a/scripts/pre-release-tests.sh b/scripts/pre-release-tests.sh index 261672ce..fbb15b5b 100755 --- a/scripts/pre-release-tests.sh +++ b/scripts/pre-release-tests.sh @@ -40,6 +40,13 @@ else echo "${DEFAULT_IOS9_SIMULATOR} exists" fi +#watch os 2 sim +if [ `xcrun simctl list | grep "${DEFAULT_WATCHOS2_SIMULATOR}" | wc -l` == 0 ]; then + xcrun simctl create $DEFAULT_WATCHOS2_SIMULATOR 'Apple Watch - 38mm' 'com.apple.CoreSimulator.SimRuntime.watchOS-2-0' +else + echo "${DEFAULT_WATCHOS2_SIMULATOR} exists" +fi + if [ "${IS_QUICK}" -eq 1 ]; then CONFIGURATIONS=(Release) else @@ -70,6 +77,13 @@ do rx "RxTests-iOS" ${configuration} $DEFAULT_IOS9_SIMULATOR test done +#make sure all watchOS tests pass +#tests for Watch OS are not available rdar://21760513 +# for configuration in ${CONFIGURATIONS[@]} +# do +# rx "RxTests-watchOS" ${configuration} $DEFAULT_WATCHOS2_SIMULATOR test +# done + #make sure all OSX tests pass for configuration in ${CONFIGURATIONS[@]} do From a206e3d3a52f458267316850d1f1cd92cdd7e044 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 13:01:56 +0200 Subject: [PATCH 06/25] Renames product name. --- .../xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme | 6 +++--- .../xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme | 6 +++--- .../xcshareddata/xcschemes/RxSwift-watchOS.xcscheme | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme index 14d1a60e..320386a9 100644 --- a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme @@ -15,7 +15,7 @@ @@ -46,7 +46,7 @@ @@ -64,7 +64,7 @@ diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme index 8e7012b5..28a80a88 100644 --- a/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme @@ -15,7 +15,7 @@ @@ -46,7 +46,7 @@ @@ -64,7 +64,7 @@ diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme index a7acbede..e1c5fe77 100644 --- a/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-watchOS.xcscheme @@ -15,7 +15,7 @@ @@ -46,7 +46,7 @@ @@ -64,7 +64,7 @@ From 766d6a7aadc75c68b8f3440049689abd6bd04846 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 13:02:19 +0200 Subject: [PATCH 07/25] Removes unused variable. --- .../Examples/TableView/TableViewController.swift | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/RxExample/RxExample/Examples/TableView/TableViewController.swift b/RxExample/RxExample/Examples/TableView/TableViewController.swift index f6154fce..fd67115c 100644 --- a/RxExample/RxExample/Examples/TableView/TableViewController.swift +++ b/RxExample/RxExample/Examples/TableView/TableViewController.swift @@ -22,8 +22,6 @@ class TableViewController: ViewController, UITableViewDelegate { let users = Variable([User]()) let favoriteUsers = Variable([User]()) - var allSections: [SectionModel] = [] - let dataSource = RxTableViewSectionedReloadDataSource>() typealias Section = SectionModel @@ -40,14 +38,6 @@ class TableViewController: ViewController, UITableViewDelegate { ] } - // This is for demonstration purposes of UITableViewDelegate/DataSource - // only, try to not do something like this in your app - allUsers - .subscribeNext { [unowned self] n in - self.allSections = n - } - .addDisposableTo(disposeBag) - dataSource.cellFactory = { (tv, ip, user: User) in let cell = tv.dequeueReusableCellWithIdentifier("Cell")! cell.textLabel?.text = user.firstName + " " + user.lastName From 554618c9f8ab5f096850a7e18909216ff36be846 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 21:02:09 +0200 Subject: [PATCH 08/25] Updates build scripts. --- scripts/common.sh | 81 ++++++++++++++++++++++++++++-------- scripts/pre-release-tests.sh | 42 +++++++++++++++---- 2 files changed, 98 insertions(+), 25 deletions(-) diff --git a/scripts/common.sh b/scripts/common.sh index 9c74d04c..07e63247 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -26,17 +26,72 @@ DEFAULT_IOS7_SIMULATOR=RxSwiftTest-iPhone4s-iOS_7.1 DEFAULT_IOS8_SIMULATOR=RxSwiftTest-iPhone6-iOS_8.4 DEFAULT_IOS9_SIMULATOR=RxSwiftTest-iPhone6-iOS_9.0 DEFAULT_WATCHOS2_SIMULATOR=RxSwiftTest-AppleWatch-watchOS_2.0 +DEFAULT_TVOS_SIMULATOR=RxSwiftTest-AppleTV-iOS_9.0 -if [ "${IS_LOCAL}" -eq 1 ]; then +DEFAULT_IOS_SIMULATOR_RUNTIME="" + +function runtime_available() { + if [ `xcrun simctl list runtimes | grep "${1}" | wc -l` -eq 1 ]; then + return 0 + else + return 1 + fi +} + +# used to check simulator name +function contains() { + string="$1" + substring="$2" + if test "${string#*$substring}" != "$string" + then + return 0 # $substring is in $string + else + return 1 # $substring is not in $string + fi +} + +function simulator_available() { + SIMULATOR=$1 + if [ `xcrun simctl list | grep "${SIMULATOR}" | wc -l` -eq 0 ]; then + return -1 + elif [ `xcrun simctl list | grep "${SIMULATOR}" | wc -l` -gt 1 ]; then + echo "Multiple simulators ${SIMULATOR} found" + xcrun simctl list | \ + grep "${SIMULATOR}" | \ + cut -d "(" -f 2 | \ + cut -d ")" -f 1 | \ + xargs xcrun simctl delete; + exit -1 + return -1 + elif [ `xcrun simctl list | grep "${SIMULATOR}" | grep "unavailable" | wc -l` -eq 1 ]; then + # delete unavailable simulator + xcrun simctl list | + grep "${SIMULATOR}" | + grep "unavailable" | + cut -d "(" -f 2 | + cut -d ")" -f 1 | + xargs xcrun simctl delete + return -1 + else + return 0 + fi +} + +if [ "${IS_LOCAL}" == "1" ]; then IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1" IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4" -#IOS9_SIMULATORS="RxSwiftTest-iPhone4s-iOS_9.0 RxSwiftTest-iPhone5-iOS_9.0 RxSwiftTest-iPhone5s-iOS_9.0 RxSwiftTest-iPhone6-iOS_9.0 RxSwiftTest-iPhone6Plus-iOS_9.0" -IOS9_SIMULATORS="RxSwiftTest-iPhone6-iOS_9.0" else IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1" IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4" -#IOS9_SIMULATORS="RxSwiftTest-iPhone4s-iOS_9.0" -IOS9_SIMULATORS="RxSwiftTest-iPhone6-iOS_9.0" +fi + + +if runtime_available "com.apple.CoreSimulator.SimRuntime.iOS-9-1"; then + DEFAULT_IOS9_SIMULATOR="RxSwiftTest-iPhone6-iOS_9.1" + DEFAULT_IOS_SIMULATOR_RUNTIME='com.apple.CoreSimulator.SimRuntime.iOS-9-1' +else + DEFAULT_IOS9_SIMULATOR="RxSwiftTest-iPhone6-iOS_9.0" + DEFAULT_IOS_SIMULATOR_RUNTIME='com.apple.CoreSimulator.SimRuntime.iOS-9-0' fi @@ -54,9 +109,11 @@ function rx() { DESTINATION="" if [ "$SIMULATOR" != "" ]; then - OS=`echo $SIMULATOR| cut -d'_' -f 2` + OS=`echo $SIMULATOR | cut -d'_' -f 2` if contains $SIMULATOR "watchOS"; then DESTINATION='platform=watchOS Simulator,OS='$OS',name='$SIMULATOR'' + elif contains $SIMULATOR "AppleTV"; then + DESTINATION='platform=tvOS Simulator,OS='$OS',name='$SIMULATOR'' else DESTINATION='platform=iOS Simulator,OS='$OS',name='$SIMULATOR'' fi @@ -122,15 +179,3 @@ function deleteDevices() { xcrun simctl delete RxSwiftTest-iPhone6-iOS_9.0 || echo "failed" xcrun simctl delete RxSwiftTest-iPhone6Plus-iOS_9.0 || echo "failed" } - -# used to check simulator name -contains() { - string="$1" - substring="$2" - if test "${string#*$substring}" != "$string" - then - return 0 # $substring is in $string - else - return 1 # $substring is not in $string - fi -} diff --git a/scripts/pre-release-tests.sh b/scripts/pre-release-tests.sh index fbb15b5b..2fecbbca 100755 --- a/scripts/pre-release-tests.sh +++ b/scripts/pre-release-tests.sh @@ -14,6 +14,7 @@ else fi ISLOCAL="${IS_LOCAL}" . scripts/common.sh +TV_OS=0 # ios 7 sim #if [ `xcrun simctl list | grep "${DEFAULT_IOS7_SIMULATOR}" | wc -l` == 0 ]; then @@ -33,18 +34,32 @@ if [ "${IS_LOCAL}" -eq 1 ]; then . scripts/automation-tests.sh fi +if [ `xcodebuild -showsdks | grep tvOS | wc -l` -ge 4 ]; then + printf "${GREEN}tvOS found${RESET}\n" + TV_OS=1 +fi + #ios 9 sim -if [ `xcrun simctl list | grep "${DEFAULT_IOS9_SIMULATOR}" | wc -l` == 0 ]; then - xcrun simctl create $DEFAULT_IOS9_SIMULATOR 'iPhone 6' 'com.apple.CoreSimulator.SimRuntime.iOS-9-0' -else +if simulator_available "${DEFAULT_IOS9_SIMULATOR}"; then echo "${DEFAULT_IOS9_SIMULATOR} exists" +else + xcrun simctl create "${DEFAULT_IOS9_SIMULATOR}" 'iPhone 6' "${DEFAULT_IOS_SIMULATOR_RUNTIME}" fi #watch os 2 sim -if [ `xcrun simctl list | grep "${DEFAULT_WATCHOS2_SIMULATOR}" | wc -l` == 0 ]; then - xcrun simctl create $DEFAULT_WATCHOS2_SIMULATOR 'Apple Watch - 38mm' 'com.apple.CoreSimulator.SimRuntime.watchOS-2-0' -else +if simulator_available "${DEFAULT_WATCHOS2_SIMULATOR}"; then echo "${DEFAULT_WATCHOS2_SIMULATOR} exists" +else + xcrun simctl create "${DEFAULT_WATCHOS2_SIMULATOR}" 'Apple Watch - 38mm' 'com.apple.CoreSimulator.SimRuntime.watchOS-2-0' +fi + +#watch os 2 sim +if [ "${TV_OS}" -eq 1 ]; then + if simulator_available "${DEFAULT_TVOS_SIMULATOR}"; then + echo "${DEFAULT_TVOS_SIMULATOR} exists" + else + xcrun simctl create $DEFAULT_TVOS_SIMULATOR 'Apple TV 1080p' 'com.apple.CoreSimulator.SimRuntime.tvOS-9-0' + fi fi if [ "${IS_QUICK}" -eq 1 ]; then @@ -61,13 +76,18 @@ do for configuration in ${CONFIGURATIONS[@]} do echo - printf "${GREEN}${build} ${BOLDCYAN}${scheme} - ${configuration} ($SIMULATOR)${RESET}\n" + printf "${GREEN}${build} ${BOLDCYAN}${scheme} - ${configuration}${RESET}\n" echo xcodebuild -workspace Rx.xcworkspace \ -scheme ${scheme} \ -configuration ${configuration} \ -derivedDataPath "${BUILD_DIRECTORY}" \ build | xcpretty -c; STATUS=${PIPESTATUS[0]} + + if [ $STATUS -ne 0 ]; then + echo $STATUS + exit $STATUS + fi done done @@ -77,6 +97,14 @@ do rx "RxTests-iOS" ${configuration} $DEFAULT_IOS9_SIMULATOR test done +#make sure all tvOS tests pass +if [ $TV_OS -eq 1 ]; then + for configuration in ${CONFIGURATIONS[@]} + do + rx "RxTests-tvOS" ${configuration} $DEFAULT_TVOS_SIMULATOR test + done +fi + #make sure all watchOS tests pass #tests for Watch OS are not available rdar://21760513 # for configuration in ${CONFIGURATIONS[@]} From 06b2424eb33592d493987795ce611058aab978f1 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 21:38:08 +0200 Subject: [PATCH 09/25] Removes codesigning for watch os. --- scripts/pre-release-tests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/pre-release-tests.sh b/scripts/pre-release-tests.sh index 2fecbbca..27641b42 100755 --- a/scripts/pre-release-tests.sh +++ b/scripts/pre-release-tests.sh @@ -81,8 +81,9 @@ do xcodebuild -workspace Rx.xcworkspace \ -scheme ${scheme} \ -configuration ${configuration} \ + -sdk watchos \ -derivedDataPath "${BUILD_DIRECTORY}" \ - build | xcpretty -c; STATUS=${PIPESTATUS[0]} + build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | xcpretty -c; STATUS=${PIPESTATUS[0]} if [ $STATUS -ne 0 ]; then echo $STATUS From ebdb5bca9ea9696496af8f3ec29dd0374197a3af Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 22:01:04 +0200 Subject: [PATCH 10/25] Removes deadfiles and enables bitcode. --- Rx.xcodeproj/project.pbxproj | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Rx.xcodeproj/project.pbxproj b/Rx.xcodeproj/project.pbxproj index 5bef0cfd..3236df33 100644 --- a/Rx.xcodeproj/project.pbxproj +++ b/Rx.xcodeproj/project.pbxproj @@ -843,14 +843,10 @@ C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrentThreadScheduler.swift; sourceTree = ""; }; C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnonymousObservable.swift; sourceTree = ""; }; C8F0C0021BBBFB8B001B112F /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C8F0C0031BBBFB8B001B112F /* RxSwift-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxSwift-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxSwift-iOS copy-Info.plist"; sourceTree = ""; }; C8F0C04B1BBBFBB9001B112F /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C8F0C04C1BBBFBB9001B112F /* RxCocoa-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxCocoa-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxCocoa-iOS copy-Info.plist"; sourceTree = ""; }; C8F0C0581BBBFBCE001B112F /* RxBlocking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C8F0C0591BBBFBCF001B112F /* RxBlocking-iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxBlocking-iOS copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxBlocking-iOS copy-Info.plist"; sourceTree = ""; }; D2138C751BB9BE9800339B5C /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D2EA280E1BB9B5A200880ED3 /* RxSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RxSwift.h; sourceTree = ""; }; D2EA28101BB9B5A200880ED3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D2EBEB811BB9B99D003A27DC /* RxBlocking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F31F35AF1BB4FED800961002 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStepper+Rx.swift"; sourceTree = ""; }; @@ -1312,9 +1308,6 @@ C8093E801B8A732E0088E94D /* RxCocoa */, D2EA280D1BB9B5A200880ED3 /* RxSwift */, C8A56AD81AD7424700B4673B /* Products */, - C8F0C0031BBBFB8B001B112F /* RxSwift-iOS copy-Info.plist */, - C8F0C04C1BBBFBB9001B112F /* RxCocoa-iOS copy-Info.plist */, - C8F0C0591BBBFBCF001B112F /* RxBlocking-iOS copy-Info.plist */, ); sourceTree = ""; }; @@ -1340,7 +1333,6 @@ D2EA280D1BB9B5A200880ED3 /* RxSwift */ = { isa = PBXGroup; children = ( - D2EA280E1BB9B5A200880ED3 /* RxSwift.h */, D2EA28101BB9B5A200880ED3 /* Info.plist */, ); path = RxSwift; @@ -2750,6 +2742,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -2866,6 +2859,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -2918,6 +2912,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; From fcdcd0d5105377f233340d0b1441dab1b31cb9ca Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Thu, 1 Oct 2015 22:13:05 +0200 Subject: [PATCH 11/25] Fixes bitcode. --- Rx.xcodeproj/project.pbxproj | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Rx.xcodeproj/project.pbxproj b/Rx.xcodeproj/project.pbxproj index 3236df33..bc2e178e 100644 --- a/Rx.xcodeproj/project.pbxproj +++ b/Rx.xcodeproj/project.pbxproj @@ -2570,6 +2570,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2588,6 +2589,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2606,6 +2608,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2675,6 +2678,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2693,6 +2697,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2711,6 +2716,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2792,6 +2798,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2810,6 +2817,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -2828,6 +2836,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; From 5cbd72c0e49b7d208ef0cf60318b497a155f196e Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Fri, 2 Oct 2015 11:33:05 +0200 Subject: [PATCH 12/25] Fixes targeted device family. --- Rx.xcodeproj/project.pbxproj | 70 +++++++++++++----------------------- 1 file changed, 25 insertions(+), 45 deletions(-) diff --git a/Rx.xcodeproj/project.pbxproj b/Rx.xcodeproj/project.pbxproj index bc2e178e..253c18d6 100644 --- a/Rx.xcodeproj/project.pbxproj +++ b/Rx.xcodeproj/project.pbxproj @@ -316,6 +316,8 @@ C8C3DA101B939767004D233E /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */; }; C8C3DA121B93A3EA004D233E /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */; }; C8C3DA131B93A3EA004D233E /* AnonymousObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA111B93A3EA004D233E /* AnonymousObservable.swift */; }; + C8DD8F4C1BBE79190046F35C /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */; }; + C8DD8F4D1BBE79260046F35C /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */; }; C8F0BF921BBBFB8B001B112F /* Observable+Creation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C981B8A72BE0088E94D /* Observable+Creation.swift */; }; C8F0BF931BBBFB8B001B112F /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C4D1B8A72BE0088E94D /* ConnectableObservableType.swift */; }; C8F0BF941BBBFB8B001B112F /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA021B9390C4004D233E /* Just.swift */; }; @@ -483,8 +485,6 @@ C8F0C0441BBBFBB9001B112F /* _RXSwizzling.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E881B8A732E0088E94D /* _RXSwizzling.h */; settings = {ATTRIBUTES = (Public, ); }; }; C8F0C0451BBBFBB9001B112F /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E861B8A732E0088E94D /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Public, ); }; }; C8F0C04F1BBBFBCE001B112F /* Observable+Blocking.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093F581B8A73A20088E94D /* Observable+Blocking.swift */; }; - C8F0C05A1BBC016A001B112F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8F0C0021BBBFB8B001B112F /* RxSwift.framework */; }; - C8F0C05B1BBC0171001B112F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8F0C0021BBBFB8B001B112F /* RxSwift.framework */; }; D203C4F31BB9C4CA00D02D00 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F11B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift */; }; D203C4F41BB9C52400D02D00 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F21B8A752B00B02D69 /* RxTableViewReactiveArrayDataSource.swift */; }; D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; }; @@ -518,7 +518,6 @@ D203C5111BB9C53E00D02D00 /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254121B8A752B00B02D69 /* UITableView+Rx.swift */; }; D203C5121BB9C53E00D02D00 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254131B8A752B00B02D69 /* UITextField+Rx.swift */; }; D203C5131BB9C53E00D02D00 /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254141B8A752B00B02D69 /* UITextView+Rx.swift */; }; - D203C5151BB9CA5200D02D00 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */; }; D2138C7E1BB9BEBE00339B5C /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E821B8A732E0088E94D /* _RX.h */; settings = {ATTRIBUTES = (Public, ); }; }; D2138C7F1BB9BEBE00339B5C /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E831B8A732E0088E94D /* _RX.m */; }; D2138C801BB9BEBE00339B5C /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = C8093E841B8A732E0088E94D /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -653,7 +652,6 @@ D2EBEB431BB9B6DE003A27DC /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC11B8A72BE0088E94D /* SubjectType.swift */; }; D2EBEB441BB9B6DE003A27DC /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC21B8A72BE0088E94D /* Variable.swift */; }; D2EBEB8A1BB9B9EE003A27DC /* Observable+Blocking.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093F581B8A73A20088E94D /* Observable+Blocking.swift */; }; - D2EBEB8B1BB9BA62003A27DC /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */; }; F31F35B01BB4FED800961002 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31F35AF1BB4FED800961002 /* UIStepper+Rx.swift */; }; /* End PBXBuildFile section */ @@ -847,7 +845,6 @@ C8F0C0581BBBFBCE001B112F /* RxBlocking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2138C751BB9BE9800339B5C /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2EA280C1BB9B5A200880ED3 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D2EA28101BB9B5A200880ED3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D2EBEB811BB9B99D003A27DC /* RxBlocking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F31F35AF1BB4FED800961002 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStepper+Rx.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -910,7 +907,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C8F0C05A1BBC016A001B112F /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -918,7 +914,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C8F0C05B1BBC0171001B112F /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -926,7 +921,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D203C5151BB9CA5200D02D00 /* RxSwift.framework in Frameworks */, + C8DD8F4D1BBE79260046F35C /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -941,7 +936,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D2EBEB8B1BB9BA62003A27DC /* RxSwift.framework in Frameworks */, + C8DD8F4C1BBE79190046F35C /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1306,7 +1301,6 @@ C8093C471B8A72BE0088E94D /* RxSwift */, C8093F571B8A73A20088E94D /* RxBlocking */, C8093E801B8A732E0088E94D /* RxCocoa */, - D2EA280D1BB9B5A200880ED3 /* RxSwift */, C8A56AD81AD7424700B4673B /* Products */, ); sourceTree = ""; @@ -1330,14 +1324,6 @@ name = Products; sourceTree = ""; }; - D2EA280D1BB9B5A200880ED3 /* RxSwift */ = { - isa = PBXGroup; - children = ( - D2EA28101BB9B5A200880ED3 /* Info.plist */, - ); - path = RxSwift; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -2520,7 +2506,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = iphoneos; @@ -2537,7 +2522,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = iphoneos; @@ -2554,7 +2538,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = iphoneos; @@ -2573,7 +2556,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = macosx; @@ -2592,7 +2574,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = macosx; @@ -2611,7 +2592,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = macosx; @@ -2628,7 +2608,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = iphoneos; @@ -2645,7 +2624,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = iphoneos; @@ -2662,7 +2640,6 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = iphoneos; @@ -2681,7 +2658,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = macosx; @@ -2700,7 +2676,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = macosx; @@ -2719,7 +2694,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = macosx; @@ -2761,7 +2735,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES"; @@ -2801,7 +2775,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = macosx; @@ -2820,7 +2793,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = macosx; @@ -2839,7 +2811,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = macosx; @@ -2887,7 +2858,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -2933,7 +2904,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = ""; @@ -2987,11 +2958,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Debug; }; @@ -3004,11 +2976,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Release; }; @@ -3021,11 +2994,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxSwift; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = "Release-Tests"; }; @@ -3038,11 +3012,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Debug; }; @@ -3055,11 +3030,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Release; }; @@ -3072,11 +3048,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxCocoa/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxCocoa; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = "Release-Tests"; }; @@ -3089,11 +3066,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Debug; }; @@ -3106,11 +3084,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = Release; }; @@ -3123,11 +3102,12 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/RxBlocking/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = RxBlocking; SDKROOT = watchos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,4"; }; name = "Release-Tests"; }; From 1b5f7f41d99bf77422b92818f61c5fe73eefb34b Mon Sep 17 00:00:00 2001 From: yury Date: Fri, 2 Oct 2015 18:20:01 +0300 Subject: [PATCH 13/25] Add @warn_unused_result attribute to subscribe* -> Disposable methods --- RxSwift/Observable+Extensions.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RxSwift/Observable+Extensions.swift b/RxSwift/Observable+Extensions.swift index d2cb6625..17f00d44 100644 --- a/RxSwift/Observable+Extensions.swift +++ b/RxSwift/Observable+Extensions.swift @@ -15,6 +15,7 @@ extension ObservableType { - parameter on: Action to invoke for each event in the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ + @warn_unused_result public func subscribe(on: (event: Event) -> Void) -> Disposable { let observer = AnonymousObserver { e in @@ -33,6 +34,7 @@ extension ObservableType { gracefully completed, errored, or if the generation is cancelled by disposing subscription) - returns: Subscription object used to unsubscribe from the observable sequence. */ + @warn_unused_result public func subscribe(next next: ((E) -> Void)? = nil, error: ((ErrorType) -> Void)? = nil, completed: (() -> Void)? = nil, disposed: (() -> Void)? = nil) -> Disposable { @@ -69,6 +71,7 @@ extension ObservableType { - parameter onNext: Action to invoke for each element in the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ + @warn_unused_result public func subscribeNext(onNext: (E) -> Void) -> Disposable { let observer = AnonymousObserver { e in @@ -85,6 +88,7 @@ extension ObservableType { - parameter onRrror: Action to invoke upon errored termination of the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ + @warn_unused_result public func subscribeError(onError: (ErrorType) -> Void) -> Disposable { let observer = AnonymousObserver { e in @@ -101,6 +105,7 @@ extension ObservableType { - parameter onCompleted: Action to invoke upon graceful termination of the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ + @warn_unused_result public func subscribeCompleted(onCompleted: () -> Void) -> Disposable { let observer = AnonymousObserver { e in From e2aa73e4b32ea14e7e88a22eaaa601f77440ea1e Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Fri, 2 Oct 2015 21:21:44 +0200 Subject: [PATCH 14/25] Fixes xcode warnings. --- .../xcshareddata/xcschemes/RxBlocking-OSX.xcscheme | 2 +- .../xcshareddata/xcschemes/RxBlocking-iOS.xcscheme | 2 +- .../xcschemes/RxBlocking-watchOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxCocoa-OSX.xcscheme | 2 +- .../xcshareddata/xcschemes/RxCocoa-iOS.xcscheme | 2 +- .../xcschemes/RxCocoa-watchOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxSwift-OSX.xcscheme | 2 +- .../xcshareddata/xcschemes/RxSwift-iOS.xcscheme | 2 +- .../xcschemes/RxSwift-watchOS.xcscheme | 2 +- RxExample/RxExample.xcodeproj/project.pbxproj | 14 ++++++++++++-- .../xcshareddata/xcschemes/RxExample-OSX.xcscheme | 2 +- .../xcschemes/RxExample-iOS-no-module.xcscheme | 2 +- .../xcshareddata/xcschemes/RxExample-iOS.xcscheme | 2 +- .../APIWrappers/APIWrappersViewController.swift | 2 +- .../Examples/TableView/TableViewController.swift | 2 +- .../AppIcon.appiconset/Contents.json | 5 ----- RxExample/RxExample/Info-OSX.plist | 6 +++--- RxExample/RxExample/Info-iOS.plist | 12 ++++++------ .../xcshareddata/xcschemes/RxTests-OSX.xcscheme | 2 +- .../xcshareddata/xcschemes/RxTests-iOS.xcscheme | 2 +- 20 files changed, 37 insertions(+), 32 deletions(-) diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme index dc0324a8..3cb14f30 100644 --- a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme @@ -1,6 +1,6 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - Krunoslav-Zaher.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -20,9 +20,9 @@ ???? CFBundleVersion 1 - NSPrincipalClass - NSApplication NSMainStoryboardFile Main + NSPrincipalClass + NSApplication diff --git a/RxExample/RxExample/Info-iOS.plist b/RxExample/RxExample/Info-iOS.plist index ec238e9c..3f8076ad 100644 --- a/RxExample/RxExample/Info-iOS.plist +++ b/RxExample/RxExample/Info-iOS.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - Krunoslav-Zaher.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -22,6 +22,11 @@ 1 LSRequiresIPhoneOS + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSLocationAlwaysUsageDescription We need location UILaunchStoryboardName @@ -38,11 +43,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait diff --git a/RxTests/RxTests.xcodeproj/xcshareddata/xcschemes/RxTests-OSX.xcscheme b/RxTests/RxTests.xcodeproj/xcshareddata/xcschemes/RxTests-OSX.xcscheme index 4be56a2a..4f6e4922 100644 --- a/RxTests/RxTests.xcodeproj/xcshareddata/xcschemes/RxTests-OSX.xcscheme +++ b/RxTests/RxTests.xcodeproj/xcshareddata/xcschemes/RxTests-OSX.xcscheme @@ -1,6 +1,6 @@ Date: Fri, 2 Oct 2015 23:32:39 +0200 Subject: [PATCH 15/25] Adds alpha.4 changes. --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d686d7e8..77320a5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,32 @@ All notable changes to this project will be documented in this file. --- +## [2.0.0-alpha.4](https://github.com/ReactiveX/RxSwift/releases/tag/2.0.0-alpha.4) + +#### Updated + +* Adds `tvOS` support +* Adds `watchOS` support +* Adds auto loading example to example app +* Restores old `Variable` behavior. Variable doesn't send anything on dealloc. +* Adds performance tests target. +* Adds more detailed resource tracing during unit tests (important for further optimizations). +* Adds `UIStepper` extensions. +* Adds `UIBarButtonItem` enabled property wrapper. +* Adds response data to userInfo of error for `rx_response` extensions of `NSURLSession`. +* Adds `onNext`, `onError` and `onCompleted` convenience methods to `ObserverType`. + +#### Fixed + +* Fixes problem on some systems with unregistering `CurrentThreadScheduler` from current thread. +* Fixes retry parameter naming (`maxAttemptCount`). +* Fixes a lot of unit test warnings. +* Removes embedding of Swift library with built frameworks. + ## [2.0.0-alpha.3](https://github.com/ReactiveX/RxSwift/releases/tag/2.0.0-alpha.3) +#### Updated + * Renames `ImmediateScheduler` protocol to `ImmediateSchedulerType` * Renames `Scheduler` protocol to `SchedulerType` * Adds `CurrentThreadScheduler` From cf90d2f48640fcdd763bc625d299ca0ccb2d1f94 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Fri, 2 Oct 2015 23:35:28 +0200 Subject: [PATCH 16/25] Release 2.0.0-alpha.4 --- README.md | 2 +- RxBlocking.podspec | 2 +- RxCocoa.podspec | 2 +- RxSwift.podspec | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3c89325b..af16a0bf 100644 --- a/README.md +++ b/README.md @@ -474,7 +474,7 @@ $ pod install Add this to `Cartfile` ``` -git "git@github.com:ReactiveX/RxSwift.git" "2.0.0-alpha.3" +git "git@github.com:ReactiveX/RxSwift.git" "2.0.0-alpha.4" ``` ``` diff --git a/RxBlocking.podspec b/RxBlocking.podspec index fdfb7aa5..f7d811f2 100644 --- a/RxBlocking.podspec +++ b/RxBlocking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RxBlocking" - s.version = "2.0.0-alpha.3" + s.version = "2.0.0-alpha.4" s.summary = "RxSwift Blocking operatos" s.description = <<-DESC Set of blocking operators for unit testing diff --git a/RxCocoa.podspec b/RxCocoa.podspec index c2360877..35bd3042 100644 --- a/RxCocoa.podspec +++ b/RxCocoa.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RxCocoa" - s.version = "2.0.0-alpha.3" + s.version = "2.0.0-alpha.4" s.summary = "RxSwift Cocoa extensions" s.description = <<-DESC * UI extensions diff --git a/RxSwift.podspec b/RxSwift.podspec index f2c47df8..9a8198ac 100644 --- a/RxSwift.podspec +++ b/RxSwift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RxSwift" - s.version = "2.0.0-alpha.3" + s.version = "2.0.0-alpha.4" s.summary = "Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform" s.description = <<-DESC This is a Swift port of Reactive extensions. From 1a798ddb3131759bdca6e907022f5c6d2491c437 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Sat, 3 Oct 2015 15:55:57 +0200 Subject: [PATCH 17/25] Fixes automation tests, unit tests warnings and example app warnings. --- RxBlocking/Observable+Blocking.swift | 2 +- RxExample/RxExample.xcodeproj/project.pbxproj | 34 +---- RxExample/RxExample/Example.swift | 1 - .../APIWrappersViewController.swift | 8 +- .../Random.xcdatamodel/contents | 10 -- .../RxExample/Examples/Dependencies.swift | 8 +- RxExample/RxExample/OSX/Main.storyboard | 28 +++-- RxExample/RxExample/iOS/Main.storyboard | 119 ++++++++++++++++-- RxTests/RxCocoaTests/KVOObservableTests.swift | 117 ++++++++++------- RxTests/RxCocoaTests/NSObject+RxTests.swift | 18 ++- .../Tests/AnonymousObservable+Test.swift | 6 +- .../RxSwiftTests/Tests/AssumptionsTest.swift | 4 +- .../Tests/DelegateProxyTest.swift | 4 +- .../Tests/Observable+BindingTest.swift | 20 +-- .../Tests/Observable+CreationTest.swift | 2 +- .../Tests/Observable+MultipleTest.swift | 30 ++--- ...rvable+StandardSequenceOperatorsTest.swift | 6 +- .../RxSwiftTests/Tests/ObserverTests.swift | 6 +- scripts/automation-tests.sh | 16 +-- scripts/automation-tests/01_githubSignUp.js | 34 ++--- .../automation-tests/02_searchWikipedia.js | 45 ++++--- scripts/automation-tests/03_masterDetail.js | 18 +-- scripts/automation-tests/04_controlsTests.js | 52 ++++---- .../05_reactivePartialUpdates.js | 14 +-- scripts/automation-tests/common.js | 11 +- scripts/common.sh | 102 +++++---------- scripts/pre-release-tests.sh | 65 +++------- 27 files changed, 377 insertions(+), 403 deletions(-) delete mode 100644 RxExample/RxExample/Examples/CoreData/Random.xcdatamodeld/Random.xcdatamodel/contents diff --git a/RxBlocking/Observable+Blocking.swift b/RxBlocking/Observable+Blocking.swift index 8b5c56cc..799cbf98 100644 --- a/RxBlocking/Observable+Blocking.swift +++ b/RxBlocking/Observable+Blocking.swift @@ -28,7 +28,7 @@ extension ObservableType { var ended = false - self.subscribe { e in + _ = self.subscribe { e in switch e { case .Next(let element): elements.append(element) diff --git a/RxExample/RxExample.xcodeproj/project.pbxproj b/RxExample/RxExample.xcodeproj/project.pbxproj index 7c493ad7..4db198d0 100644 --- a/RxExample/RxExample.xcodeproj/project.pbxproj +++ b/RxExample/RxExample.xcodeproj/project.pbxproj @@ -45,7 +45,6 @@ C8297E481B6CF905000589EA /* Differentiator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88C78941B3F20DB0061C5AB /* Differentiator.swift */; }; C8297E491B6CF905000589EA /* WikipediaSearchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C46DA51B47F7110020D71E /* WikipediaSearchCell.swift */; }; C8297E4A1B6CF905000589EA /* GitHubSignupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C890A6571AEBD26B00AFF7E6 /* GitHubSignupViewController.swift */; }; - C8297E4B1B6CF905000589EA /* Random.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = C8A57F721B40AF7C00D5570A /* Random.xcdatamodeld */; }; C8297E4C1B6CF905000589EA /* APIWrappersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075F130F1B4E9D5A000D7861 /* APIWrappersViewController.swift */; }; C8297E4D1B6CF905000589EA /* RxTableViewSectionedReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88C78651B3EB0A00061C5AB /* RxTableViewSectionedReloadDataSource.swift */; }; C8297E4E1B6CF905000589EA /* RxCollectionViewSectionedAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C859B9A91B45CB0900D012D7 /* RxCollectionViewSectionedAnimatedDataSource.swift */; }; @@ -277,7 +276,6 @@ C8A468F11B8A8C2600BF917B /* RxBlocking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8A468EF1B8A8BD000BF917B /* RxBlocking.framework */; }; C8A468F21B8A8C2600BF917B /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8A468ED1B8A8BCC00BF917B /* RxCocoa.framework */; }; C8A468F31B8A8C2600BF917B /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8A468EB1B8A8BC900BF917B /* RxSwift.framework */; }; - C8A57F741B40AF7C00D5570A /* Random.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = C8A57F721B40AF7C00D5570A /* Random.xcdatamodeld */; }; C8A7501F1B94E77C00D8D046 /* RxDataSourceStarterKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8A7501E1B94E77C00D8D046 /* RxDataSourceStarterKit.swift */; }; C8A750201B94E78200D8D046 /* RxDataSourceStarterKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8A7501E1B94E77C00D8D046 /* RxDataSourceStarterKit.swift */; }; C8C46DA81B47F7110020D71E /* CollectionViewImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C46DA31B47F7110020D71E /* CollectionViewImageCell.swift */; }; @@ -547,7 +545,6 @@ C8A468EB1B8A8BC900BF917B /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C8A468ED1B8A8BCC00BF917B /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C8A468EF1B8A8BD000BF917B /* RxBlocking.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RxBlocking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C8A57F731B40AF7C00D5570A /* Random.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Random.xcdatamodel; sourceTree = ""; }; C8A7501E1B94E77C00D8D046 /* RxDataSourceStarterKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxDataSourceStarterKit.swift; sourceTree = ""; }; C8AF26F11B49ABD300131C03 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; C8C46DA31B47F7110020D71E /* CollectionViewImageCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewImageCell.swift; sourceTree = ""; }; @@ -1075,8 +1072,7 @@ 07E300051B14994500F00100 /* 05 TableView */, 07A5C3D91B70B6B8001EFE5C /* 06 Calculator */, C859B9A21B45C5D900D012D7 /* 07 PartialUpdates */, - C8A57F711B40AF4E00D5570A /* 08 CoreData */, - EC91FB931BBA12E800973245 /* 09 AutoLoading */, + EC91FB931BBA12E800973245 /* 08 AutoLoading */, ); path = Examples; sourceTree = ""; @@ -1162,15 +1158,6 @@ path = DataSources; sourceTree = ""; }; - C8A57F711B40AF4E00D5570A /* 08 CoreData */ = { - isa = PBXGroup; - children = ( - C8A57F721B40AF7C00D5570A /* Random.xcdatamodeld */, - ); - name = "08 CoreData"; - path = CoreData; - sourceTree = ""; - }; C8DF92C71B0B2F84009BCF9A /* iOS */ = { isa = PBXGroup; children = ( @@ -1200,12 +1187,12 @@ path = Introduction; sourceTree = ""; }; - EC91FB931BBA12E800973245 /* 09 AutoLoading */ = { + EC91FB931BBA12E800973245 /* 08 AutoLoading */ = { isa = PBXGroup; children = ( EC91FB941BBA144400973245 /* GitHubSearchRepositoriesViewController.swift */, ); - name = "09 AutoLoading"; + name = "08 AutoLoading"; path = AutoLoading; sourceTree = ""; }; @@ -1489,7 +1476,6 @@ C864099C1BA5909000D3C4E8 /* DisposeBase.swift in Sources */, C8297E4A1B6CF905000589EA /* GitHubSignupViewController.swift in Sources */, C86409F51BA5909000D3C4E8 /* SchedulerType.swift in Sources */, - C8297E4B1B6CF905000589EA /* Random.xcdatamodeld in Sources */, C86409B81BA5909000D3C4E8 /* DelaySubscription.swift in Sources */, C84B3A641BA4345A001B7D88 /* UITextView+Rx.swift in Sources */, C86409AF1BA5909000D3C4E8 /* Catch.swift in Sources */, @@ -1591,7 +1577,6 @@ C88C78951B3F20DB0061C5AB /* Differentiator.swift in Sources */, C8C46DAA1B47F7110020D71E /* WikipediaSearchCell.swift in Sources */, C890A6581AEBD26B00AFF7E6 /* GitHubSignupViewController.swift in Sources */, - C8A57F741B40AF7C00D5570A /* Random.xcdatamodeld in Sources */, 075F13101B4E9D5A000D7861 /* APIWrappersViewController.swift in Sources */, C83367311AD029AE00C668A7 /* Wireframe.swift in Sources */, 07E300071B14995F00F00100 /* TableViewController.swift in Sources */, @@ -1928,19 +1913,6 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ - -/* Begin XCVersionGroup section */ - C8A57F721B40AF7C00D5570A /* Random.xcdatamodeld */ = { - isa = XCVersionGroup; - children = ( - C8A57F731B40AF7C00D5570A /* Random.xcdatamodel */, - ); - currentVersion = C8A57F731B40AF7C00D5570A /* Random.xcdatamodel */; - path = Random.xcdatamodeld; - sourceTree = ""; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ }; rootObject = C83366D51AD0293800C668A7 /* Project object */; } diff --git a/RxExample/RxExample/Example.swift b/RxExample/RxExample/Example.swift index 4cd910f1..217b107b 100644 --- a/RxExample/RxExample/Example.swift +++ b/RxExample/RxExample/Example.swift @@ -35,7 +35,6 @@ extension String { } } - func showAlert(message: String) { #if os(iOS) UIAlertView(title: "RxExample", message: message, delegate: nil, cancelButtonTitle: "OK").show() diff --git a/RxExample/RxExample/Examples/APIWrappers/APIWrappersViewController.swift b/RxExample/RxExample/Examples/APIWrappers/APIWrappersViewController.swift index 3cfa0b22..4e81e939 100644 --- a/RxExample/RxExample/Examples/APIWrappers/APIWrappersViewController.swift +++ b/RxExample/RxExample/Examples/APIWrappers/APIWrappersViewController.swift @@ -194,11 +194,9 @@ class APIWrappersViewController: ViewController { // MARK: CLLocationManager - if #available(iOS 8.0, *) { - manager.requestWhenInUseAuthorization() - } else { - // Fallback on earlier versions - } + #if !RX_NO_MODULE + manager.requestWhenInUseAuthorization() + #endif manager.rx_didUpdateLocations .subscribeNext { [weak self] x in diff --git a/RxExample/RxExample/Examples/CoreData/Random.xcdatamodeld/Random.xcdatamodel/contents b/RxExample/RxExample/Examples/CoreData/Random.xcdatamodeld/Random.xcdatamodel/contents deleted file mode 100644 index 6b481e21..00000000 --- a/RxExample/RxExample/Examples/CoreData/Random.xcdatamodeld/Random.xcdatamodel/contents +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/RxExample/RxExample/Examples/Dependencies.swift b/RxExample/RxExample/Examples/Dependencies.swift index 8e0bef9b..ef0f02e2 100644 --- a/RxExample/RxExample/Examples/Dependencies.swift +++ b/RxExample/RxExample/Examples/Dependencies.swift @@ -25,11 +25,9 @@ class Dependencies { let operationQueue = NSOperationQueue() operationQueue.maxConcurrentOperationCount = 2 - if #available(iOS 8.0, *) { - operationQueue.qualityOfService = NSQualityOfService.UserInitiated - } else { - // Fallback on earlier versions - } + #if !RX_NO_MODULE + operationQueue.qualityOfService = NSQualityOfService.UserInitiated + #endif backgroundWorkScheduler = OperationQueueScheduler(operationQueue: operationQueue) mainScheduler = MainScheduler.sharedInstance diff --git a/RxExample/RxExample/OSX/Main.storyboard b/RxExample/RxExample/OSX/Main.storyboard index d082dd26..06e65af4 100644 --- a/RxExample/RxExample/OSX/Main.storyboard +++ b/RxExample/RxExample/OSX/Main.storyboard @@ -1,7 +1,7 @@ - + - + @@ -52,6 +52,7 @@ + @@ -66,6 +67,7 @@ + @@ -74,6 +76,7 @@ + @@ -82,25 +85,28 @@ + - + + - + @@ -294,14 +318,17 @@ + - - + + + - - + + + @@ -311,21 +338,24 @@ - + + + @@ -336,16 +366,18 @@ - + + @@ -358,6 +390,7 @@ + @@ -398,6 +431,7 @@ + @@ -412,6 +446,7 @@