├── .swift-version
├── Pod
├── Assets
│ └── .gitkeep
└── Classes
│ ├── MotionActivityManager.swift
│ └── RxCoreMotion.swift
├── Cartfile
├── Cartfile.resolved
├── Examples
├── Cartfile
├── Cartfile.resolved
├── RxCoreMotionExample
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon-40.png
│ │ │ ├── Icon-76.png
│ │ │ ├── Icon-40@2x.png
│ │ │ ├── Icon-60@2x.png
│ │ │ ├── Icon-60@3x.png
│ │ │ ├── Icon-76@2x.png
│ │ │ ├── Icon-Small.png
│ │ │ ├── Rx_Logo_M.png
│ │ │ ├── Icon-40@2x-1.png
│ │ │ ├── Icon-60@2x-1.png
│ │ │ ├── Icon-Small@3x.png
│ │ │ ├── Rx_Logo-iPad.png
│ │ │ ├── Icon-Small@2x-1.png
│ │ │ └── Contents.json
│ ├── Views
│ │ ├── RedCircleView.swift
│ │ └── GrillageView.swift
│ ├── ViewControllers
│ │ ├── GyroscopeViewController.swift
│ │ ├── MagnetometerViewController.swift
│ │ ├── DeviceMotionViewController.swift
│ │ └── AccelerometerViewController.swift
│ ├── Info.plist
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ └── AppDelegate.swift
├── Podfile
├── RxCoreMotionCarthageExample.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── project.pbxproj
├── RxCoreMotionCocoapodsExample.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── project.pbxproj
├── RxCoreMotionCocoapodsExample.xcworkspace
│ └── contents.xcworkspacedata
└── Podfile.lock
├── RxCoreMotion.xcodeproj
├── project.xcworkspace
│ └── contents.xcworkspacedata
├── xcshareddata
│ └── xcschemes
│ │ └── RxCoreMotion.xcscheme
└── project.pbxproj
├── RxCoreMotion
├── RxCoreMotion.h
└── Info.plist
├── .gitignore
├── RxCoreMotion.podspec
├── LICENSE
└── README.md
/.swift-version:
--------------------------------------------------------------------------------
1 | 4.0
2 |
--------------------------------------------------------------------------------
/Pod/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Cartfile:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift"
2 |
--------------------------------------------------------------------------------
/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" "3.3.1"
2 |
--------------------------------------------------------------------------------
/Examples/Cartfile:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift"
2 | github "RxSwiftCommunity/RxCoreMotion"
3 |
--------------------------------------------------------------------------------
/Examples/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" "3.3.1"
2 | github "RxSwiftCommunity/RxCoreMotion" "1.1.1"
3 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-76.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Rx_Logo_M.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Rx_Logo_M.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-40@2x-1.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Rx_Logo-iPad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Rx_Logo-iPad.png
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RxSwiftCommunity/RxCoreMotion/HEAD/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png
--------------------------------------------------------------------------------
/RxCoreMotion.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | project 'RxCoreMotionCocoapodsExample.xcodeproj'
3 | platform :ios, '8.0'
4 |
5 | target 'RxCoreMotionExample' do
6 | use_frameworks!
7 |
8 | pod 'RxSwift', '~> 4.0'
9 | pod 'RxCocoa', '~> 4.0'
10 | pod 'RxCoreMotion', :path => '../'
11 | end
12 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionCarthageExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionCocoapodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionCocoapodsExample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Examples/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - RxCocoa (4.0.0):
3 | - RxSwift (~> 4.0)
4 | - RxCoreMotion (1.3.0):
5 | - RxSwift (~> 4.0)
6 | - RxSwift (4.0.0)
7 |
8 | DEPENDENCIES:
9 | - RxCocoa (~> 4.0)
10 | - RxCoreMotion (from `../`)
11 | - RxSwift (~> 4.0)
12 |
13 | EXTERNAL SOURCES:
14 | RxCoreMotion:
15 | :path: ../
16 |
17 | SPEC CHECKSUMS:
18 | RxCocoa: d62846ca96495d862fa4c59ea7d87e5031d7340e
19 | RxCoreMotion: abc7639c82dae7a6654fb6b6db378fc2d8f5f22e
20 | RxSwift: fd680d75283beb5e2559486f3c0ff852f0d35334
21 |
22 | PODFILE CHECKSUM: 1c20244579f5f8223318fd0a3b3a04c7f6d3ec32
23 |
24 | COCOAPODS: 1.3.1
25 |
--------------------------------------------------------------------------------
/RxCoreMotion/RxCoreMotion.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCoreMotion iOS.h
3 | // RxCoreMotion iOS
4 | //
5 | // Created by Kieran Graham on 17/03/2017.
6 | // Copyright © 2017 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for RxCoreMotion iOS.
12 | FOUNDATION_EXPORT double RxCoreMotionVersionNumber;
13 |
14 | //! Project version string for RxCoreMotion iOS.
15 | FOUNDATION_EXPORT const unsigned char RxCoreMotionVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Views/RedCircleView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RedCircleView.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 23/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class RedCircleView: UIView {
12 |
13 | init() {
14 | super.init(frame: CGRect(x: 0.0, y: 0.0, width: 10.0, height: 10.0))
15 | backgroundColor = UIColor.red
16 | layer.cornerRadius = 5.0
17 | }
18 |
19 | required init?(coder aDecoder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/RxCoreMotion/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.1.1
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 | *.xcuserstate
22 |
23 | timeline.xctimeline
24 |
25 | # Bundler
26 | .bundle
27 |
28 | # CocoaPods
29 | #
30 | # We recommend against adding the Pods directory to your .gitignore. However
31 | # you should judge for yourself, the pros and cons are mentioned at:
32 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
33 | #
34 | Pods/
35 |
36 | # Carthage
37 | #
38 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
39 | Carthage/Checkouts
40 | Carthage/Build
41 |
42 | # Swift Package Manager
43 | #
44 | .build/
45 | Packages/
46 | /Examples/Carthage
47 |
--------------------------------------------------------------------------------
/RxCoreMotion.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 |
3 | s.name = 'RxCoreMotion'
4 | s.version = '1.3.0'
5 | s.summary = 'An Rx wrapper of Apple iOS CoreMotion framework'
6 |
7 | s.description = <<-DESC
8 | This is an Rx extension that provides an easy and straight-forward way
9 | to use Apple iOS CoreMotion responses as Observables
10 | DESC
11 |
12 | s.homepage = 'https://github.com/RxSwiftCommunity/RxCoreMotion'
13 | s.license = 'MIT'
14 | s.author = { 'Carlos García' => 'carlosypunto@gmail.com' }
15 | s.source = {
16 | :git => "https://github.com/RxSwiftCommunity/RxCoreMotion.git",
17 | :tag => s.version.to_s
18 | }
19 |
20 | s.requires_arc = true
21 | s.ios.deployment_target = '8.0'
22 | s.watchos.deployment_target = '3.0'
23 | s.source_files = 'Pod/Classes/*.swift'
24 | s.frameworks = 'Foundation', 'CoreMotion'
25 | s.dependency 'RxSwift', '~> 4.0'
26 |
27 | end
28 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 RxSwiftCommunity
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/ViewControllers/GyroscopeViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GyroscopeViewController.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 23/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import CoreMotion
12 | import RxCoreMotion
13 |
14 | class GyroscopeViewController: UIViewController {
15 |
16 | let disposeBag = DisposeBag()
17 | let coreMotionManager = CMMotionManager.rx.manager()
18 |
19 |
20 | override func viewDidLoad() {
21 | super.viewDidLoad()
22 |
23 | }
24 |
25 | override func viewDidAppear(_ animated: Bool) {
26 | super.viewDidAppear(animated)
27 |
28 | coreMotionManager
29 | .flatMapLatest { manager in
30 | manager.rotationRate ?? Observable.empty()
31 | }
32 | .observeOn(MainScheduler.instance)
33 | .subscribe(onNext: { rotationRate in
34 | print(rotationRate)
35 | })
36 | .disposed(by: disposeBag)
37 |
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/ViewControllers/MagnetometerViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MagnetometerViewController.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 23/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import CoreMotion
12 | import RxCoreMotion
13 |
14 | class MagnetometerViewController: UIViewController {
15 |
16 | let disposeBag = DisposeBag()
17 | let coreMotionManager = CMMotionManager.rx.manager()
18 |
19 | override func viewDidLoad() {
20 | super.viewDidLoad()
21 |
22 | }
23 |
24 | override func viewDidAppear(_ animated: Bool) {
25 | super.viewDidAppear(animated)
26 |
27 | coreMotionManager
28 | .flatMapLatest { manager in
29 | manager.magneticField ?? Observable.empty()
30 | }
31 | .observeOn(MainScheduler.instance)
32 | .subscribe(onNext: { magneticField in
33 | print(magneticField)
34 | })
35 | .disposed(by: disposeBag)
36 |
37 | }
38 |
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/ViewControllers/DeviceMotionViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeviceMotionViewController.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 23/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import CoreMotion
12 | import RxCoreMotion
13 |
14 | class DeviceMotionViewController: UIViewController {
15 |
16 | let disposeBag = DisposeBag()
17 | let coreMotionManager = CMMotionManager.rx.manager()
18 | let pedometerManager = CMPedometer()
19 |
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 | }
24 |
25 | override func viewDidAppear(_ animated: Bool) {
26 | super.viewDidAppear(animated)
27 |
28 | coreMotionManager
29 | .flatMapLatest { manager in
30 | manager.deviceMotion ?? Observable.empty()
31 | }
32 | .observeOn(MainScheduler.instance)
33 | .subscribe(onNext: { deviceMotion in
34 | print(deviceMotion)
35 | })
36 | .disposed(by: disposeBag)
37 |
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # RxCoreMotion
3 |
4 | ## Usage
5 |
6 | This is an Rx extension that provides an easy and straight-forward way to use Apple iOS _CoreMotion_ responses as Observables.
7 |
8 | #### Example app
9 |
10 | To run the example project, clone the repo, and run `pod install` from the Example directory first. The app uses RxSwift, RxCocoa.
11 |
12 | ## Installation
13 |
14 | This library depends on __RxSwift__.
15 |
16 | #### CocoaPods
17 | RxCoreMotion will be available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your Podfile:
18 |
19 | ```ruby
20 | pod "RxCoreMotion"
21 | ```
22 |
23 | #### Carthage
24 |
25 | Integrate `RxCoreMotion` with your `Cartfile` as folows:
26 |
27 | ```ruby
28 | github "RxSwiftCommunity/RxCoreMotion"
29 | ```
30 |
31 | Run `carthage update` to build the framework and drag the built `RxCoreMotion.framework` into your Xcode project.
32 |
33 | #### As Source
34 |
35 | You can grab the __RxCoreMotion.swift__ file from this repo and include it in your project.
36 |
37 | ## Contributing
38 |
39 | Feel free to send a PR
40 |
41 | ## License
42 |
43 | This library belongs to _RxSwiftCommunity_.
44 |
45 | RxCoreMotion is available under the MIT license. See the LICENSE file for more info.
46 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Views/GrillageView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GrillageView.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 23/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class GrillageView: UIView {
12 |
13 | override func draw(_ rect: CGRect) {
14 |
15 | UIColor.lightGray.setStroke()
16 |
17 | let centerX = rect.midX
18 | let centerY = rect.midY
19 |
20 | // center
21 | let bp1 = UIBezierPath()
22 | bp1.lineWidth = 1
23 | bp1.move(to: CGPoint(x: centerX, y: rect.minY))
24 | bp1.addLine(to: CGPoint(x: centerX, y: rect.maxY))
25 | bp1.move(to: CGPoint(x: rect.minX, y: centerY))
26 | bp1.addLine(to: CGPoint(x: rect.maxX, y: centerY))
27 | bp1.stroke()
28 |
29 | // 100 square
30 | let square1Rect = CGRect(x: centerX-100, y: centerY-100, width: 200, height: 200)
31 | let bp2 = UIBezierPath(ovalIn: square1Rect)
32 | bp2.lineWidth = 1
33 | bp2.stroke()
34 |
35 | // 200 square
36 | let square2Rect = CGRect(x: centerX-200, y: centerY-200, width: 400, height: 400)
37 | let bp3 = UIBezierPath(ovalIn: square2Rect)
38 | bp3.lineWidth = 1
39 | bp3.stroke()
40 |
41 | // 300 square
42 | let square3Rect = CGRect(x: centerX-300, y: centerY-300, width: 600, height: 600)
43 | let bp4 = UIBezierPath(ovalIn: square3Rect)
44 | bp4.lineWidth = 1
45 | bp4.stroke()
46 |
47 |
48 |
49 | }
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/ViewControllers/AccelerometerViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AccelerometerViewController.swift
3 | // RxCoreMotion
4 | //
5 | // Created by Carlos García on 22/05/16.
6 | // Copyright © 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import CoreMotion
12 | import RxCoreMotion
13 |
14 | class AccelerometerViewController: UIViewController {
15 |
16 | @IBOutlet weak var grillageView: GrillageView!
17 |
18 | let disposeBag = DisposeBag()
19 | let coreMotionManager = CMMotionManager.rx.manager()
20 |
21 | let circleView = RedCircleView()
22 |
23 | override func viewDidLoad() {
24 | super.viewDidLoad()
25 | view.addSubview(circleView)
26 | }
27 |
28 | override func viewDidAppear(_ animated: Bool) {
29 | super.viewDidAppear(animated)
30 |
31 | let grillageCenter = grillageView.center
32 | circleView.center = grillageCenter
33 |
34 | coreMotionManager
35 | .flatMapLatest { manager in
36 | manager.acceleration ?? Observable.empty()
37 | }
38 | .observeOn(MainScheduler.instance)
39 | .subscribe(onNext: { [weak self] acceleration in
40 | // translate 1G to 100 points
41 | let xG = CGFloat(acceleration.x) * 100
42 | let yG = -CGFloat(acceleration.y) * 100
43 |
44 | let xPos = grillageCenter.x + xG
45 | let yPos = grillageCenter.y + yG
46 |
47 | self?.circleView.center = CGPoint(x: xPos, y: yPos)
48 | })
49 | .disposed(by: disposeBag)
50 |
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // RxCoreMotion_Example
4 | //
5 | // Created by Carlos García on 22/05/16.
6 | // Copyright © 2016 RxSwiftCommunity - https://github.com/RxSwiftCommunity. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
24 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Pod/Classes/MotionActivityManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MotionActivityManager.swift
3 | // Pods
4 | //
5 | // Created by Francisco Gonçalves on 03/05/2017.
6 | //
7 | //
8 |
9 | import CoreMotion
10 | import RxSwift
11 |
12 | extension Reactive where Base: CMMotionActivityManager {
13 | static public func manager(createActivityManager: @escaping () throws -> CMMotionActivityManager = { CMMotionActivityManager() }) -> Observable {
14 | return Observable.create { observer in
15 | do {
16 | let activityManager = try createActivityManager()
17 | observer.on(.next(MotionActivityManager(motionActivityManager: activityManager)))
18 | }
19 | catch let e {
20 | observer.on(.error(e))
21 | }
22 | return Disposables.create()
23 | }.share(replay: 1)
24 | }
25 | }
26 |
27 | var motionActivityKey: UInt8 = 0
28 |
29 | extension Reactive where Base: CMMotionActivityManager {
30 | public var motionActivity: Observable {
31 | return memoize(key: &motionActivityKey) {
32 | Observable.create { observer in
33 | let activityManager = self.base
34 | let operationQueue = OperationQueue()
35 | operationQueue.maxConcurrentOperationCount = 1
36 |
37 | activityManager.startActivityUpdates(to: operationQueue, withHandler: { (data) in
38 | guard let data = data else {
39 | return
40 | }
41 | observer.on(.next(data))
42 | })
43 |
44 | return Disposables.create() {
45 | activityManager.stopActivityUpdates()
46 | }
47 | }.share(replay: 1)
48 | }
49 | }
50 | }
51 |
52 |
53 | extension Reactive where Base: CMMotionActivityManager {
54 | func memoize(key: UnsafeRawPointer, createLazily: () -> Observable) -> Observable {
55 | objc_sync_enter(self); defer { objc_sync_exit(self) }
56 |
57 | if let sequence = objc_getAssociatedObject(self, key) as? Observable {
58 | return sequence
59 | }
60 |
61 | let sequence = createLazily()
62 | objc_setAssociatedObject(self, key, sequence, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
63 |
64 | return sequence
65 | }
66 | }
67 |
68 | // If the current device supports one of the capabilities, observable sequence will not be nil
69 | public struct MotionActivityManager {
70 | public let motionActivity: Observable?
71 |
72 | public init(motionActivityManager: CMMotionActivityManager) {
73 | if CMMotionActivityManager.isActivityAvailable() {
74 | self.motionActivity = motionActivityManager.rx.motionActivity
75 | }
76 | else {
77 | self.motionActivity = nil
78 | }
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/RxCoreMotion.xcodeproj/xcshareddata/xcschemes/RxCoreMotion.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
55 |
61 |
62 |
63 |
64 |
65 |
66 |
72 |
73 |
75 |
76 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "1x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "2x"
22 | },
23 | {
24 | "size" : "29x29",
25 | "idiom" : "iphone",
26 | "filename" : "Icon-Small@3x.png",
27 | "scale" : "3x"
28 | },
29 | {
30 | "size" : "40x40",
31 | "idiom" : "iphone",
32 | "filename" : "Icon-40@2x.png",
33 | "scale" : "2x"
34 | },
35 | {
36 | "size" : "40x40",
37 | "idiom" : "iphone",
38 | "filename" : "Icon-60@2x.png",
39 | "scale" : "3x"
40 | },
41 | {
42 | "idiom" : "iphone",
43 | "size" : "57x57",
44 | "scale" : "1x"
45 | },
46 | {
47 | "idiom" : "iphone",
48 | "size" : "57x57",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-60@2x-1.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "60x60",
59 | "idiom" : "iphone",
60 | "filename" : "Icon-60@3x.png",
61 | "scale" : "3x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "20x20",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "20x20",
71 | "scale" : "2x"
72 | },
73 | {
74 | "size" : "29x29",
75 | "idiom" : "ipad",
76 | "filename" : "Icon-Small.png",
77 | "scale" : "1x"
78 | },
79 | {
80 | "idiom" : "ipad",
81 | "size" : "29x29",
82 | "scale" : "2x"
83 | },
84 | {
85 | "size" : "40x40",
86 | "idiom" : "ipad",
87 | "filename" : "Icon-40.png",
88 | "scale" : "1x"
89 | },
90 | {
91 | "size" : "40x40",
92 | "idiom" : "ipad",
93 | "filename" : "Icon-40@2x-1.png",
94 | "scale" : "2x"
95 | },
96 | {
97 | "idiom" : "ipad",
98 | "size" : "50x50",
99 | "scale" : "1x"
100 | },
101 | {
102 | "idiom" : "ipad",
103 | "size" : "50x50",
104 | "scale" : "2x"
105 | },
106 | {
107 | "idiom" : "ipad",
108 | "size" : "72x72",
109 | "scale" : "1x"
110 | },
111 | {
112 | "idiom" : "ipad",
113 | "size" : "72x72",
114 | "scale" : "2x"
115 | },
116 | {
117 | "size" : "76x76",
118 | "idiom" : "ipad",
119 | "filename" : "Icon-76.png",
120 | "scale" : "1x"
121 | },
122 | {
123 | "size" : "76x76",
124 | "idiom" : "ipad",
125 | "filename" : "Icon-76@2x.png",
126 | "scale" : "2x"
127 | },
128 | {
129 | "size" : "83.5x83.5",
130 | "idiom" : "ipad",
131 | "filename" : "Rx_Logo-iPad.png",
132 | "scale" : "2x"
133 | },
134 | {
135 | "size" : "24x24",
136 | "idiom" : "watch",
137 | "scale" : "2x",
138 | "role" : "notificationCenter",
139 | "subtype" : "38mm"
140 | },
141 | {
142 | "size" : "27.5x27.5",
143 | "idiom" : "watch",
144 | "scale" : "2x",
145 | "role" : "notificationCenter",
146 | "subtype" : "42mm"
147 | },
148 | {
149 | "size" : "29x29",
150 | "idiom" : "watch",
151 | "filename" : "Icon-Small@2x-1.png",
152 | "role" : "companionSettings",
153 | "scale" : "2x"
154 | },
155 | {
156 | "size" : "29x29",
157 | "idiom" : "watch",
158 | "role" : "companionSettings",
159 | "scale" : "3x"
160 | },
161 | {
162 | "size" : "40x40",
163 | "idiom" : "watch",
164 | "scale" : "2x",
165 | "role" : "appLauncher",
166 | "subtype" : "38mm"
167 | },
168 | {
169 | "size" : "44x44",
170 | "idiom" : "watch",
171 | "scale" : "2x",
172 | "role" : "longLook",
173 | "subtype" : "42mm"
174 | },
175 | {
176 | "size" : "86x86",
177 | "idiom" : "watch",
178 | "scale" : "2x",
179 | "role" : "quickLook",
180 | "subtype" : "38mm"
181 | },
182 | {
183 | "size" : "98x98",
184 | "idiom" : "watch",
185 | "scale" : "2x",
186 | "role" : "quickLook",
187 | "subtype" : "42mm"
188 | },
189 | {
190 | "idiom" : "mac",
191 | "size" : "16x16",
192 | "scale" : "1x"
193 | },
194 | {
195 | "idiom" : "mac",
196 | "size" : "16x16",
197 | "scale" : "2x"
198 | },
199 | {
200 | "idiom" : "mac",
201 | "size" : "32x32",
202 | "scale" : "1x"
203 | },
204 | {
205 | "idiom" : "mac",
206 | "size" : "32x32",
207 | "scale" : "2x"
208 | },
209 | {
210 | "idiom" : "mac",
211 | "size" : "128x128",
212 | "scale" : "1x"
213 | },
214 | {
215 | "idiom" : "mac",
216 | "size" : "128x128",
217 | "scale" : "2x"
218 | },
219 | {
220 | "idiom" : "mac",
221 | "size" : "256x256",
222 | "scale" : "1x"
223 | },
224 | {
225 | "idiom" : "mac",
226 | "size" : "256x256",
227 | "scale" : "2x"
228 | },
229 | {
230 | "size" : "512x512",
231 | "idiom" : "mac",
232 | "filename" : "Rx_Logo_M.png",
233 | "scale" : "1x"
234 | },
235 | {
236 | "idiom" : "mac",
237 | "size" : "512x512",
238 | "scale" : "2x"
239 | }
240 | ],
241 | "info" : {
242 | "version" : 1,
243 | "author" : "xcode"
244 | }
245 | }
--------------------------------------------------------------------------------
/Pod/Classes/RxCoreMotion.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCoreMotion
3 | //
4 | // Created by Carlos García on 23/05/16.
5 | // Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity. All rights reserved.
6 | //
7 | import CoreMotion
8 | import RxSwift
9 |
10 | extension Reactive where Base: CMMotionManager {
11 | static public func manager(createMotionManager: @escaping () throws -> CMMotionManager = { CMMotionManager() }) -> Observable {
12 | return Observable.create { observer in
13 | do {
14 | let motionManager = try createMotionManager()
15 | observer.on(.next(MotionManager(motionManager: motionManager)))
16 | }
17 | catch let e {
18 | observer.on(.error(e))
19 | }
20 | return Disposables.create()
21 | }.share(replay: 1)
22 | }
23 | }
24 |
25 | var accelerationKey: UInt8 = 0
26 | var accelerometerDataKey: UInt8 = 0
27 | var rotationKey: UInt8 = 0
28 | var magneticFieldKey: UInt8 = 0
29 | var deviceMotionKey: UInt8 = 0
30 | var pedometerKey: UInt8 = 0
31 |
32 | extension Reactive where Base: CMMotionManager {
33 | public var acceleration: Observable {
34 | return memoize(key: &accelerationKey) {
35 | Observable.create { observer in
36 | let motionManager = self.base
37 | let operationQueue = OperationQueue()
38 | operationQueue.maxConcurrentOperationCount = 1
39 |
40 | motionManager.startAccelerometerUpdates(to: operationQueue, withHandler: { (data: CMAccelerometerData?, error: Error?) -> Void in
41 | guard let data = data else {
42 | return
43 | }
44 | observer.on(.next(data.acceleration))
45 | })
46 |
47 | return Disposables.create() {
48 | motionManager.stopAccelerometerUpdates()
49 | }
50 | }.share(replay: 1)
51 | }
52 | }
53 |
54 | public var accelerometerData: Observable {
55 | return memoize(key: &accelerometerDataKey) {
56 | Observable.create { observer in
57 | let motionManager = self.base
58 | let operationQueue = OperationQueue()
59 | operationQueue.maxConcurrentOperationCount = 1
60 |
61 | motionManager.startAccelerometerUpdates(to: operationQueue, withHandler: { (data: CMAccelerometerData?, error: Error?) -> Void in
62 | guard let data = data else {
63 | return
64 | }
65 | observer.on(.next(data))
66 | })
67 |
68 | return Disposables.create() {
69 | motionManager.stopAccelerometerUpdates()
70 | }
71 | }.share(replay: 1)
72 | }
73 | }
74 |
75 | public var rotationRate: Observable {
76 | return memoize(key: &rotationKey) {
77 | Observable.create { observer in
78 | let motionManager = self.base
79 | let operationQueue = OperationQueue()
80 | operationQueue.maxConcurrentOperationCount = 1
81 |
82 | motionManager.startGyroUpdates(to: operationQueue, withHandler: { (data: CMGyroData?, error: Error?) -> Void in
83 | guard let data = data else {
84 | return
85 | }
86 | observer.on(.next(data.rotationRate))
87 | })
88 |
89 | return Disposables.create() {
90 | motionManager.stopGyroUpdates()
91 | }
92 | }.share(replay: 1)
93 | }
94 | }
95 |
96 | public var magneticField: Observable {
97 | return memoize(key: &magneticFieldKey) {
98 | Observable.create { observer in
99 | let motionManager = self.base
100 | let operationQueue = OperationQueue()
101 | operationQueue.maxConcurrentOperationCount = 1
102 |
103 | motionManager.startMagnetometerUpdates(to: operationQueue, withHandler: { (data: CMMagnetometerData?, error: Error?) -> Void in
104 | guard let data = data else {
105 | return
106 | }
107 | observer.on(.next(data.magneticField))
108 | })
109 |
110 | return Disposables.create() {
111 | motionManager.stopMagnetometerUpdates()
112 | }
113 | }.share(replay: 1)
114 | }
115 | }
116 |
117 | public var deviceMotion: Observable {
118 | return memoize(key: &deviceMotionKey) {
119 | Observable.create { observer in
120 | let motionManager = self.base
121 | let operationQueue = OperationQueue()
122 | operationQueue.maxConcurrentOperationCount = 1
123 |
124 | motionManager.startDeviceMotionUpdates(to: operationQueue, withHandler: { (data: CMDeviceMotion?, error: Error?) -> Void in
125 | guard let data = data else {
126 | return
127 | }
128 | observer.on(.next(data))
129 | })
130 |
131 | return Disposables.create() {
132 | motionManager.stopDeviceMotionUpdates()
133 | }
134 | }.share(replay: 1)
135 | }
136 | }
137 | }
138 |
139 |
140 | extension Reactive where Base: CMMotionManager {
141 | func memoize(key: UnsafeRawPointer, createLazily: () -> Observable) -> Observable {
142 | objc_sync_enter(self); defer { objc_sync_exit(self) }
143 |
144 | if let sequence = objc_getAssociatedObject(self, key) as? Observable {
145 | return sequence
146 | }
147 |
148 | let sequence = createLazily()
149 | objc_setAssociatedObject(self, key, sequence, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
150 |
151 | return sequence
152 | }
153 | }
154 |
155 | extension Reactive where Base: CMPedometer {
156 | public func pedometer(from: Date! = Date()) -> Observable {
157 | return memoize(key: &pedometerKey) {
158 | Observable.create { observer in
159 | let pedometer = self.base
160 |
161 | pedometer.startUpdates(from: from, withHandler: {(data, error) in
162 | guard let data = data else {
163 | return
164 | }
165 | observer.on(.next(data))
166 | })
167 | return Disposables.create() {
168 | pedometer.stopUpdates()
169 | if #available(iOS 10.0, *) {
170 | pedometer.stopEventUpdates()
171 | }
172 | }
173 | }.share(replay: 1)
174 | }
175 | }
176 |
177 |
178 | public var pedometer: Observable {
179 | return memoize(key: &pedometerKey) {
180 | Observable.create { observer in
181 | let pedometer = self.base
182 |
183 | pedometer.startUpdates(from: Date(), withHandler: {(data, error) in
184 | guard let data = data else {
185 | return
186 | }
187 | observer.on(.next(data))
188 | })
189 | return Disposables.create() {
190 | pedometer.stopUpdates()
191 | if #available(iOS 10.0, *) {
192 | pedometer.stopEventUpdates()
193 | }
194 | }
195 | }.share(replay: 1)
196 | }
197 | }
198 |
199 | func memoize(key: UnsafeRawPointer, createLazily: () -> Observable) -> Observable {
200 | objc_sync_enter(self); defer { objc_sync_exit(self) }
201 |
202 | if let sequence = objc_getAssociatedObject(self, key) as? Observable {
203 | return sequence
204 | }
205 |
206 | let sequence = createLazily()
207 | objc_setAssociatedObject(self, key, sequence, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
208 |
209 | return sequence
210 | }
211 | }
212 |
213 |
214 | // If the current device supports one of the capabilities, observable sequence will not be nil
215 | public struct MotionManager {
216 | public let acceleration: Observable?
217 | public let accelerometerData: Observable?
218 | public let rotationRate: Observable?
219 | public let magneticField: Observable?
220 | public let deviceMotion: Observable?
221 |
222 | public init(motionManager: CMMotionManager) {
223 | if motionManager.isAccelerometerAvailable {
224 | self.acceleration = motionManager.rx.acceleration
225 | self.accelerometerData = motionManager.rx.accelerometerData
226 | }
227 | else {
228 | self.acceleration = nil
229 | self.accelerometerData = nil
230 | }
231 |
232 | if motionManager.isGyroAvailable {
233 | self.rotationRate = motionManager.rx.rotationRate
234 | }
235 | else {
236 | self.rotationRate = nil
237 | }
238 |
239 | if motionManager.isMagnetometerAvailable {
240 | self.magneticField = motionManager.rx.magneticField
241 | }
242 | else {
243 | self.magneticField = nil
244 | }
245 |
246 | if motionManager.isDeviceMotionAvailable {
247 | self.deviceMotion = motionManager.rx.deviceMotion
248 | }
249 | else {
250 | self.deviceMotion = nil
251 | }
252 | }
253 | }
254 |
--------------------------------------------------------------------------------
/RxCoreMotion.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 07D678661E7F67540013F645 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07D678651E7F67540013F645 /* RxSwift.framework */; };
11 | 07D678681E7F676C0013F645 /* RxCoreMotion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678671E7F676C0013F645 /* RxCoreMotion.swift */; };
12 | 07D6786C1E7F67B10013F645 /* RxCoreMotion.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D6786B1E7F67940013F645 /* RxCoreMotion.h */; settings = {ATTRIBUTES = (Public, ); }; };
13 | 07D6786E1E7F6D080013F645 /* RxSwift.framework.dSYM in [Carthage] Copy dSYMS */ = {isa = PBXBuildFile; fileRef = 07D6786D1E7F6C4B0013F645 /* RxSwift.framework.dSYM */; };
14 | 667B13081E7BCE22001151C7 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 667B13071E7BCE22001151C7 /* CoreMotion.framework */; };
15 | 667B130A1E7BCE28001151C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 667B13091E7BCE28001151C7 /* Foundation.framework */; };
16 | 79FD4AFA1ED4C03500B27328 /* MotionActivityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79FD4AF91ED4C03500B27328 /* MotionActivityManager.swift */; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXCopyFilesBuildPhase section */
20 | 667B13031E7BCCA9001151C7 /* [Carthage] Copy dSYMS */ = {
21 | isa = PBXCopyFilesBuildPhase;
22 | buildActionMask = 2147483647;
23 | dstPath = "";
24 | dstSubfolderSpec = 16;
25 | files = (
26 | 07D6786E1E7F6D080013F645 /* RxSwift.framework.dSYM in [Carthage] Copy dSYMS */,
27 | );
28 | name = "[Carthage] Copy dSYMS";
29 | runOnlyForDeploymentPostprocessing = 0;
30 | };
31 | /* End PBXCopyFilesBuildPhase section */
32 |
33 | /* Begin PBXFileReference section */
34 | 07D678651E7F67540013F645 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = ""; };
35 | 07D678671E7F676C0013F645 /* RxCoreMotion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RxCoreMotion.swift; path = Pod/Classes/RxCoreMotion.swift; sourceTree = SOURCE_ROOT; };
36 | 07D6786A1E7F67940013F645 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
37 | 07D6786B1E7F67940013F645 /* RxCoreMotion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RxCoreMotion.h; sourceTree = ""; };
38 | 07D6786D1E7F6C4B0013F645 /* RxSwift.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = RxSwift.framework.dSYM; path = Carthage/Build/iOS/RxSwift.framework.dSYM; sourceTree = ""; };
39 | 667B12F51E7BCACB001151C7 /* RxCoreMotion.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCoreMotion.framework; sourceTree = BUILT_PRODUCTS_DIR; };
40 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
41 | 667B13091E7BCE28001151C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
42 | 79FD4AF91ED4C03500B27328 /* MotionActivityManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MotionActivityManager.swift; path = Pod/Classes/MotionActivityManager.swift; sourceTree = SOURCE_ROOT; };
43 | /* End PBXFileReference section */
44 |
45 | /* Begin PBXFrameworksBuildPhase section */
46 | 667B12F11E7BCACB001151C7 /* Frameworks */ = {
47 | isa = PBXFrameworksBuildPhase;
48 | buildActionMask = 2147483647;
49 | files = (
50 | 667B130A1E7BCE28001151C7 /* Foundation.framework in Frameworks */,
51 | 667B13081E7BCE22001151C7 /* CoreMotion.framework in Frameworks */,
52 | 07D678661E7F67540013F645 /* RxSwift.framework in Frameworks */,
53 | );
54 | runOnlyForDeploymentPostprocessing = 0;
55 | };
56 | /* End PBXFrameworksBuildPhase section */
57 |
58 | /* Begin PBXGroup section */
59 | 071AD59F1CF171850058C7ED = {
60 | isa = PBXGroup;
61 | children = (
62 | 07D678621E7F64790013F645 /* Classes */,
63 | 07D678691E7F67940013F645 /* RxCoreMotion */,
64 | 071AD5A91CF171850058C7ED /* Products */,
65 | 788EF9CBABF5068261AC6651 /* Frameworks */,
66 | );
67 | sourceTree = "";
68 | };
69 | 071AD5A91CF171850058C7ED /* Products */ = {
70 | isa = PBXGroup;
71 | children = (
72 | 667B12F51E7BCACB001151C7 /* RxCoreMotion.framework */,
73 | );
74 | name = Products;
75 | sourceTree = "";
76 | };
77 | 07D678621E7F64790013F645 /* Classes */ = {
78 | isa = PBXGroup;
79 | children = (
80 | 07D678671E7F676C0013F645 /* RxCoreMotion.swift */,
81 | 79FD4AF91ED4C03500B27328 /* MotionActivityManager.swift */,
82 | );
83 | name = Classes;
84 | path = ../Pod/Classes;
85 | sourceTree = "";
86 | };
87 | 07D678691E7F67940013F645 /* RxCoreMotion */ = {
88 | isa = PBXGroup;
89 | children = (
90 | 07D6786A1E7F67940013F645 /* Info.plist */,
91 | 07D6786B1E7F67940013F645 /* RxCoreMotion.h */,
92 | );
93 | path = RxCoreMotion;
94 | sourceTree = SOURCE_ROOT;
95 | };
96 | 788EF9CBABF5068261AC6651 /* Frameworks */ = {
97 | isa = PBXGroup;
98 | children = (
99 | 07D6786D1E7F6C4B0013F645 /* RxSwift.framework.dSYM */,
100 | 07D678651E7F67540013F645 /* RxSwift.framework */,
101 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */,
102 | 667B13091E7BCE28001151C7 /* Foundation.framework */,
103 | );
104 | name = Frameworks;
105 | sourceTree = "";
106 | };
107 | /* End PBXGroup section */
108 |
109 | /* Begin PBXHeadersBuildPhase section */
110 | 667B12F21E7BCACB001151C7 /* Headers */ = {
111 | isa = PBXHeadersBuildPhase;
112 | buildActionMask = 2147483647;
113 | files = (
114 | 07D6786C1E7F67B10013F645 /* RxCoreMotion.h in Headers */,
115 | );
116 | runOnlyForDeploymentPostprocessing = 0;
117 | };
118 | /* End PBXHeadersBuildPhase section */
119 |
120 | /* Begin PBXNativeTarget section */
121 | 667B12F41E7BCACB001151C7 /* RxCoreMotion */ = {
122 | isa = PBXNativeTarget;
123 | buildConfigurationList = 667B12FC1E7BCACB001151C7 /* Build configuration list for PBXNativeTarget "RxCoreMotion" */;
124 | buildPhases = (
125 | 667B12F01E7BCACB001151C7 /* Sources */,
126 | 667B12F11E7BCACB001151C7 /* Frameworks */,
127 | 667B12F21E7BCACB001151C7 /* Headers */,
128 | 667B12F31E7BCACB001151C7 /* Resources */,
129 | 667B13061E7BCCF5001151C7 /* [Carthage] Copy Frameworks */,
130 | 667B13031E7BCCA9001151C7 /* [Carthage] Copy dSYMS */,
131 | );
132 | buildRules = (
133 | );
134 | dependencies = (
135 | );
136 | name = RxCoreMotion;
137 | productName = "RxCoreMotion iOS";
138 | productReference = 667B12F51E7BCACB001151C7 /* RxCoreMotion.framework */;
139 | productType = "com.apple.product-type.framework";
140 | };
141 | /* End PBXNativeTarget section */
142 |
143 | /* Begin PBXProject section */
144 | 071AD5A01CF171850058C7ED /* Project object */ = {
145 | isa = PBXProject;
146 | attributes = {
147 | LastSwiftUpdateCheck = 0730;
148 | LastUpgradeCheck = 0800;
149 | ORGANIZATIONNAME = "RxSwiftCommunity - https://github.com/RxSwiftCommunity";
150 | TargetAttributes = {
151 | 667B12F41E7BCACB001151C7 = {
152 | CreatedOnToolsVersion = 8.3;
153 | LastSwiftMigration = 0830;
154 | ProvisioningStyle = Automatic;
155 | };
156 | };
157 | };
158 | buildConfigurationList = 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotion" */;
159 | compatibilityVersion = "Xcode 3.2";
160 | developmentRegion = English;
161 | hasScannedForEncodings = 0;
162 | knownRegions = (
163 | en,
164 | Base,
165 | );
166 | mainGroup = 071AD59F1CF171850058C7ED;
167 | productRefGroup = 071AD5A91CF171850058C7ED /* Products */;
168 | projectDirPath = "";
169 | projectRoot = "";
170 | targets = (
171 | 667B12F41E7BCACB001151C7 /* RxCoreMotion */,
172 | );
173 | };
174 | /* End PBXProject section */
175 |
176 | /* Begin PBXResourcesBuildPhase section */
177 | 667B12F31E7BCACB001151C7 /* Resources */ = {
178 | isa = PBXResourcesBuildPhase;
179 | buildActionMask = 2147483647;
180 | files = (
181 | );
182 | runOnlyForDeploymentPostprocessing = 0;
183 | };
184 | /* End PBXResourcesBuildPhase section */
185 |
186 | /* Begin PBXShellScriptBuildPhase section */
187 | 667B13061E7BCCF5001151C7 /* [Carthage] Copy Frameworks */ = {
188 | isa = PBXShellScriptBuildPhase;
189 | buildActionMask = 2147483647;
190 | files = (
191 | );
192 | inputPaths = (
193 | );
194 | name = "[Carthage] Copy Frameworks";
195 | outputPaths = (
196 | );
197 | runOnlyForDeploymentPostprocessing = 0;
198 | shellPath = /bin/sh;
199 | shellScript = "/usr/local/bin/carthage copy-frameworks";
200 | };
201 | /* End PBXShellScriptBuildPhase section */
202 |
203 | /* Begin PBXSourcesBuildPhase section */
204 | 667B12F01E7BCACB001151C7 /* Sources */ = {
205 | isa = PBXSourcesBuildPhase;
206 | buildActionMask = 2147483647;
207 | files = (
208 | 79FD4AFA1ED4C03500B27328 /* MotionActivityManager.swift in Sources */,
209 | 07D678681E7F676C0013F645 /* RxCoreMotion.swift in Sources */,
210 | );
211 | runOnlyForDeploymentPostprocessing = 0;
212 | };
213 | /* End PBXSourcesBuildPhase section */
214 |
215 | /* Begin XCBuildConfiguration section */
216 | 071AD5B81CF171850058C7ED /* Debug */ = {
217 | isa = XCBuildConfiguration;
218 | buildSettings = {
219 | ALWAYS_SEARCH_USER_PATHS = NO;
220 | CLANG_ANALYZER_NONNULL = YES;
221 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
222 | CLANG_CXX_LIBRARY = "libc++";
223 | CLANG_ENABLE_MODULES = YES;
224 | CLANG_ENABLE_OBJC_ARC = YES;
225 | CLANG_WARN_BOOL_CONVERSION = YES;
226 | CLANG_WARN_CONSTANT_CONVERSION = YES;
227 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
228 | CLANG_WARN_EMPTY_BODY = YES;
229 | CLANG_WARN_ENUM_CONVERSION = YES;
230 | CLANG_WARN_INFINITE_RECURSION = YES;
231 | CLANG_WARN_INT_CONVERSION = YES;
232 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
233 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
234 | CLANG_WARN_UNREACHABLE_CODE = YES;
235 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
236 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
237 | COPY_PHASE_STRIP = NO;
238 | DEBUG_INFORMATION_FORMAT = dwarf;
239 | ENABLE_STRICT_OBJC_MSGSEND = YES;
240 | ENABLE_TESTABILITY = YES;
241 | GCC_C_LANGUAGE_STANDARD = gnu99;
242 | GCC_DYNAMIC_NO_PIC = NO;
243 | GCC_NO_COMMON_BLOCKS = YES;
244 | GCC_OPTIMIZATION_LEVEL = 0;
245 | GCC_PREPROCESSOR_DEFINITIONS = (
246 | "DEBUG=1",
247 | "$(inherited)",
248 | );
249 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
250 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
251 | GCC_WARN_UNDECLARED_SELECTOR = YES;
252 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
253 | GCC_WARN_UNUSED_FUNCTION = YES;
254 | GCC_WARN_UNUSED_VARIABLE = YES;
255 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
256 | MTL_ENABLE_DEBUG_INFO = YES;
257 | ONLY_ACTIVE_ARCH = YES;
258 | SDKROOT = iphoneos;
259 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
260 | SWIFT_VERSION = 3.0;
261 | };
262 | name = Debug;
263 | };
264 | 071AD5B91CF171850058C7ED /* Release */ = {
265 | isa = XCBuildConfiguration;
266 | buildSettings = {
267 | ALWAYS_SEARCH_USER_PATHS = NO;
268 | CLANG_ANALYZER_NONNULL = YES;
269 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
270 | CLANG_CXX_LIBRARY = "libc++";
271 | CLANG_ENABLE_MODULES = YES;
272 | CLANG_ENABLE_OBJC_ARC = YES;
273 | CLANG_WARN_BOOL_CONVERSION = YES;
274 | CLANG_WARN_CONSTANT_CONVERSION = YES;
275 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
276 | CLANG_WARN_EMPTY_BODY = YES;
277 | CLANG_WARN_ENUM_CONVERSION = YES;
278 | CLANG_WARN_INFINITE_RECURSION = YES;
279 | CLANG_WARN_INT_CONVERSION = YES;
280 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
281 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
282 | CLANG_WARN_UNREACHABLE_CODE = YES;
283 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
284 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
285 | COPY_PHASE_STRIP = NO;
286 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
287 | ENABLE_NS_ASSERTIONS = NO;
288 | ENABLE_STRICT_OBJC_MSGSEND = YES;
289 | GCC_C_LANGUAGE_STANDARD = gnu99;
290 | GCC_NO_COMMON_BLOCKS = YES;
291 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
292 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
293 | GCC_WARN_UNDECLARED_SELECTOR = YES;
294 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
295 | GCC_WARN_UNUSED_FUNCTION = YES;
296 | GCC_WARN_UNUSED_VARIABLE = YES;
297 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
298 | MTL_ENABLE_DEBUG_INFO = NO;
299 | SDKROOT = iphoneos;
300 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
301 | SWIFT_VERSION = 3.0;
302 | VALIDATE_PRODUCT = YES;
303 | };
304 | name = Release;
305 | };
306 | 667B12FA1E7BCACB001151C7 /* Debug */ = {
307 | isa = XCBuildConfiguration;
308 | buildSettings = {
309 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
310 | CLANG_ENABLE_MODULES = YES;
311 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
312 | CODE_SIGN_IDENTITY = "";
313 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
314 | CURRENT_PROJECT_VERSION = 1;
315 | DEFINES_MODULE = YES;
316 | DEVELOPMENT_TEAM = "";
317 | DYLIB_COMPATIBILITY_VERSION = 1;
318 | DYLIB_CURRENT_VERSION = 1;
319 | DYLIB_INSTALL_NAME_BASE = "@rpath";
320 | FRAMEWORK_SEARCH_PATHS = (
321 | "$(inherited)",
322 | "$(PROJECT_DIR)/Carthage/Build/iOS",
323 | );
324 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotion/Info.plist";
325 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
326 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
327 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
328 | PRODUCT_BUNDLE_IDENTIFIER = rx.swift.RxCoreMotion;
329 | PRODUCT_NAME = "$(TARGET_NAME)";
330 | SKIP_INSTALL = YES;
331 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
332 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
333 | SWIFT_VERSION = 3.0;
334 | TARGETED_DEVICE_FAMILY = "1,2";
335 | VERSIONING_SYSTEM = "apple-generic";
336 | VERSION_INFO_PREFIX = "";
337 | };
338 | name = Debug;
339 | };
340 | 667B12FB1E7BCACB001151C7 /* Release */ = {
341 | isa = XCBuildConfiguration;
342 | buildSettings = {
343 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
344 | CLANG_ENABLE_MODULES = YES;
345 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
346 | CODE_SIGN_IDENTITY = "";
347 | CURRENT_PROJECT_VERSION = 1;
348 | DEFINES_MODULE = YES;
349 | DEVELOPMENT_TEAM = "";
350 | DYLIB_COMPATIBILITY_VERSION = 1;
351 | DYLIB_CURRENT_VERSION = 1;
352 | DYLIB_INSTALL_NAME_BASE = "@rpath";
353 | FRAMEWORK_SEARCH_PATHS = (
354 | "$(inherited)",
355 | "$(PROJECT_DIR)/Carthage/Build/iOS",
356 | );
357 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotion/Info.plist";
358 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
359 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
360 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
361 | PRODUCT_BUNDLE_IDENTIFIER = rx.swift.RxCoreMotion;
362 | PRODUCT_NAME = "$(TARGET_NAME)";
363 | SKIP_INSTALL = YES;
364 | SWIFT_VERSION = 3.0;
365 | TARGETED_DEVICE_FAMILY = "1,2";
366 | VERSIONING_SYSTEM = "apple-generic";
367 | VERSION_INFO_PREFIX = "";
368 | };
369 | name = Release;
370 | };
371 | /* End XCBuildConfiguration section */
372 |
373 | /* Begin XCConfigurationList section */
374 | 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotion" */ = {
375 | isa = XCConfigurationList;
376 | buildConfigurations = (
377 | 071AD5B81CF171850058C7ED /* Debug */,
378 | 071AD5B91CF171850058C7ED /* Release */,
379 | );
380 | defaultConfigurationIsVisible = 0;
381 | defaultConfigurationName = Release;
382 | };
383 | 667B12FC1E7BCACB001151C7 /* Build configuration list for PBXNativeTarget "RxCoreMotion" */ = {
384 | isa = XCConfigurationList;
385 | buildConfigurations = (
386 | 667B12FA1E7BCACB001151C7 /* Debug */,
387 | 667B12FB1E7BCACB001151C7 /* Release */,
388 | );
389 | defaultConfigurationIsVisible = 0;
390 | defaultConfigurationName = Release;
391 | };
392 | /* End XCConfigurationList section */
393 | };
394 | rootObject = 071AD5A01CF171850058C7ED /* Project object */;
395 | }
396 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionCarthageExample.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 07D678D91E7F82500013F645 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678CA1E7F82500013F645 /* AppDelegate.swift */; };
11 | 07D678DA1E7F82500013F645 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CB1E7F82500013F645 /* Assets.xcassets */; };
12 | 07D678DB1E7F82500013F645 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */; };
13 | 07D678DC1E7F82500013F645 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CE1E7F82500013F645 /* Main.storyboard */; };
14 | 07D678DE1E7F82500013F645 /* AccelerometerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */; };
15 | 07D678DF1E7F82500013F645 /* DeviceMotionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */; };
16 | 07D678E01E7F82500013F645 /* GyroscopeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */; };
17 | 07D678E11E7F82500013F645 /* MagnetometerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */; };
18 | 07D678E21E7F82500013F645 /* GrillageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D71E7F82500013F645 /* GrillageView.swift */; };
19 | 07D678E31E7F82500013F645 /* RedCircleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D81E7F82500013F645 /* RedCircleView.swift */; };
20 | 07D678FD1E7FAAF40013F645 /* RxCoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07D678FB1E7FAAF40013F645 /* RxCoreMotion.framework */; };
21 | 07D678FE1E7FAB2F0013F645 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07D678FA1E7FAAF40013F645 /* RxSwift.framework */; };
22 | 07D678FF1E7FAB2F0013F645 /* RxSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 07D678FA1E7FAAF40013F645 /* RxSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
23 | 07D679021E7FAB330013F645 /* RxCoreMotion.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 07D678FB1E7FAAF40013F645 /* RxCoreMotion.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
24 | /* End PBXBuildFile section */
25 |
26 | /* Begin PBXCopyFilesBuildPhase section */
27 | 07D679001E7FAB2F0013F645 /* Embed Frameworks */ = {
28 | isa = PBXCopyFilesBuildPhase;
29 | buildActionMask = 2147483647;
30 | dstPath = "";
31 | dstSubfolderSpec = 10;
32 | files = (
33 | 07D678FF1E7FAB2F0013F645 /* RxSwift.framework in Embed Frameworks */,
34 | 07D679021E7FAB330013F645 /* RxCoreMotion.framework in Embed Frameworks */,
35 | );
36 | name = "Embed Frameworks";
37 | runOnlyForDeploymentPostprocessing = 0;
38 | };
39 | /* End PBXCopyFilesBuildPhase section */
40 |
41 | /* Begin PBXFileReference section */
42 | 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RxCoreMotionExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
43 | 07D678CA1E7F82500013F645 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
44 | 07D678CB1E7F82500013F645 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
45 | 07D678CD1E7F82500013F645 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
46 | 07D678CF1E7F82500013F645 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
47 | 07D678D01E7F82500013F645 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
48 | 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccelerometerViewController.swift; sourceTree = ""; };
49 | 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceMotionViewController.swift; sourceTree = ""; };
50 | 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GyroscopeViewController.swift; sourceTree = ""; };
51 | 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MagnetometerViewController.swift; sourceTree = ""; };
52 | 07D678D71E7F82500013F645 /* GrillageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GrillageView.swift; sourceTree = ""; };
53 | 07D678D81E7F82500013F645 /* RedCircleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RedCircleView.swift; sourceTree = ""; };
54 | 07D678FA1E7FAAF40013F645 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = ""; };
55 | 07D678FB1E7FAAF40013F645 /* RxCoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCoreMotion.framework; path = Carthage/Build/iOS/RxCoreMotion.framework; sourceTree = ""; };
56 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
57 | 667B13091E7BCE28001151C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
58 | /* End PBXFileReference section */
59 |
60 | /* Begin PBXFrameworksBuildPhase section */
61 | 071AD5A51CF171850058C7ED /* Frameworks */ = {
62 | isa = PBXFrameworksBuildPhase;
63 | buildActionMask = 2147483647;
64 | files = (
65 | 07D678FD1E7FAAF40013F645 /* RxCoreMotion.framework in Frameworks */,
66 | 07D678FE1E7FAB2F0013F645 /* RxSwift.framework in Frameworks */,
67 | );
68 | runOnlyForDeploymentPostprocessing = 0;
69 | };
70 | /* End PBXFrameworksBuildPhase section */
71 |
72 | /* Begin PBXGroup section */
73 | 071AD59F1CF171850058C7ED = {
74 | isa = PBXGroup;
75 | children = (
76 | 07D678C91E7F82500013F645 /* RxCoreMotionExample */,
77 | 071AD5A91CF171850058C7ED /* Products */,
78 | 788EF9CBABF5068261AC6651 /* Frameworks */,
79 | );
80 | sourceTree = "";
81 | };
82 | 071AD5A91CF171850058C7ED /* Products */ = {
83 | isa = PBXGroup;
84 | children = (
85 | 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */,
86 | );
87 | name = Products;
88 | sourceTree = "";
89 | };
90 | 07D678C91E7F82500013F645 /* RxCoreMotionExample */ = {
91 | isa = PBXGroup;
92 | children = (
93 | 07D678CA1E7F82500013F645 /* AppDelegate.swift */,
94 | 07D678D11E7F82500013F645 /* ViewControllers */,
95 | 07D678D61E7F82500013F645 /* Views */,
96 | 07D678CB1E7F82500013F645 /* Assets.xcassets */,
97 | 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */,
98 | 07D678CE1E7F82500013F645 /* Main.storyboard */,
99 | 07D678D01E7F82500013F645 /* Info.plist */,
100 | );
101 | path = RxCoreMotionExample;
102 | sourceTree = "";
103 | };
104 | 07D678D11E7F82500013F645 /* ViewControllers */ = {
105 | isa = PBXGroup;
106 | children = (
107 | 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */,
108 | 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */,
109 | 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */,
110 | 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */,
111 | );
112 | path = ViewControllers;
113 | sourceTree = "";
114 | };
115 | 07D678D61E7F82500013F645 /* Views */ = {
116 | isa = PBXGroup;
117 | children = (
118 | 07D678D71E7F82500013F645 /* GrillageView.swift */,
119 | 07D678D81E7F82500013F645 /* RedCircleView.swift */,
120 | );
121 | path = Views;
122 | sourceTree = "";
123 | };
124 | 788EF9CBABF5068261AC6651 /* Frameworks */ = {
125 | isa = PBXGroup;
126 | children = (
127 | 07D678FA1E7FAAF40013F645 /* RxSwift.framework */,
128 | 07D678FB1E7FAAF40013F645 /* RxCoreMotion.framework */,
129 | 667B13091E7BCE28001151C7 /* Foundation.framework */,
130 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */,
131 | );
132 | name = Frameworks;
133 | sourceTree = "";
134 | };
135 | /* End PBXGroup section */
136 |
137 | /* Begin PBXNativeTarget section */
138 | 071AD5A71CF171850058C7ED /* RxCoreMotionExample */ = {
139 | isa = PBXNativeTarget;
140 | buildConfigurationList = 071AD5BA1CF171850058C7ED /* Build configuration list for PBXNativeTarget "RxCoreMotionExample" */;
141 | buildPhases = (
142 | 071AD5A41CF171850058C7ED /* Sources */,
143 | 071AD5A51CF171850058C7ED /* Frameworks */,
144 | 071AD5A61CF171850058C7ED /* Resources */,
145 | 07D679001E7FAB2F0013F645 /* Embed Frameworks */,
146 | );
147 | buildRules = (
148 | );
149 | dependencies = (
150 | );
151 | name = RxCoreMotionExample;
152 | productName = RxCoreMotion_Example;
153 | productReference = 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */;
154 | productType = "com.apple.product-type.application";
155 | };
156 | /* End PBXNativeTarget section */
157 |
158 | /* Begin PBXProject section */
159 | 071AD5A01CF171850058C7ED /* Project object */ = {
160 | isa = PBXProject;
161 | attributes = {
162 | LastSwiftUpdateCheck = 0730;
163 | LastUpgradeCheck = 0800;
164 | ORGANIZATIONNAME = "RxSwiftCommunity - https://github.com/RxSwiftCommunity";
165 | TargetAttributes = {
166 | 071AD5A71CF171850058C7ED = {
167 | CreatedOnToolsVersion = 7.3.1;
168 | DevelopmentTeam = 2V65Z4JB29;
169 | LastSwiftMigration = 0800;
170 | };
171 | };
172 | };
173 | buildConfigurationList = 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotionCarthageExample" */;
174 | compatibilityVersion = "Xcode 3.2";
175 | developmentRegion = English;
176 | hasScannedForEncodings = 0;
177 | knownRegions = (
178 | en,
179 | Base,
180 | );
181 | mainGroup = 071AD59F1CF171850058C7ED;
182 | productRefGroup = 071AD5A91CF171850058C7ED /* Products */;
183 | projectDirPath = "";
184 | projectRoot = "";
185 | targets = (
186 | 071AD5A71CF171850058C7ED /* RxCoreMotionExample */,
187 | );
188 | };
189 | /* End PBXProject section */
190 |
191 | /* Begin PBXResourcesBuildPhase section */
192 | 071AD5A61CF171850058C7ED /* Resources */ = {
193 | isa = PBXResourcesBuildPhase;
194 | buildActionMask = 2147483647;
195 | files = (
196 | 07D678DC1E7F82500013F645 /* Main.storyboard in Resources */,
197 | 07D678DB1E7F82500013F645 /* LaunchScreen.storyboard in Resources */,
198 | 07D678DA1E7F82500013F645 /* Assets.xcassets in Resources */,
199 | );
200 | runOnlyForDeploymentPostprocessing = 0;
201 | };
202 | /* End PBXResourcesBuildPhase section */
203 |
204 | /* Begin PBXSourcesBuildPhase section */
205 | 071AD5A41CF171850058C7ED /* Sources */ = {
206 | isa = PBXSourcesBuildPhase;
207 | buildActionMask = 2147483647;
208 | files = (
209 | 07D678D91E7F82500013F645 /* AppDelegate.swift in Sources */,
210 | 07D678E11E7F82500013F645 /* MagnetometerViewController.swift in Sources */,
211 | 07D678E21E7F82500013F645 /* GrillageView.swift in Sources */,
212 | 07D678E31E7F82500013F645 /* RedCircleView.swift in Sources */,
213 | 07D678DF1E7F82500013F645 /* DeviceMotionViewController.swift in Sources */,
214 | 07D678E01E7F82500013F645 /* GyroscopeViewController.swift in Sources */,
215 | 07D678DE1E7F82500013F645 /* AccelerometerViewController.swift in Sources */,
216 | );
217 | runOnlyForDeploymentPostprocessing = 0;
218 | };
219 | /* End PBXSourcesBuildPhase section */
220 |
221 | /* Begin PBXVariantGroup section */
222 | 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */ = {
223 | isa = PBXVariantGroup;
224 | children = (
225 | 07D678CD1E7F82500013F645 /* Base */,
226 | );
227 | name = LaunchScreen.storyboard;
228 | sourceTree = "";
229 | };
230 | 07D678CE1E7F82500013F645 /* Main.storyboard */ = {
231 | isa = PBXVariantGroup;
232 | children = (
233 | 07D678CF1E7F82500013F645 /* Base */,
234 | );
235 | name = Main.storyboard;
236 | sourceTree = "";
237 | };
238 | /* End PBXVariantGroup section */
239 |
240 | /* Begin XCBuildConfiguration section */
241 | 071AD5B81CF171850058C7ED /* Debug */ = {
242 | isa = XCBuildConfiguration;
243 | buildSettings = {
244 | ALWAYS_SEARCH_USER_PATHS = NO;
245 | CLANG_ANALYZER_NONNULL = YES;
246 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
247 | CLANG_CXX_LIBRARY = "libc++";
248 | CLANG_ENABLE_MODULES = YES;
249 | CLANG_ENABLE_OBJC_ARC = YES;
250 | CLANG_WARN_BOOL_CONVERSION = YES;
251 | CLANG_WARN_CONSTANT_CONVERSION = YES;
252 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
253 | CLANG_WARN_EMPTY_BODY = YES;
254 | CLANG_WARN_ENUM_CONVERSION = YES;
255 | CLANG_WARN_INFINITE_RECURSION = YES;
256 | CLANG_WARN_INT_CONVERSION = YES;
257 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
258 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
259 | CLANG_WARN_UNREACHABLE_CODE = YES;
260 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
261 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
262 | COPY_PHASE_STRIP = NO;
263 | DEBUG_INFORMATION_FORMAT = dwarf;
264 | ENABLE_STRICT_OBJC_MSGSEND = YES;
265 | ENABLE_TESTABILITY = YES;
266 | GCC_C_LANGUAGE_STANDARD = gnu99;
267 | GCC_DYNAMIC_NO_PIC = NO;
268 | GCC_NO_COMMON_BLOCKS = YES;
269 | GCC_OPTIMIZATION_LEVEL = 0;
270 | GCC_PREPROCESSOR_DEFINITIONS = (
271 | "DEBUG=1",
272 | "$(inherited)",
273 | );
274 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
275 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
276 | GCC_WARN_UNDECLARED_SELECTOR = YES;
277 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
278 | GCC_WARN_UNUSED_FUNCTION = YES;
279 | GCC_WARN_UNUSED_VARIABLE = YES;
280 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
281 | MTL_ENABLE_DEBUG_INFO = YES;
282 | ONLY_ACTIVE_ARCH = YES;
283 | SDKROOT = iphoneos;
284 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
285 | SWIFT_VERSION = 3.0;
286 | };
287 | name = Debug;
288 | };
289 | 071AD5B91CF171850058C7ED /* Release */ = {
290 | isa = XCBuildConfiguration;
291 | buildSettings = {
292 | ALWAYS_SEARCH_USER_PATHS = NO;
293 | CLANG_ANALYZER_NONNULL = YES;
294 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
295 | CLANG_CXX_LIBRARY = "libc++";
296 | CLANG_ENABLE_MODULES = YES;
297 | CLANG_ENABLE_OBJC_ARC = YES;
298 | CLANG_WARN_BOOL_CONVERSION = YES;
299 | CLANG_WARN_CONSTANT_CONVERSION = YES;
300 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
301 | CLANG_WARN_EMPTY_BODY = YES;
302 | CLANG_WARN_ENUM_CONVERSION = YES;
303 | CLANG_WARN_INFINITE_RECURSION = YES;
304 | CLANG_WARN_INT_CONVERSION = YES;
305 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
306 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
307 | CLANG_WARN_UNREACHABLE_CODE = YES;
308 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
309 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
310 | COPY_PHASE_STRIP = NO;
311 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
312 | ENABLE_NS_ASSERTIONS = NO;
313 | ENABLE_STRICT_OBJC_MSGSEND = YES;
314 | GCC_C_LANGUAGE_STANDARD = gnu99;
315 | GCC_NO_COMMON_BLOCKS = YES;
316 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
317 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
318 | GCC_WARN_UNDECLARED_SELECTOR = YES;
319 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
320 | GCC_WARN_UNUSED_FUNCTION = YES;
321 | GCC_WARN_UNUSED_VARIABLE = YES;
322 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
323 | MTL_ENABLE_DEBUG_INFO = NO;
324 | SDKROOT = iphoneos;
325 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
326 | SWIFT_VERSION = 3.0;
327 | VALIDATE_PRODUCT = YES;
328 | };
329 | name = Release;
330 | };
331 | 071AD5BB1CF171850058C7ED /* Debug */ = {
332 | isa = XCBuildConfiguration;
333 | buildSettings = {
334 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
335 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
336 | DEVELOPMENT_TEAM = 2V65Z4JB29;
337 | FRAMEWORK_SEARCH_PATHS = (
338 | "$(inherited)",
339 | "$(PROJECT_DIR)/Carthage/Build/iOS",
340 | );
341 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotionExample/Info.plist";
342 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
343 | PRODUCT_BUNDLE_IDENTIFIER = "rx.swift.RxCoreMotion-Example";
344 | PRODUCT_NAME = "$(TARGET_NAME)";
345 | SWIFT_VERSION = 3.0;
346 | };
347 | name = Debug;
348 | };
349 | 071AD5BC1CF171850058C7ED /* Release */ = {
350 | isa = XCBuildConfiguration;
351 | buildSettings = {
352 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
353 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
354 | DEVELOPMENT_TEAM = 2V65Z4JB29;
355 | FRAMEWORK_SEARCH_PATHS = (
356 | "$(inherited)",
357 | "$(PROJECT_DIR)/Carthage/Build/iOS",
358 | );
359 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotionExample/Info.plist";
360 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
361 | PRODUCT_BUNDLE_IDENTIFIER = "rx.swift.RxCoreMotion-Example";
362 | PRODUCT_NAME = "$(TARGET_NAME)";
363 | SWIFT_VERSION = 3.0;
364 | };
365 | name = Release;
366 | };
367 | /* End XCBuildConfiguration section */
368 |
369 | /* Begin XCConfigurationList section */
370 | 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotionCarthageExample" */ = {
371 | isa = XCConfigurationList;
372 | buildConfigurations = (
373 | 071AD5B81CF171850058C7ED /* Debug */,
374 | 071AD5B91CF171850058C7ED /* Release */,
375 | );
376 | defaultConfigurationIsVisible = 0;
377 | defaultConfigurationName = Release;
378 | };
379 | 071AD5BA1CF171850058C7ED /* Build configuration list for PBXNativeTarget "RxCoreMotionExample" */ = {
380 | isa = XCConfigurationList;
381 | buildConfigurations = (
382 | 071AD5BB1CF171850058C7ED /* Debug */,
383 | 071AD5BC1CF171850058C7ED /* Release */,
384 | );
385 | defaultConfigurationIsVisible = 0;
386 | defaultConfigurationName = Release;
387 | };
388 | /* End XCConfigurationList section */
389 | };
390 | rootObject = 071AD5A01CF171850058C7ED /* Project object */;
391 | }
392 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionCocoapodsExample.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 07D678D91E7F82500013F645 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678CA1E7F82500013F645 /* AppDelegate.swift */; };
11 | 07D678DA1E7F82500013F645 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CB1E7F82500013F645 /* Assets.xcassets */; };
12 | 07D678DB1E7F82500013F645 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */; };
13 | 07D678DC1E7F82500013F645 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07D678CE1E7F82500013F645 /* Main.storyboard */; };
14 | 07D678DE1E7F82500013F645 /* AccelerometerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */; };
15 | 07D678DF1E7F82500013F645 /* DeviceMotionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */; };
16 | 07D678E01E7F82500013F645 /* GyroscopeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */; };
17 | 07D678E11E7F82500013F645 /* MagnetometerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */; };
18 | 07D678E21E7F82500013F645 /* GrillageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D71E7F82500013F645 /* GrillageView.swift */; };
19 | 07D678E31E7F82500013F645 /* RedCircleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D678D81E7F82500013F645 /* RedCircleView.swift */; };
20 | B44E6D7034A63D5E7A1F58F6 /* Pods_RxCoreMotionExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BC0E319DBFCE0C518DF4F9F /* Pods_RxCoreMotionExample.framework */; };
21 | /* End PBXBuildFile section */
22 |
23 | /* Begin PBXFileReference section */
24 | 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RxCoreMotionExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
25 | 07D678CA1E7F82500013F645 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
26 | 07D678CB1E7F82500013F645 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
27 | 07D678CD1E7F82500013F645 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
28 | 07D678CF1E7F82500013F645 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
29 | 07D678D01E7F82500013F645 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
30 | 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccelerometerViewController.swift; sourceTree = ""; };
31 | 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceMotionViewController.swift; sourceTree = ""; };
32 | 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GyroscopeViewController.swift; sourceTree = ""; };
33 | 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MagnetometerViewController.swift; sourceTree = ""; };
34 | 07D678D71E7F82500013F645 /* GrillageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GrillageView.swift; sourceTree = ""; };
35 | 07D678D81E7F82500013F645 /* RedCircleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RedCircleView.swift; sourceTree = ""; };
36 | 6090CC3F0686465698C358CD /* Pods-RxCoreMotionExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RxCoreMotionExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RxCoreMotionExample/Pods-RxCoreMotionExample.debug.xcconfig"; sourceTree = ""; };
37 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
38 | 667B13091E7BCE28001151C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
39 | 7BC0E319DBFCE0C518DF4F9F /* Pods_RxCoreMotionExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RxCoreMotionExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
40 | 9C1F20705DFF52A3EB73E67C /* Pods-RxCoreMotionExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RxCoreMotionExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-RxCoreMotionExample/Pods-RxCoreMotionExample.release.xcconfig"; sourceTree = ""; };
41 | /* End PBXFileReference section */
42 |
43 | /* Begin PBXFrameworksBuildPhase section */
44 | 071AD5A51CF171850058C7ED /* Frameworks */ = {
45 | isa = PBXFrameworksBuildPhase;
46 | buildActionMask = 2147483647;
47 | files = (
48 | B44E6D7034A63D5E7A1F58F6 /* Pods_RxCoreMotionExample.framework in Frameworks */,
49 | );
50 | runOnlyForDeploymentPostprocessing = 0;
51 | };
52 | /* End PBXFrameworksBuildPhase section */
53 |
54 | /* Begin PBXGroup section */
55 | 071AD59F1CF171850058C7ED = {
56 | isa = PBXGroup;
57 | children = (
58 | 07D678C91E7F82500013F645 /* RxCoreMotionExample */,
59 | 071AD5A91CF171850058C7ED /* Products */,
60 | 788EF9CBABF5068261AC6651 /* Frameworks */,
61 | E755FB66B8C8720CC9FB58BF /* Pods */,
62 | );
63 | sourceTree = "";
64 | };
65 | 071AD5A91CF171850058C7ED /* Products */ = {
66 | isa = PBXGroup;
67 | children = (
68 | 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */,
69 | );
70 | name = Products;
71 | sourceTree = "";
72 | };
73 | 07D678C91E7F82500013F645 /* RxCoreMotionExample */ = {
74 | isa = PBXGroup;
75 | children = (
76 | 07D678CA1E7F82500013F645 /* AppDelegate.swift */,
77 | 07D678D11E7F82500013F645 /* ViewControllers */,
78 | 07D678D61E7F82500013F645 /* Views */,
79 | 07D678CB1E7F82500013F645 /* Assets.xcassets */,
80 | 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */,
81 | 07D678CE1E7F82500013F645 /* Main.storyboard */,
82 | 07D678D01E7F82500013F645 /* Info.plist */,
83 | );
84 | path = RxCoreMotionExample;
85 | sourceTree = "";
86 | };
87 | 07D678D11E7F82500013F645 /* ViewControllers */ = {
88 | isa = PBXGroup;
89 | children = (
90 | 07D678D21E7F82500013F645 /* AccelerometerViewController.swift */,
91 | 07D678D31E7F82500013F645 /* DeviceMotionViewController.swift */,
92 | 07D678D41E7F82500013F645 /* GyroscopeViewController.swift */,
93 | 07D678D51E7F82500013F645 /* MagnetometerViewController.swift */,
94 | );
95 | path = ViewControllers;
96 | sourceTree = "";
97 | };
98 | 07D678D61E7F82500013F645 /* Views */ = {
99 | isa = PBXGroup;
100 | children = (
101 | 07D678D71E7F82500013F645 /* GrillageView.swift */,
102 | 07D678D81E7F82500013F645 /* RedCircleView.swift */,
103 | );
104 | path = Views;
105 | sourceTree = "";
106 | };
107 | 788EF9CBABF5068261AC6651 /* Frameworks */ = {
108 | isa = PBXGroup;
109 | children = (
110 | 667B13091E7BCE28001151C7 /* Foundation.framework */,
111 | 667B13071E7BCE22001151C7 /* CoreMotion.framework */,
112 | 7BC0E319DBFCE0C518DF4F9F /* Pods_RxCoreMotionExample.framework */,
113 | );
114 | name = Frameworks;
115 | sourceTree = "";
116 | };
117 | E755FB66B8C8720CC9FB58BF /* Pods */ = {
118 | isa = PBXGroup;
119 | children = (
120 | 6090CC3F0686465698C358CD /* Pods-RxCoreMotionExample.debug.xcconfig */,
121 | 9C1F20705DFF52A3EB73E67C /* Pods-RxCoreMotionExample.release.xcconfig */,
122 | );
123 | name = Pods;
124 | sourceTree = "";
125 | };
126 | /* End PBXGroup section */
127 |
128 | /* Begin PBXNativeTarget section */
129 | 071AD5A71CF171850058C7ED /* RxCoreMotionExample */ = {
130 | isa = PBXNativeTarget;
131 | buildConfigurationList = 071AD5BA1CF171850058C7ED /* Build configuration list for PBXNativeTarget "RxCoreMotionExample" */;
132 | buildPhases = (
133 | D94C429B3822B11B00528827 /* [CP] Check Pods Manifest.lock */,
134 | 071AD5A41CF171850058C7ED /* Sources */,
135 | 071AD5A51CF171850058C7ED /* Frameworks */,
136 | 071AD5A61CF171850058C7ED /* Resources */,
137 | 656345A9AA28B7371CBD0109 /* [CP] Embed Pods Frameworks */,
138 | D2FFF0E3C32D1D92056D8A90 /* [CP] Copy Pods Resources */,
139 | );
140 | buildRules = (
141 | );
142 | dependencies = (
143 | );
144 | name = RxCoreMotionExample;
145 | productName = RxCoreMotion_Example;
146 | productReference = 071AD5A81CF171850058C7ED /* RxCoreMotionExample.app */;
147 | productType = "com.apple.product-type.application";
148 | };
149 | /* End PBXNativeTarget section */
150 |
151 | /* Begin PBXProject section */
152 | 071AD5A01CF171850058C7ED /* Project object */ = {
153 | isa = PBXProject;
154 | attributes = {
155 | LastSwiftUpdateCheck = 0730;
156 | LastUpgradeCheck = 0910;
157 | ORGANIZATIONNAME = "RxSwiftCommunity - https://github.com/RxSwiftCommunity";
158 | TargetAttributes = {
159 | 071AD5A71CF171850058C7ED = {
160 | CreatedOnToolsVersion = 7.3.1;
161 | DevelopmentTeam = 2V65Z4JB29;
162 | LastSwiftMigration = 0800;
163 | };
164 | };
165 | };
166 | buildConfigurationList = 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotionCocoapodsExample" */;
167 | compatibilityVersion = "Xcode 3.2";
168 | developmentRegion = English;
169 | hasScannedForEncodings = 0;
170 | knownRegions = (
171 | en,
172 | Base,
173 | );
174 | mainGroup = 071AD59F1CF171850058C7ED;
175 | productRefGroup = 071AD5A91CF171850058C7ED /* Products */;
176 | projectDirPath = "";
177 | projectRoot = "";
178 | targets = (
179 | 071AD5A71CF171850058C7ED /* RxCoreMotionExample */,
180 | );
181 | };
182 | /* End PBXProject section */
183 |
184 | /* Begin PBXResourcesBuildPhase section */
185 | 071AD5A61CF171850058C7ED /* Resources */ = {
186 | isa = PBXResourcesBuildPhase;
187 | buildActionMask = 2147483647;
188 | files = (
189 | 07D678DC1E7F82500013F645 /* Main.storyboard in Resources */,
190 | 07D678DB1E7F82500013F645 /* LaunchScreen.storyboard in Resources */,
191 | 07D678DA1E7F82500013F645 /* Assets.xcassets in Resources */,
192 | );
193 | runOnlyForDeploymentPostprocessing = 0;
194 | };
195 | /* End PBXResourcesBuildPhase section */
196 |
197 | /* Begin PBXShellScriptBuildPhase section */
198 | 656345A9AA28B7371CBD0109 /* [CP] Embed Pods Frameworks */ = {
199 | isa = PBXShellScriptBuildPhase;
200 | buildActionMask = 2147483647;
201 | files = (
202 | );
203 | inputPaths = (
204 | "${SRCROOT}/Pods/Target Support Files/Pods-RxCoreMotionExample/Pods-RxCoreMotionExample-frameworks.sh",
205 | "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework",
206 | "${BUILT_PRODUCTS_DIR}/RxCoreMotion/RxCoreMotion.framework",
207 | "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework",
208 | );
209 | name = "[CP] Embed Pods Frameworks";
210 | outputPaths = (
211 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework",
212 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCoreMotion.framework",
213 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework",
214 | );
215 | runOnlyForDeploymentPostprocessing = 0;
216 | shellPath = /bin/sh;
217 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RxCoreMotionExample/Pods-RxCoreMotionExample-frameworks.sh\"\n";
218 | showEnvVarsInLog = 0;
219 | };
220 | D2FFF0E3C32D1D92056D8A90 /* [CP] Copy Pods Resources */ = {
221 | isa = PBXShellScriptBuildPhase;
222 | buildActionMask = 2147483647;
223 | files = (
224 | );
225 | inputPaths = (
226 | );
227 | name = "[CP] Copy Pods Resources";
228 | outputPaths = (
229 | );
230 | runOnlyForDeploymentPostprocessing = 0;
231 | shellPath = /bin/sh;
232 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RxCoreMotionExample/Pods-RxCoreMotionExample-resources.sh\"\n";
233 | showEnvVarsInLog = 0;
234 | };
235 | D94C429B3822B11B00528827 /* [CP] Check Pods Manifest.lock */ = {
236 | isa = PBXShellScriptBuildPhase;
237 | buildActionMask = 2147483647;
238 | files = (
239 | );
240 | inputPaths = (
241 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
242 | "${PODS_ROOT}/Manifest.lock",
243 | );
244 | name = "[CP] Check Pods Manifest.lock";
245 | outputPaths = (
246 | "$(DERIVED_FILE_DIR)/Pods-RxCoreMotionExample-checkManifestLockResult.txt",
247 | );
248 | runOnlyForDeploymentPostprocessing = 0;
249 | shellPath = /bin/sh;
250 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
251 | showEnvVarsInLog = 0;
252 | };
253 | /* End PBXShellScriptBuildPhase section */
254 |
255 | /* Begin PBXSourcesBuildPhase section */
256 | 071AD5A41CF171850058C7ED /* Sources */ = {
257 | isa = PBXSourcesBuildPhase;
258 | buildActionMask = 2147483647;
259 | files = (
260 | 07D678D91E7F82500013F645 /* AppDelegate.swift in Sources */,
261 | 07D678E11E7F82500013F645 /* MagnetometerViewController.swift in Sources */,
262 | 07D678E21E7F82500013F645 /* GrillageView.swift in Sources */,
263 | 07D678E31E7F82500013F645 /* RedCircleView.swift in Sources */,
264 | 07D678DF1E7F82500013F645 /* DeviceMotionViewController.swift in Sources */,
265 | 07D678E01E7F82500013F645 /* GyroscopeViewController.swift in Sources */,
266 | 07D678DE1E7F82500013F645 /* AccelerometerViewController.swift in Sources */,
267 | );
268 | runOnlyForDeploymentPostprocessing = 0;
269 | };
270 | /* End PBXSourcesBuildPhase section */
271 |
272 | /* Begin PBXVariantGroup section */
273 | 07D678CC1E7F82500013F645 /* LaunchScreen.storyboard */ = {
274 | isa = PBXVariantGroup;
275 | children = (
276 | 07D678CD1E7F82500013F645 /* Base */,
277 | );
278 | name = LaunchScreen.storyboard;
279 | sourceTree = "";
280 | };
281 | 07D678CE1E7F82500013F645 /* Main.storyboard */ = {
282 | isa = PBXVariantGroup;
283 | children = (
284 | 07D678CF1E7F82500013F645 /* Base */,
285 | );
286 | name = Main.storyboard;
287 | sourceTree = "";
288 | };
289 | /* End PBXVariantGroup section */
290 |
291 | /* Begin XCBuildConfiguration section */
292 | 071AD5B81CF171850058C7ED /* Debug */ = {
293 | isa = XCBuildConfiguration;
294 | buildSettings = {
295 | ALWAYS_SEARCH_USER_PATHS = NO;
296 | CLANG_ANALYZER_NONNULL = YES;
297 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
298 | CLANG_CXX_LIBRARY = "libc++";
299 | CLANG_ENABLE_MODULES = YES;
300 | CLANG_ENABLE_OBJC_ARC = YES;
301 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
302 | CLANG_WARN_BOOL_CONVERSION = YES;
303 | CLANG_WARN_COMMA = YES;
304 | CLANG_WARN_CONSTANT_CONVERSION = YES;
305 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
306 | CLANG_WARN_EMPTY_BODY = YES;
307 | CLANG_WARN_ENUM_CONVERSION = YES;
308 | CLANG_WARN_INFINITE_RECURSION = YES;
309 | CLANG_WARN_INT_CONVERSION = YES;
310 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
311 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
312 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
313 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
314 | CLANG_WARN_STRICT_PROTOTYPES = YES;
315 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
316 | CLANG_WARN_UNREACHABLE_CODE = YES;
317 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
318 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
319 | COPY_PHASE_STRIP = NO;
320 | DEBUG_INFORMATION_FORMAT = dwarf;
321 | ENABLE_STRICT_OBJC_MSGSEND = YES;
322 | ENABLE_TESTABILITY = YES;
323 | GCC_C_LANGUAGE_STANDARD = gnu99;
324 | GCC_DYNAMIC_NO_PIC = NO;
325 | GCC_NO_COMMON_BLOCKS = YES;
326 | GCC_OPTIMIZATION_LEVEL = 0;
327 | GCC_PREPROCESSOR_DEFINITIONS = (
328 | "DEBUG=1",
329 | "$(inherited)",
330 | );
331 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
332 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
333 | GCC_WARN_UNDECLARED_SELECTOR = YES;
334 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
335 | GCC_WARN_UNUSED_FUNCTION = YES;
336 | GCC_WARN_UNUSED_VARIABLE = YES;
337 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
338 | MTL_ENABLE_DEBUG_INFO = YES;
339 | ONLY_ACTIVE_ARCH = YES;
340 | SDKROOT = iphoneos;
341 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
342 | SWIFT_VERSION = 4.0;
343 | };
344 | name = Debug;
345 | };
346 | 071AD5B91CF171850058C7ED /* Release */ = {
347 | isa = XCBuildConfiguration;
348 | buildSettings = {
349 | ALWAYS_SEARCH_USER_PATHS = NO;
350 | CLANG_ANALYZER_NONNULL = YES;
351 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
352 | CLANG_CXX_LIBRARY = "libc++";
353 | CLANG_ENABLE_MODULES = YES;
354 | CLANG_ENABLE_OBJC_ARC = YES;
355 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
356 | CLANG_WARN_BOOL_CONVERSION = YES;
357 | CLANG_WARN_COMMA = YES;
358 | CLANG_WARN_CONSTANT_CONVERSION = YES;
359 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
360 | CLANG_WARN_EMPTY_BODY = YES;
361 | CLANG_WARN_ENUM_CONVERSION = YES;
362 | CLANG_WARN_INFINITE_RECURSION = YES;
363 | CLANG_WARN_INT_CONVERSION = YES;
364 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
365 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
366 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
367 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
368 | CLANG_WARN_STRICT_PROTOTYPES = YES;
369 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
370 | CLANG_WARN_UNREACHABLE_CODE = YES;
371 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
372 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
373 | COPY_PHASE_STRIP = NO;
374 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
375 | ENABLE_NS_ASSERTIONS = NO;
376 | ENABLE_STRICT_OBJC_MSGSEND = YES;
377 | GCC_C_LANGUAGE_STANDARD = gnu99;
378 | GCC_NO_COMMON_BLOCKS = YES;
379 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
380 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
381 | GCC_WARN_UNDECLARED_SELECTOR = YES;
382 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
383 | GCC_WARN_UNUSED_FUNCTION = YES;
384 | GCC_WARN_UNUSED_VARIABLE = YES;
385 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
386 | MTL_ENABLE_DEBUG_INFO = NO;
387 | SDKROOT = iphoneos;
388 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
389 | SWIFT_VERSION = 4.0;
390 | VALIDATE_PRODUCT = YES;
391 | };
392 | name = Release;
393 | };
394 | 071AD5BB1CF171850058C7ED /* Debug */ = {
395 | isa = XCBuildConfiguration;
396 | baseConfigurationReference = 6090CC3F0686465698C358CD /* Pods-RxCoreMotionExample.debug.xcconfig */;
397 | buildSettings = {
398 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
399 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
400 | DEVELOPMENT_TEAM = 2V65Z4JB29;
401 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotionExample/Info.plist";
402 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
403 | PRODUCT_BUNDLE_IDENTIFIER = "rx.swift.RxCoreMotion-Example";
404 | PRODUCT_NAME = "$(TARGET_NAME)";
405 | TARGETED_DEVICE_FAMILY = 1;
406 | };
407 | name = Debug;
408 | };
409 | 071AD5BC1CF171850058C7ED /* Release */ = {
410 | isa = XCBuildConfiguration;
411 | baseConfigurationReference = 9C1F20705DFF52A3EB73E67C /* Pods-RxCoreMotionExample.release.xcconfig */;
412 | buildSettings = {
413 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
414 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
415 | DEVELOPMENT_TEAM = 2V65Z4JB29;
416 | INFOPLIST_FILE = "$(SRCROOT)/RxCoreMotionExample/Info.plist";
417 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
418 | PRODUCT_BUNDLE_IDENTIFIER = "rx.swift.RxCoreMotion-Example";
419 | PRODUCT_NAME = "$(TARGET_NAME)";
420 | TARGETED_DEVICE_FAMILY = 1;
421 | };
422 | name = Release;
423 | };
424 | /* End XCBuildConfiguration section */
425 |
426 | /* Begin XCConfigurationList section */
427 | 071AD5A31CF171850058C7ED /* Build configuration list for PBXProject "RxCoreMotionCocoapodsExample" */ = {
428 | isa = XCConfigurationList;
429 | buildConfigurations = (
430 | 071AD5B81CF171850058C7ED /* Debug */,
431 | 071AD5B91CF171850058C7ED /* Release */,
432 | );
433 | defaultConfigurationIsVisible = 0;
434 | defaultConfigurationName = Release;
435 | };
436 | 071AD5BA1CF171850058C7ED /* Build configuration list for PBXNativeTarget "RxCoreMotionExample" */ = {
437 | isa = XCConfigurationList;
438 | buildConfigurations = (
439 | 071AD5BB1CF171850058C7ED /* Debug */,
440 | 071AD5BC1CF171850058C7ED /* Release */,
441 | );
442 | defaultConfigurationIsVisible = 0;
443 | defaultConfigurationName = Release;
444 | };
445 | /* End XCConfigurationList section */
446 | };
447 | rootObject = 071AD5A01CF171850058C7ED /* Project object */;
448 | }
449 |
--------------------------------------------------------------------------------
/Examples/RxCoreMotionExample/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
--------------------------------------------------------------------------------