{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/149","labels_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/149/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/149/comments","events_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/149/events","html_url":"https://github.com/ReactiveX/RxSwift/pull/149","id":107440911,"number":149,"title":"Add watchOS2 target","user":{"login":"cfraz89","id":4686150,"avatar_url":"https://avatars.githubusercontent.com/u/4686150?v=3","gravatar_id":"","url":"https://api.github.com/users/cfraz89","html_url":"https://github.com/cfraz89","followers_url":"https://api.github.com/users/cfraz89/followers","following_url":"https://api.github.com/users/cfraz89/following{/other_user}","gists_url":"https://api.github.com/users/cfraz89/gists{/gist_id}","starred_url":"https://api.github.com/users/cfraz89/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cfraz89/subscriptions","organizations_url":"https://api.github.com/users/cfraz89/orgs","repos_url":"https://api.github.com/users/cfraz89/repos","events_url":"https://api.github.com/users/cfraz89/events{/privacy}","received_events_url":"https://api.github.com/users/cfraz89/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"bontoJR","id":159493,"avatar_url":"https://avatars.githubusercontent.com/u/159493?v=3","gravatar_id":"","url":"https://api.github.com/users/bontoJR","html_url":"https://github.com/bontoJR","followers_url":"https://api.github.com/users/bontoJR/followers","following_url":"https://api.github.com/users/bontoJR/following{/other_user}","gists_url":"https://api.github.com/users/bontoJR/gists{/gist_id}","starred_url":"https://api.github.com/users/bontoJR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bontoJR/subscriptions","organizations_url":"https://api.github.com/users/bontoJR/orgs","repos_url":"https://api.github.com/users/bontoJR/repos","events_url":"https://api.github.com/users/bontoJR/events{/privacy}","received_events_url":"https://api.github.com/users/bontoJR/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2015-09-21T04:08:29Z","updated_at":"2015-09-22T22:08:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactiveX/RxSwift/pulls/149","html_url":"https://github.com/ReactiveX/RxSwift/pull/149","diff_url":"https://github.com/ReactiveX/RxSwift/pull/149.diff","patch_url":"https://github.com/ReactiveX/RxSwift/pull/149.patch"},"body":"We've recently successfully used RxSwift in a watchOS 2 app. We just had to do two things:\r\n1. Add targets for watchOS\r\n2. Turn 'embedded content contains swift code' to NO, otherwise the built app ends up with a second copy of the Swift runtimes. This should probably be disabled for the other targets too, however have left them as is for this PR.\r\n\r\nHopefully we can leave this target in the mainline RxSwift, and soon, tvOS :)"},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/comments/142436152","html_url":"https://github.com/ReactiveX/RxSwift/pull/149#issuecomment-142436152","issue_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/149","id":142436152,"user":{"login":"bontoJR","id":159493,"avatar_url":"https://avatars.githubusercontent.com/u/159493?v=3","gravatar_id":"","url":"https://api.github.com/users/bontoJR","html_url":"https://github.com/bontoJR","followers_url":"https://api.github.com/users/bontoJR/followers","following_url":"https://api.github.com/users/bontoJR/following{/other_user}","gists_url":"https://api.github.com/users/bontoJR/gists{/gist_id}","starred_url":"https://api.github.com/users/bontoJR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bontoJR/subscriptions","organizations_url":"https://api.github.com/users/bontoJR/orgs","repos_url":"https://api.github.com/users/bontoJR/repos","events_url":"https://api.github.com/users/bontoJR/events{/privacy}","received_events_url":"https://api.github.com/users/bontoJR/received_events","type":"User","site_admin":false},"created_at":"2015-09-22T22:08:36Z","updated_at":"2015-09-22T22:08:36Z","body":"After few hours of work, here I am. \r\n\r\nI created a dedicated feature branch for this, I was able to compile and update the test script, unfortunately there's no XCTest, so no way to get tests running on WatchOS. \r\nhttps://github.com/Quick/Quick/issues/333\r\n[rdar://21760513](https://openradar.appspot.com/21760513)\r\n\r\nThe code compiles, I was able to quickly import it into a basic project and in the simulator it works without any issue.\r\n\r\nNow, I would prefer to delay the import of this into `develop` until I am sure there're no issues on the real device, I will try to test this on the next 2-3 days. \r\n\r\nAbout the Podspec, the update is [simple](http://blog.cocoapods.org/CocoaPods-0.38/) `s.watchos.deployment_target`.\r\n\r\nFYI, this is the output of tests in WatchOS\r\n```\r\nRxSwiftTest-AppleWatch-watchOS_2.0 exists\r\n\r\ntest RxTests-watchOS - Release (RxSwiftTest-AppleWatch-watchOS_2.0)\r\n\r\n2015-09-23 00:06:37.019 xcodebuild[56863:708501] [MT] IDETestOperationsObserverDebug: (39A95636-41E2-44F8-8DA3-52D7CACA15A9) Beginning test session with Xcode 7A218 on target <DVTiPhoneSimulator: 0x7f8dc4e36d20> {\r\n\t\tSimDevice: SimDevice : RxSwiftTest-AppleWatch-watchOS_2.0 (9E737018-78B0-420D-BD70-3830BC99401D) : state={ Booted } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm } runtime={ SimRuntime : 2.0 (13S343) - com.apple.CoreSimulator.SimRuntime.watchOS-2-0 }\r\n} (2.0 (13S343))\r\n▸ Building Rx/RxSwift-watchOS [Release]\r\n▸ Compiling ReplaySubject.swift\r\n▸ Compiling Observable+Extensions.swift\r\n▸ Compiling Throttle.swift\r\n▸ Compiling AsObservable.swift\r\n▸ Compiling ObserverBase.swift\r\n▸ Compiling ConnectableObservable.swift\r\n▸ Compiling DistinctUntilChanged.swift\r\n▸ Compiling Multicast.swift\r\n▸ Compiling PublishSubject.swift\r\n▸ Compiling AnonymousObservable.swift\r\n▸ Compiling AnonymousDisposable.swift\r\n▸ Compiling Switch.swift\r\n▸ Compiling RefCount.swift\r\n▸ Compiling Filter.swift\r\n▸ Compiling ObserverType.swift\r\n▸ Compiling Event.swift\r\n▸ Compiling Zip.swift\r\n▸ Compiling Zip+arity.swift\r\n▸ Compiling SubscribeOn.swift\r\n▸ Compiling Observable+Concurrency.swift\r\n▸ Compiling Observable+StandardSequenceOperators.swift\r\n▸ Compiling Debug.swift\r\n▸ Compiling Observable+Debug.swift\r\n▸ Compiling Reduce.swift\r\n▸ Compiling Observable+Aggregate.swift\r\n▸ Compiling Take.swift\r\n▸ Compiling Observable+Time.swift\r\n▸ Compiling Concat.swift\r\n▸ Compiling Observable+Multiple.swift\r\n▸ Compiling Observable+Binding.swift\r\n▸ Compiling Do.swift\r\n▸ Compiling Observable+Single.swift\r\n▸ Compiling Amb.swift\r\n▸ Compiling TakeWhile.swift\r\n▸ Compiling Buffer.swift\r\n▸ Compiling ObserveOnSerialDispatchQueue.swift\r\n▸ Compiling Map.swift\r\n▸ Compiling DelaySubscription.swift\r\n▸ Compiling BehaviorSubject.swift\r\n▸ Compiling Variable.swift\r\n▸ Compiling FlatMap.swift\r\n▸ Compiling Observable+Creation.swift\r\n▸ Compiling Scan.swift\r\n▸ Compiling Merge.swift\r\n▸ Compiling Never.swift\r\n▸ Compiling Observable.swift\r\n▸ Compiling Producer.swift\r\n▸ Compiling Repeat.swift\r\n▸ Compiling StartWith.swift\r\n▸ Compiling Range.swift\r\n▸ Compiling CombineLatest+arity.swift\r\n▸ Compiling CombineLatest+CollectionType.swift\r\n▸ Compiling Sample.swift\r\n▸ Compiling ObserveOn.swift\r\n▸ Compiling Catch.swift\r\n▸ Compiling Zip+CollectionType.swift\r\n▸ Compiling Deferred.swift\r\n▸ Compiling Generate.swift\r\n▸ Compiling TakeUntil.swift\r\n▸ Compiling Empty.swift\r\n▸ Compiling Timer.swift\r\n▸ Compiling Skip.swift\r\n▸ Compiling FailWith.swift\r\n▸ Compiling Just.swift\r\n▸ Compiling TailRecursiveSink.swift\r\n▸ Compiling ObservableType.swift\r\n▸ Compiling SubjectType.swift\r\n▸ Compiling InfiniteSequence.swift\r\n▸ Compiling Queue.swift\r\n▸ Compiling CurrentThreadScheduler.swift\r\n▸ Compiling AsyncLock.swift\r\n▸ Compiling ConnectableObservableType.swift\r\n▸ Compiling AnonymousObserver.swift\r\n▸ Compiling CombineLatest.swift\r\n▸ Compiling ObserverOf.swift\r\n▸ Compiling ObserverType+Extensions.swift\r\n▸ Compiling Sink.swift\r\n▸ Compiling NopDisposable.swift\r\n▸ Compiling StableCompositeDisposable.swift\r\n▸ Compiling DispatchQueueSchedulerPriority.swift\r\n▸ Compiling DisposeBase.swift\r\n▸ Compiling BinaryDisposable.swift\r\n▸ Compiling RecursiveScheduler.swift\r\n▸ Compiling MainScheduler.swift\r\n▸ Compiling Rx.swift\r\n▸ Compiling SerialDispatchQueueScheduler.swift\r\n▸ Compiling SchedulerType.swift\r\n▸ Compiling ScopedDisposable.swift\r\n▸ Compiling Error.swift\r\n▸ Compiling ScheduledDisposable.swift\r\n▸ Compiling SerialDisposable.swift\r\n▸ Compiling RxBox.swift\r\n▸ Compiling DisposeBag.swift\r\n▸ Compiling ScheduledItem.swift\r\n▸ Compiling Lock.swift\r\n▸ Compiling ImmediateSchedulerType.swift\r\n▸ Compiling Disposable.swift\r\n▸ Compiling OperationQueueScheduler.swift\r\n▸ Compiling SingleAssignmentDisposable.swift\r\n▸ Compiling SchedulerServices+Emulation.swift\r\n▸ Compiling CompositeDisposable.swift\r\n▸ Compiling Bag.swift\r\n▸ Compiling NAryDisposable.swift\r\n▸ Compiling Cancelable.swift\r\n▸ Compiling ConcurrentDispatchQueueScheduler.swift\r\n▸ Compiling NopDisposable.swift\r\n▸ Compiling StableCompositeDisposable.swift\r\n▸ Compiling DispatchQueueSchedulerPriority.swift\r\n▸ Compiling DisposeBase.swift\r\n▸ Compiling BinaryDisposable.swift\r\n▸ Compiling RecursiveScheduler.swift\r\n▸ Compiling MainScheduler.swift\r\n▸ Compiling Rx.swift\r\n▸ Compiling SerialDispatchQueueScheduler.swift\r\n▸ Compiling SchedulerType.swift\r\n▸ Compiling ScopedDisposable.swift\r\n▸ Compiling Error.swift\r\n▸ Compiling ScheduledDisposable.swift\r\n▸ Compiling SerialDisposable.swift\r\n▸ Compiling RxBox.swift\r\n▸ Compiling DisposeBag.swift\r\n▸ Compiling ScheduledItem.swift\r\n▸ Compiling Lock.swift\r\n▸ Compiling ImmediateSchedulerType.swift\r\n▸ Compiling Disposable.swift\r\n▸ Compiling OperationQueueScheduler.swift\r\n▸ Compiling SingleAssignmentDisposable.swift\r\n▸ Compiling SchedulerServices+Emulation.swift\r\n▸ Compiling CompositeDisposable.swift\r\n▸ Compiling Bag.swift\r\n▸ Compiling NAryDisposable.swift\r\n▸ Compiling Cancelable.swift\r\n▸ Compiling ConcurrentDispatchQueueScheduler.swift\r\n▸ Touching RxSwift.framework\r\n▸ Building Rx/RxBlocking-watchOS [Release]\r\n▸ Compiling Observable+Blocking.swift\r\n▸ Touching RxBlocking.framework\r\n▸ Building RxTests/RxTests-watchOS [Release]\r\n▸ Compiling Observable+ConcurrencyTest.swift\r\n\r\n⌦  /Users/bontoJR/Workspace/RxSwift/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift:10:8: no such module 'XCTest'\r\n\r\nimport XCTest\r\n       ^\r\n\r\n\r\n▸ Compiling RxTest.swift\r\n\r\n⌦  /Users/bontoJR/Workspace/RxSwift/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift:10:8: no such module 'XCTest'\r\n\r\nimport XCTest\r\n```"}}