diff --git a/.gitignore b/.gitignore index 0d120359..b1c49feb 100755 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ Sample/Pods/ # Carthage/Checkouts Carthage/Build + +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata diff --git a/Moya-ObjectMapper.podspec b/Moya-ObjectMapper.podspec index 718f529b..bb6d3620 100755 --- a/Moya-ObjectMapper.podspec +++ b/Moya-ObjectMapper.podspec @@ -23,7 +23,7 @@ Pod::Spec.new do |s| s.subspec "Core" do |ss| ss.source_files = "Source/Core/*.swift" - ss.dependency "Moya", '~> 14.0.0-beta.6' + ss.dependency "Moya", '~> 15.0.0' ss.dependency "ObjectMapper" ss.framework = "Foundation" end diff --git a/Package.resolved b/Package.resolved index 46fcb312..b109112d 100644 --- a/Package.resolved +++ b/Package.resolved @@ -6,8 +6,17 @@ "repositoryURL": "https://github.com/Alamofire/Alamofire.git", "state": { "branch": null, - "revision": "75bba56748359f297a83f620d45f72cf4ebee4e7", - "version": "4.8.2" + "revision": "4d19ad82f80cc71ff829b941ded114c56f4f604c", + "version": "5.4.2" + } + }, + { + "package": "Logger", + "repositoryURL": "https://github.com/shibapm/Logger", + "state": { + "branch": null, + "revision": "53c3ecca5abe8cf46697e33901ee774236d94cce", + "version": "0.2.3" } }, { @@ -15,8 +24,8 @@ "repositoryURL": "https://github.com/Moya/Moya.git", "state": { "branch": null, - "revision": "a3dbb26039f49f439096397407fef3fc037176d8", - "version": "12.0.1" + "revision": "d27767c3624cc64a45bb371b267b89c92d70c670", + "version": "14.0.1" } }, { @@ -24,8 +33,8 @@ "repositoryURL": "https://github.com/Quick/Nimble.git", "state": { "branch": null, - "revision": "e9d769113660769a4d9dd3afb855562c0b7ae7b0", - "version": "7.3.4" + "revision": "7a46a5fc86cb917f69e3daf79fcb045283d8f008", + "version": "8.1.2" } }, { @@ -33,8 +42,26 @@ "repositoryURL": "https://github.com/tristanhimmelman/ObjectMapper.git", "state": { "branch": null, - "revision": "30c1b42872a234bad51efbed4165d73dd796c1ea", - "version": "3.5.0" + "revision": "0b96a734de3ea1c87374ae677064f86adb0716ec", + "version": "4.2.0" + } + }, + { + "package": "OHHTTPStubs", + "repositoryURL": "https://github.com/AliSoftware/OHHTTPStubs.git", + "state": { + "branch": null, + "revision": "12f19662426d0434d6c330c6974d53e2eb10ecd9", + "version": "9.1.0" + } + }, + { + "package": "PackageConfig", + "repositoryURL": "https://github.com/shibapm/PackageConfig.git", + "state": { + "branch": null, + "revision": "bf90dc69fa0792894b08a0b74cf34029694ae486", + "version": "0.13.0" } }, { @@ -42,8 +69,8 @@ "repositoryURL": "https://github.com/Quick/Quick.git", "state": { "branch": null, - "revision": "f2b5a06440ea87eba1a167cab37bf6496646c52e", - "version": "1.3.4" + "revision": "09b3becb37cb2163919a3842a4c5fa6ec7130792", + "version": "2.2.1" } }, { @@ -51,17 +78,17 @@ "repositoryURL": "https://github.com/ReactiveCocoa/ReactiveSwift.git", "state": { "branch": null, - "revision": "4f6a12ae6762e825b0e19a4f7076eafa43847e6e", - "version": "4.0.0" + "revision": "4a8e1e4a683e96daf658f68132dae781738bc862", + "version": "6.6.0" } }, { - "package": "Result", - "repositoryURL": "https://github.com/antitypical/Result.git", + "package": "Rocket", + "repositoryURL": "https://github.com/shibapm/Rocket", "state": { "branch": null, - "revision": "2ca499ba456795616fbc471561ff1d963e6ae160", - "version": "4.1.0" + "revision": "51a77ce5fa66c42715c14dcc542c01cd7a60fb27", + "version": "1.2.0" } }, { @@ -69,8 +96,26 @@ "repositoryURL": "https://github.com/ReactiveX/RxSwift.git", "state": { "branch": null, - "revision": "cce95dd704bc08cd3d69c087a05a6fc3118e2722", - "version": "4.5.0" + "revision": "254617dd7fae0c45319ba5fbea435bf4d0e15b5d", + "version": "5.1.2" + } + }, + { + "package": "SwiftShell", + "repositoryURL": "https://github.com/kareman/SwiftShell", + "state": { + "branch": null, + "revision": "a6014fe94c3dbff0ad500e8da4f251a5d336530b", + "version": "5.1.0-beta.1" + } + }, + { + "package": "Yams", + "repositoryURL": "https://github.com/jpsim/Yams", + "state": { + "branch": null, + "revision": "9ff1cc9327586db4e0c8f46f064b6a82ec1566fa", + "version": "4.0.6" } } ] diff --git a/Package.swift b/Package.swift index a5d8f56f..fa93ca6c 100644 --- a/Package.swift +++ b/Package.swift @@ -5,45 +5,54 @@ import PackageDescription let package = Package( name: "Moya-ObjectMapper", + platforms: [ + .iOS(.v10) + ], products: [ .library(name: "Moya-ObjectMapper", targets: ["Moya-ObjectMapper"]), .library(name: "Moya-RxSwift-ObjectMapper", targets: ["Moya-RxSwift-ObjectMapper"]), .library(name: "Moya-ReactiveSwift-ObjectMapper", targets: ["Moya-ReactiveSwift-ObjectMapper"]) ], dependencies: [ - .package(url: "https://github.com/Moya/Moya.git", .upToNextMajor(from: "12.0.0")), - .package(url: "https://github.com/tristanhimmelman/ObjectMapper.git", .upToNextMajor(from: "3.4.0")), - .package(url: "https://github.com/ReactiveX/RxSwift.git", .upToNextMajor(from: "4.5.0")), - .package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", .upToNextMajor(from: "4.0.0")) + .package(url: "https://github.com/Moya/Moya.git", .upToNextMajor(from: "15.0.0")), + .package(url: "https://github.com/tristanhimmelman/ObjectMapper.git", .upToNextMajor(from: "4.2.0")), + .package(url: "https://github.com/ReactiveX/RxSwift.git", .upToNextMajor(from: "6.2.0")), + .package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", .upToNextMajor(from: "6.7.0")) ], targets: [ + .target( name: "Moya-ObjectMapper", dependencies: [ "Moya", - "ObjectMapper"], + "ObjectMapper" + ], path: "Source/Core", - exclude: [ - "Sample"]), + exclude: ["Sample"] + ), .target( name: "Moya-RxSwift-ObjectMapper", dependencies: [ "Moya", - "RxMoya", "ObjectMapper", - "RxSwift"], + "Moya-ObjectMapper", + "RxSwift", + .product(name: "RxMoya", package: "Moya") + ], path: "Source/RxSwift", - exclude: [ - "Sample"]), + exclude: ["Sample"] + ), .target( name: "Moya-ReactiveSwift-ObjectMapper", dependencies: [ "Moya", - "ReactiveMoya", "ObjectMapper", - "ReactiveSwift"], + "Moya-ObjectMapper", + "ReactiveSwift", + .product(name: "ReactiveMoya", package: "Moya") + ], path: "Source/ReactiveSwift", - exclude: [ - "Sample"]) + exclude: ["Sample"] + ) ] ) diff --git a/Sample/Common/Resources/Base.lproj/Main.storyboard b/Sample/Common/Resources/Base.lproj/Main.storyboard index a05756ae..f5c7bee1 100755 --- a/Sample/Common/Resources/Base.lproj/Main.storyboard +++ b/Sample/Common/Resources/Base.lproj/Main.storyboard @@ -1,11 +1,9 @@ - - - - + + - + @@ -16,26 +14,7 @@ - - - - - - - - - - - - - - + @@ -64,7 +43,7 @@ - + diff --git a/Sample/Common/ViewController.swift b/Sample/Common/ViewController.swift index 12f30723..d07e68f8 100755 --- a/Sample/Common/ViewController.swift +++ b/Sample/Common/ViewController.swift @@ -3,7 +3,12 @@ import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var zenButton: UIBarButtonItem! @IBOutlet weak var searchButton: UIBarButtonItem! - @IBOutlet var tableView: UITableView! + @IBOutlet var tableView: UITableView! { + didSet { + tableView.dataSource = self + tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") + } + } let viewModel = DemoViewModel(networking: GitHubProvider) @@ -11,8 +16,6 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSou override func viewDidLoad() { super.viewDidLoad() - self.tableView.dataSource = self - self.tableView.delegate = self initializeViewModel() } diff --git a/Sample/Demo-ReactiveSwift/DemoViewModel.swift b/Sample/Demo-ReactiveSwift/DemoViewModel.swift index 949a844b..0c532043 100644 --- a/Sample/Demo-ReactiveSwift/DemoViewModel.swift +++ b/Sample/Demo-ReactiveSwift/DemoViewModel.swift @@ -9,6 +9,8 @@ import Foundation import Moya import Moya_ObjectMapper +import Moya_ReactiveSwift_ObjectMapper +import ReactiveMoya import ReactiveSwift class ReactiveDemoViewModel: ReactiveExtensionsProvider { diff --git a/Sample/Demo-ReactiveSwift/Reactive+DemoViewModel.swift b/Sample/Demo-ReactiveSwift/Reactive+DemoViewModel.swift index f6ef2306..fd9d8bd7 100644 --- a/Sample/Demo-ReactiveSwift/Reactive+DemoViewModel.swift +++ b/Sample/Demo-ReactiveSwift/Reactive+DemoViewModel.swift @@ -9,6 +9,8 @@ import Foundation import Moya import Moya_ObjectMapper +import Moya_ReactiveSwift_ObjectMapper +import ReactiveMoya import ReactiveSwift extension Reactive where Base: ReactiveDemoViewModel { diff --git a/Sample/Demo-ReactiveSwift/ViewController.swift b/Sample/Demo-ReactiveSwift/ViewController.swift index 66161766..6bdd9599 100755 --- a/Sample/Demo-ReactiveSwift/ViewController.swift +++ b/Sample/Demo-ReactiveSwift/ViewController.swift @@ -30,14 +30,14 @@ class ViewController: UIViewController { } fileprivate func initializeViewModel() { - viewModel.downloadZenSignal.observeValues { [weak self] result in + viewModel.downloadZenSignal.take(during: reactive.lifetime).observeValues { [weak self] result in switch result { case .success(let value): self?.showMessage(message: value) case .failure(let error): self?.showError(error: error) } } - viewModel.downloadRepoSignal.observeValues { [weak self] result in + viewModel.downloadRepoSignal.take(during: reactive.lifetime).observeValues { [weak self] result in switch result { case .success: break case .failure: self?.presentUsernamePrompt() diff --git a/Sample/Demo-RxSwift/Rx+DemoViewModel.swift b/Sample/Demo-RxSwift/Rx+DemoViewModel.swift index 75e84d03..45b9575c 100644 --- a/Sample/Demo-RxSwift/Rx+DemoViewModel.swift +++ b/Sample/Demo-RxSwift/Rx+DemoViewModel.swift @@ -9,6 +9,8 @@ import Foundation import Moya import Moya_ObjectMapper +import Moya_RxSwift_ObjectMapper +import RxMoya import RxSwift extension Reactive where Base: RxDemoViewModel { diff --git a/Sample/Demo.xcodeproj/project.pbxproj b/Sample/Demo.xcodeproj/project.pbxproj index fe3c4968..1d0b6766 100644 --- a/Sample/Demo.xcodeproj/project.pbxproj +++ b/Sample/Demo.xcodeproj/project.pbxproj @@ -3,10 +3,20 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ + 00139B9626F3820200E66859 /* Moya-ReactiveSwift-ObjectMapper in Frameworks */ = {isa = PBXBuildFile; productRef = 00139B9526F3820200E66859 /* Moya-ReactiveSwift-ObjectMapper */; }; + 00139B9826F3820200E66859 /* Moya-RxSwift-ObjectMapper in Frameworks */ = {isa = PBXBuildFile; productRef = 00139B9726F3820200E66859 /* Moya-RxSwift-ObjectMapper */; }; + 00139B9A26F3820200E66859 /* Moya-ObjectMapper in Frameworks */ = {isa = PBXBuildFile; productRef = 00139B9926F3820200E66859 /* Moya-ObjectMapper */; }; + 00139B9D26F3839E00E66859 /* ReactiveCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 00139B9C26F3839E00E66859 /* ReactiveCocoa */; }; + 00139BA026F384DA00E66859 /* Moya in Frameworks */ = {isa = PBXBuildFile; productRef = 00139B9F26F384DA00E66859 /* Moya */; }; + 00139BA226F384DA00E66859 /* ReactiveMoya in Frameworks */ = {isa = PBXBuildFile; productRef = 00139BA126F384DA00E66859 /* ReactiveMoya */; }; + 00139BA426F384DA00E66859 /* RxMoya in Frameworks */ = {isa = PBXBuildFile; productRef = 00139BA326F384DA00E66859 /* RxMoya */; }; + 00139BA726F389D200E66859 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 00139BA626F389D200E66859 /* RxCocoa */; }; + 00139BAC26F389F800E66859 /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = 00139BAB26F389F800E66859 /* RxDataSources */; }; + 00139BB226F38BA900E66859 /* RxAlertController in Frameworks */ = {isa = PBXBuildFile; productRef = 00139BB126F38BA900E66859 /* RxAlertController */; }; 00D95AE722608F7100413792 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC197E51A1BB16D00F4DFD4 /* AppDelegate.swift */; }; 00D95AE822608F7100413792 /* Repository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306F6BF61D22BCEB00F727A6 /* Repository.swift */; }; 00D95AE922608F7100413792 /* Owner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306F6BF81D22BCF400F727A6 /* Owner.swift */; }; @@ -39,9 +49,6 @@ B6B9151221F102040080B851 /* Rx+DemoViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B9151121F102010080B851 /* Rx+DemoViewModel.swift */; }; B6B9151521F1E31E0080B851 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B9151421F1E31E0080B851 /* ViewController.swift */; }; B6B9151821F1E8370080B851 /* DemoViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B9151721F1E8370080B851 /* DemoViewModel.swift */; }; - E7576D0CD0E5AD547B896ED0 /* Pods_Demo_RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A232A84B98910D7EDF87CE0D /* Pods_Demo_RxSwift.framework */; }; - EE5817B4160808C125C38F94 /* Pods_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A89A1780FEB6242D2A585832 /* Pods_Demo.framework */; }; - FCE52922A7D2FD20C65EDE03 /* Pods_Demo_ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92D23DF288BDAB53A5B86FD7 /* Pods_Demo_ReactiveSwift.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -50,7 +57,6 @@ 00D95AFB22608F8F00413792 /* DemoViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DemoViewModel.swift; sourceTree = ""; }; 00D95AFC22608F8F00413792 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00D95B032260938800413792 /* Reactive+DemoViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Reactive+DemoViewModel.swift"; sourceTree = ""; }; - 0D85AC75E709DB671C5F929E /* Pods-Demo-ReactiveSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo-ReactiveSwift.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Demo-ReactiveSwift/Pods-Demo-ReactiveSwift.debug.xcconfig"; sourceTree = ""; }; 306F6BF61D22BCEB00F727A6 /* Repository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Repository.swift; sourceTree = ""; }; 306F6BF81D22BCF400F727A6 /* Owner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Owner.swift; sourceTree = ""; }; 5EC197E01A1BB16D00F4DFD4 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -62,11 +68,6 @@ 5EC197F11A1BB16D00F4DFD4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 5EC198071A1BB24600F4DFD4 /* GitHubAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitHubAPI.swift; sourceTree = ""; }; 635CFFB539B0C7F414CAD726 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F327BA3CDC694B5610D8F34 /* Pods-Demo-RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo-RxSwift.release.xcconfig"; path = "Pods/Target Support Files/Pods-Demo-RxSwift/Pods-Demo-RxSwift.release.xcconfig"; sourceTree = ""; }; - 8D4F794B10774FA272DBB388 /* Pods-Demo-ReactiveSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo-ReactiveSwift.release.xcconfig"; path = "Pods/Target Support Files/Pods-Demo-ReactiveSwift/Pods-Demo-ReactiveSwift.release.xcconfig"; sourceTree = ""; }; - 92D23DF288BDAB53A5B86FD7 /* Pods_Demo_ReactiveSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo_ReactiveSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A232A84B98910D7EDF87CE0D /* Pods_Demo_RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo_RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A89A1780FEB6242D2A585832 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B6B914D021F0FB6B0080B851 /* Demo-RxSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Demo-RxSwift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; B6B914DE21F0FB6C0080B851 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B6B914F921F0FBE50080B851 /* DemoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoViewModel.swift; sourceTree = ""; }; @@ -74,9 +75,6 @@ B6B9151121F102010080B851 /* Rx+DemoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Rx+DemoViewModel.swift"; sourceTree = ""; }; B6B9151421F1E31E0080B851 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; B6B9151721F1E8370080B851 /* DemoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoViewModel.swift; sourceTree = ""; }; - E1CBA3696FDCC977B2899DB6 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.release.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig"; sourceTree = ""; }; - F3BA32533C45EB307D6E1A17 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig"; sourceTree = ""; }; - F79CBA55B66F9A58A18ECA9A /* Pods-Demo-RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo-RxSwift.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Demo-RxSwift/Pods-Demo-RxSwift.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -84,7 +82,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FCE52922A7D2FD20C65EDE03 /* Pods_Demo_ReactiveSwift.framework in Frameworks */, + 00139B9626F3820200E66859 /* Moya-ReactiveSwift-ObjectMapper in Frameworks */, + 00139B9D26F3839E00E66859 /* ReactiveCocoa in Frameworks */, + 00139BA226F384DA00E66859 /* ReactiveMoya in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -92,7 +92,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EE5817B4160808C125C38F94 /* Pods_Demo.framework in Frameworks */, + 00139BA026F384DA00E66859 /* Moya in Frameworks */, + 00139B9A26F3820200E66859 /* Moya-ObjectMapper in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -100,7 +101,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E7576D0CD0E5AD547B896ED0 /* Pods_Demo_RxSwift.framework in Frameworks */, + 00139BA726F389D200E66859 /* RxCocoa in Frameworks */, + 00139BAC26F389F800E66859 /* RxDataSources in Frameworks */, + 00139BA426F384DA00E66859 /* RxMoya in Frameworks */, + 00139BB226F38BA900E66859 /* RxAlertController in Frameworks */, + 00139B9826F3820200E66859 /* Moya-RxSwift-ObjectMapper in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -122,9 +127,6 @@ isa = PBXGroup; children = ( 635CFFB539B0C7F414CAD726 /* Pods.framework */, - A89A1780FEB6242D2A585832 /* Pods_Demo.framework */, - 92D23DF288BDAB53A5B86FD7 /* Pods_Demo_ReactiveSwift.framework */, - A232A84B98910D7EDF87CE0D /* Pods_Demo_RxSwift.framework */, ); name = Frameworks; sourceTree = ""; @@ -138,7 +140,6 @@ B6B914D121F0FB6B0080B851 /* Demo-RxSwift */, 5EC197E11A1BB16D00F4DFD4 /* Products */, 4EA28E847926FEF1338D42F3 /* Frameworks */, - B8D39EF1F6DCBAFA2D9AAD10 /* Pods */, ); sourceTree = ""; }; @@ -155,8 +156,8 @@ 5EC197E21A1BB16D00F4DFD4 /* Demo */ = { isa = PBXGroup; children = ( - 5EC197E31A1BB16D00F4DFD4 /* Supporting Files */, B6B914F921F0FBE50080B851 /* DemoViewModel.swift */, + 5EC197E31A1BB16D00F4DFD4 /* Supporting Files */, ); path = Demo; sourceTree = ""; @@ -172,8 +173,8 @@ B6B914CA21F0FA680080B851 /* Model */ = { isa = PBXGroup; children = ( - 306F6BF61D22BCEB00F727A6 /* Repository.swift */, 306F6BF81D22BCF400F727A6 /* Owner.swift */, + 306F6BF61D22BCEB00F727A6 /* Repository.swift */, ); path = Model; sourceTree = ""; @@ -181,9 +182,9 @@ B6B914CB21F0FA7F0080B851 /* Resources */ = { isa = PBXGroup; children = ( - 5EC197EB1A1BB16D00F4DFD4 /* Main.storyboard */, 5EC197EE1A1BB16D00F4DFD4 /* Images.xcassets */, 5EC197F01A1BB16D00F4DFD4 /* LaunchScreen.xib */, + 5EC197EB1A1BB16D00F4DFD4 /* Main.storyboard */, ); path = Resources; sourceTree = ""; @@ -191,10 +192,10 @@ B6B914D121F0FB6B0080B851 /* Demo-RxSwift */ = { isa = PBXGroup; children = ( + B6B914DE21F0FB6C0080B851 /* Info.plist */, B6B9151721F1E8370080B851 /* DemoViewModel.swift */, - B6B9151421F1E31E0080B851 /* ViewController.swift */, B6B9151121F102010080B851 /* Rx+DemoViewModel.swift */, - B6B914DE21F0FB6C0080B851 /* Info.plist */, + B6B9151421F1E31E0080B851 /* ViewController.swift */, ); path = "Demo-RxSwift"; sourceTree = ""; @@ -202,29 +203,16 @@ B6B914F821F0FB940080B851 /* Common */ = { isa = PBXGroup; children = ( - 5EC197E71A1BB16D00F4DFD4 /* ViewController.swift */, - B6B914CB21F0FA7F0080B851 /* Resources */, - B6B914CA21F0FA680080B851 /* Model */, 5EC197E51A1BB16D00F4DFD4 /* AppDelegate.swift */, - 5EC198071A1BB24600F4DFD4 /* GitHubAPI.swift */, B6B914FB21F1015A0080B851 /* DemoRequestable.swift */, + 5EC198071A1BB24600F4DFD4 /* GitHubAPI.swift */, + 5EC197E71A1BB16D00F4DFD4 /* ViewController.swift */, + B6B914CA21F0FA680080B851 /* Model */, + B6B914CB21F0FA7F0080B851 /* Resources */, ); path = Common; sourceTree = ""; }; - B8D39EF1F6DCBAFA2D9AAD10 /* Pods */ = { - isa = PBXGroup; - children = ( - F3BA32533C45EB307D6E1A17 /* Pods-Demo.debug.xcconfig */, - E1CBA3696FDCC977B2899DB6 /* Pods-Demo.release.xcconfig */, - 0D85AC75E709DB671C5F929E /* Pods-Demo-ReactiveSwift.debug.xcconfig */, - 8D4F794B10774FA272DBB388 /* Pods-Demo-ReactiveSwift.release.xcconfig */, - F79CBA55B66F9A58A18ECA9A /* Pods-Demo-RxSwift.debug.xcconfig */, - 6F327BA3CDC694B5610D8F34 /* Pods-Demo-RxSwift.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -232,17 +220,20 @@ isa = PBXNativeTarget; buildConfigurationList = 00D95AF622608F7100413792 /* Build configuration list for PBXNativeTarget "Demo-ReactiveSwift" */; buildPhases = ( - 00D95AE522608F7100413792 /* [CP] Check Pods Manifest.lock */, 00D95AE622608F7100413792 /* Sources */, 00D95AEF22608F7100413792 /* Frameworks */, 00D95AF122608F7100413792 /* Resources */, - 00D95AF522608F7100413792 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "Demo-ReactiveSwift"; + packageProductDependencies = ( + 00139B9526F3820200E66859 /* Moya-ReactiveSwift-ObjectMapper */, + 00139B9C26F3839E00E66859 /* ReactiveCocoa */, + 00139BA126F384DA00E66859 /* ReactiveMoya */, + ); productName = "Demo-RxSwift"; productReference = 00D95AF922608F7100413792 /* Demo-ReactiveSwift.app */; productType = "com.apple.product-type.application"; @@ -251,17 +242,19 @@ isa = PBXNativeTarget; buildConfigurationList = 5EC198011A1BB16D00F4DFD4 /* Build configuration list for PBXNativeTarget "Demo" */; buildPhases = ( - FC722F5FBFE683EBEF64FB02 /* [CP] Check Pods Manifest.lock */, 5EC197DC1A1BB16D00F4DFD4 /* Sources */, 5EC197DD1A1BB16D00F4DFD4 /* Frameworks */, 5EC197DE1A1BB16D00F4DFD4 /* Resources */, - 653ECFC7B1C9146D8B3A62CD /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = Demo; + packageProductDependencies = ( + 00139B9926F3820200E66859 /* Moya-ObjectMapper */, + 00139B9F26F384DA00E66859 /* Moya */, + ); productName = Demo; productReference = 5EC197E01A1BB16D00F4DFD4 /* Demo.app */; productType = "com.apple.product-type.application"; @@ -270,17 +263,22 @@ isa = PBXNativeTarget; buildConfigurationList = B6B914DF21F0FB6C0080B851 /* Build configuration list for PBXNativeTarget "Demo-RxSwift" */; buildPhases = ( - 3759A0B97326E10705347171 /* [CP] Check Pods Manifest.lock */, B6B914CC21F0FB6B0080B851 /* Sources */, B6B914CD21F0FB6B0080B851 /* Frameworks */, B6B914CE21F0FB6B0080B851 /* Resources */, - 1B604DD3FDD9FA318B010BE1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "Demo-RxSwift"; + packageProductDependencies = ( + 00139B9726F3820200E66859 /* Moya-RxSwift-ObjectMapper */, + 00139BA326F384DA00E66859 /* RxMoya */, + 00139BA626F389D200E66859 /* RxCocoa */, + 00139BAB26F389F800E66859 /* RxDataSources */, + 00139BB126F38BA900E66859 /* RxAlertController */, + ); productName = "Demo-RxSwift"; productReference = B6B914D021F0FB6B0080B851 /* Demo-RxSwift.app */; productType = "com.apple.product-type.application"; @@ -293,21 +291,21 @@ attributes = { LastSwiftMigration = 0700; LastSwiftUpdateCheck = 1010; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1250; ORGANIZATIONNAME = "Ash Furrow"; TargetAttributes = { 00D95AE422608F7100413792 = { - DevelopmentTeam = 552H65R858; + DevelopmentTeam = D2AMZDF9K6; ProvisioningStyle = Automatic; }; 5EC197DF1A1BB16D00F4DFD4 = { CreatedOnToolsVersion = 6.1.1; - DevelopmentTeam = 552H65R858; + DevelopmentTeam = D2AMZDF9K6; LastSwiftMigration = 1020; }; B6B914CF21F0FB6B0080B851 = { CreatedOnToolsVersion = 10.1; - DevelopmentTeam = 552H65R858; + DevelopmentTeam = D2AMZDF9K6; ProvisioningStyle = Automatic; }; }; @@ -321,6 +319,14 @@ Base, ); mainGroup = 5EC197D71A1BB16D00F4DFD4; + packageReferences = ( + 00139B9426F3820200E66859 /* XCRemoteSwiftPackageReference "Moya-ObjectMapper" */, + 00139B9B26F3839E00E66859 /* XCRemoteSwiftPackageReference "ReactiveCocoa" */, + 00139B9E26F384DA00E66859 /* XCRemoteSwiftPackageReference "Moya" */, + 00139BA526F389D200E66859 /* XCRemoteSwiftPackageReference "RxSwift" */, + 00139BAA26F389F800E66859 /* XCRemoteSwiftPackageReference "RxDataSources" */, + 00139BB026F38BA900E66859 /* XCRemoteSwiftPackageReference "RxAlertController" */, + ); productRefGroup = 5EC197E11A1BB16D00F4DFD4 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -365,159 +371,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 00D95AE522608F7100413792 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Demo-ReactiveSwift-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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"; - showEnvVarsInLog = 0; - }; - 00D95AF522608F7100413792 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Demo-ReactiveSwift/Pods-Demo-ReactiveSwift-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", - "${BUILT_PRODUCTS_DIR}/Moya.default-ReactiveSwift/Moya.framework", - "${BUILT_PRODUCTS_DIR}/Moya-ObjectMapper.default-ReactiveSwift/Moya_ObjectMapper.framework", - "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework", - "${BUILT_PRODUCTS_DIR}/ReactiveCocoa/ReactiveCocoa.framework", - "${BUILT_PRODUCTS_DIR}/ReactiveSwift/ReactiveSwift.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya_ObjectMapper.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ReactiveCocoa.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ReactiveSwift.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Demo-ReactiveSwift/Pods-Demo-ReactiveSwift-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 1B604DD3FDD9FA318B010BE1 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Demo-RxSwift/Pods-Demo-RxSwift-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", - "${BUILT_PRODUCTS_DIR}/Moya.default-RxSwift/Moya.framework", - "${BUILT_PRODUCTS_DIR}/Moya-ObjectMapper.default-RxSwift/Moya_ObjectMapper.framework", - "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework", - "${BUILT_PRODUCTS_DIR}/Differentiator/Differentiator.framework", - "${BUILT_PRODUCTS_DIR}/RxAlertController/RxAlertController.framework", - "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework", - "${BUILT_PRODUCTS_DIR}/RxDataSources/RxDataSources.framework", - "${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework", - "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya_ObjectMapper.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Differentiator.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxAlertController.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxDataSources.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Demo-RxSwift/Pods-Demo-RxSwift-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 3759A0B97326E10705347171 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Demo-RxSwift-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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"; - showEnvVarsInLog = 0; - }; - 653ECFC7B1C9146D8B3A62CD /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", - "${BUILT_PRODUCTS_DIR}/Moya/Moya.framework", - "${BUILT_PRODUCTS_DIR}/Moya-ObjectMapper/Moya_ObjectMapper.framework", - "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya_ObjectMapper.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - FC722F5FBFE683EBEF64FB02 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Demo-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 00D95AE622608F7100413792 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -587,7 +440,6 @@ /* Begin XCBuildConfiguration section */ 00D95AF722608F7100413792 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0D85AC75E709DB671C5F929E /* Pods-Demo-ReactiveSwift.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -599,14 +451,17 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Demo-ReactiveSwift/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.Demo-ReactiveSwift"; + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo-ReactiveSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_VERSION = 5.0; @@ -616,7 +471,6 @@ }; 00D95AF822608F7100413792 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8D4F794B10774FA272DBB388 /* Pods-Demo-ReactiveSwift.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -629,13 +483,16 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Demo-ReactiveSwift/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.Demo-ReactiveSwift"; + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo-ReactiveSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -665,6 +522,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -689,7 +547,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -720,6 +578,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -737,24 +596,27 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; }; 5EC198021A1BB16D00F4DFD4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F3BA32533C45EB307D6E1A17 /* Pods-Demo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; INFOPLIST_FILE = Demo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.ashfurrow.$(PRODUCT_NAME:rfc1034identifier)"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; }; @@ -762,14 +624,16 @@ }; 5EC198031A1BB16D00F4DFD4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E1CBA3696FDCC977B2899DB6 /* Pods-Demo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; INFOPLIST_FILE = Demo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.ashfurrow.$(PRODUCT_NAME:rfc1034identifier)"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; }; @@ -777,7 +641,6 @@ }; B6B914E021F0FB6C0080B851 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F79CBA55B66F9A58A18ECA9A /* Pods-Demo-RxSwift.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -789,14 +652,17 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "Demo-RxSwift/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.Demo-RxSwift"; + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo-RxSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_VERSION = 5.0; @@ -806,7 +672,6 @@ }; B6B914E121F0FB6C0080B851 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F327BA3CDC694B5610D8F34 /* Pods-Demo-RxSwift.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -819,13 +684,16 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 552H65R858; + DEVELOPMENT_TEAM = D2AMZDF9K6; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "Demo-RxSwift/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.Demo-RxSwift"; + PRODUCT_BUNDLE_IDENTIFIER = "p-rob.com.ashfurrow.Demo-RxSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -872,6 +740,110 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 00139B9426F3820200E66859 /* XCRemoteSwiftPackageReference "Moya-ObjectMapper" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/p-rob/Moya-ObjectMapper"; + requirement = { + branch = "update-moya"; + kind = branch; + }; + }; + 00139B9B26F3839E00E66859 /* XCRemoteSwiftPackageReference "ReactiveCocoa" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveCocoa/ReactiveCocoa"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 11.2.2; + }; + }; + 00139B9E26F384DA00E66859 /* XCRemoteSwiftPackageReference "Moya" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/Moya/Moya"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 15.0.0; + }; + }; + 00139BA526F389D200E66859 /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.2.0; + }; + }; + 00139BAA26F389F800E66859 /* XCRemoteSwiftPackageReference "RxDataSources" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxDataSources"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.0.2; + }; + }; + 00139BB026F38BA900E66859 /* XCRemoteSwiftPackageReference "RxAlertController" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/evgeny-sureev/RxAlertController"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.0.1; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 00139B9526F3820200E66859 /* Moya-ReactiveSwift-ObjectMapper */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9426F3820200E66859 /* XCRemoteSwiftPackageReference "Moya-ObjectMapper" */; + productName = "Moya-ReactiveSwift-ObjectMapper"; + }; + 00139B9726F3820200E66859 /* Moya-RxSwift-ObjectMapper */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9426F3820200E66859 /* XCRemoteSwiftPackageReference "Moya-ObjectMapper" */; + productName = "Moya-RxSwift-ObjectMapper"; + }; + 00139B9926F3820200E66859 /* Moya-ObjectMapper */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9426F3820200E66859 /* XCRemoteSwiftPackageReference "Moya-ObjectMapper" */; + productName = "Moya-ObjectMapper"; + }; + 00139B9C26F3839E00E66859 /* ReactiveCocoa */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9B26F3839E00E66859 /* XCRemoteSwiftPackageReference "ReactiveCocoa" */; + productName = ReactiveCocoa; + }; + 00139B9F26F384DA00E66859 /* Moya */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9E26F384DA00E66859 /* XCRemoteSwiftPackageReference "Moya" */; + productName = Moya; + }; + 00139BA126F384DA00E66859 /* ReactiveMoya */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9E26F384DA00E66859 /* XCRemoteSwiftPackageReference "Moya" */; + productName = ReactiveMoya; + }; + 00139BA326F384DA00E66859 /* RxMoya */ = { + isa = XCSwiftPackageProductDependency; + package = 00139B9E26F384DA00E66859 /* XCRemoteSwiftPackageReference "Moya" */; + productName = RxMoya; + }; + 00139BA626F389D200E66859 /* RxCocoa */ = { + isa = XCSwiftPackageProductDependency; + package = 00139BA526F389D200E66859 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxCocoa; + }; + 00139BAB26F389F800E66859 /* RxDataSources */ = { + isa = XCSwiftPackageProductDependency; + package = 00139BAA26F389F800E66859 /* XCRemoteSwiftPackageReference "RxDataSources" */; + productName = RxDataSources; + }; + 00139BB126F38BA900E66859 /* RxAlertController */ = { + isa = XCSwiftPackageProductDependency; + package = 00139BB026F38BA900E66859 /* XCRemoteSwiftPackageReference "RxAlertController" */; + productName = RxAlertController; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 5EC197D81A1BB16D00F4DFD4 /* Project object */; } diff --git a/Sample/Demo.xcworkspace/contents.xcworkspacedata b/Sample/Demo.xcworkspace/contents.xcworkspacedata index 1f140198..30f4dea9 100755 --- a/Sample/Demo.xcworkspace/contents.xcworkspacedata +++ b/Sample/Demo.xcworkspace/contents.xcworkspacedata @@ -4,7 +4,4 @@ - - diff --git a/Sample/Podfile b/Sample/Podfile deleted file mode 100755 index 7788fd56..00000000 --- a/Sample/Podfile +++ /dev/null @@ -1,56 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' - -use_frameworks! - -# Our Libraries -def libraries - pod 'Moya-ObjectMapper', :path => "../" -end - -def libraries_rx_swift - pod 'Moya-ObjectMapper/RxSwift', :path => "../" - pod 'Moya/RxSwift' - pod 'RxSwift' #, :git => 'https://github.com/ReactiveX/RxSwift' - pod 'RxDataSources' - pod 'RxCocoa' - pod 'RxAlertController' -end - -def libraries_reactive_swift - pod 'Moya-ObjectMapper/ReactiveSwift', :path => "../" - pod 'Moya/ReactiveSwift' - pod 'ReactiveCocoa' - pod 'ReactiveSwift' -end - -def required_pods - pod 'ObjectMapper' #, :git => 'https://github.com/Hearst-DD/ObjectMapper' - pod 'Moya' #, :git => 'https://github.com/Moya/Moya' -end - -# Test Libraries -def test_pods - pod 'Quick' - pod 'Nimble' - pod 'OHHTTPStubs' -end - -target 'Demo' do - platform :ios, '10.0' - required_pods - libraries -end - -target 'Demo-RxSwift' do - platform :ios, '10.0' - required_pods - libraries - libraries_rx_swift -end - -target 'Demo-ReactiveSwift' do - platform :ios, '10.0' - required_pods - libraries - libraries_reactive_swift -end \ No newline at end of file diff --git a/Sample/Podfile.lock b/Sample/Podfile.lock deleted file mode 100644 index 3442a75c..00000000 --- a/Sample/Podfile.lock +++ /dev/null @@ -1,93 +0,0 @@ -PODS: - - Alamofire (5.0.0-rc.3) - - Differentiator (4.0.1) - - Moya (14.0.0-beta.6): - - Moya/Core (= 14.0.0-beta.6) - - Moya-ObjectMapper (3.0): - - Moya-ObjectMapper/Core (= 3.0) - - Moya-ObjectMapper/Core (3.0): - - Moya (~> 14.0.0-beta.6) - - ObjectMapper - - Moya-ObjectMapper/ReactiveSwift (3.0): - - Moya-ObjectMapper/Core - - Moya/ReactiveSwift - - ReactiveSwift - - Moya-ObjectMapper/RxSwift (3.0): - - Moya-ObjectMapper/Core - - Moya/RxSwift - - RxSwift - - Moya/Core (14.0.0-beta.6): - - Alamofire (= 5.0.0-rc.3) - - Moya/ReactiveSwift (14.0.0-beta.6): - - Moya/Core - - ReactiveSwift (~> 6.0) - - Moya/RxSwift (14.0.0-beta.6): - - Moya/Core - - RxSwift (~> 5.0) - - ObjectMapper (3.5.1) - - ReactiveCocoa (10.2.0): - - ReactiveSwift (~> 6.2) - - ReactiveSwift (6.2.0) - - RxAlertController (5.0.0): - - RxSwift (~> 5.0) - - RxCocoa (5.0.1): - - RxRelay (~> 5) - - RxSwift (~> 5) - - RxDataSources (4.0.1): - - Differentiator (~> 4.0) - - RxCocoa (~> 5.0) - - RxSwift (~> 5.0) - - RxRelay (5.0.1): - - RxSwift (~> 5) - - RxSwift (5.0.1) - -DEPENDENCIES: - - Moya - - Moya-ObjectMapper (from `../`) - - Moya-ObjectMapper/ReactiveSwift (from `../`) - - Moya-ObjectMapper/RxSwift (from `../`) - - Moya/ReactiveSwift - - Moya/RxSwift - - ObjectMapper - - ReactiveCocoa - - ReactiveSwift - - RxAlertController - - RxCocoa - - RxDataSources - - RxSwift - -SPEC REPOS: - https://github.com/CocoaPods/Specs.git: - - Alamofire - - Differentiator - - Moya - - ObjectMapper - - ReactiveCocoa - - ReactiveSwift - - RxAlertController - - RxCocoa - - RxDataSources - - RxRelay - - RxSwift - -EXTERNAL SOURCES: - Moya-ObjectMapper: - :path: "../" - -SPEC CHECKSUMS: - Alamofire: ca8c0de6906873be89d6deec5c8de279e00bf872 - Differentiator: 886080237d9f87f322641dedbc5be257061b0602 - Moya: d4821fbcb3e784f34d2f82869e6855057a0b85d1 - Moya-ObjectMapper: c17b20a2ff331643b04f55c8975883ca0e59824b - ObjectMapper: 70187b8941977c62ccfb423caf6b50be405cabf0 - ReactiveCocoa: a123c42f449c552460a4ee217dd49c76a17c8204 - ReactiveSwift: 3dc8800378110b13d40b46ab362afa9f6bcffc6c - RxAlertController: ef75925a2a002f0f1fd03378ddeceaa9c1c5558f - RxCocoa: e741b9749968e8a143e2b787f1dfbff2b63d0a5c - RxDataSources: efee07fa4de48477eca0a4611e6d11e2da9c1114 - RxRelay: 89d54507f4fd4d969e6ec1d4bd7f3673640b4640 - RxSwift: e2dc62b366a3adf6a0be44ba9f405efd4c94e0c4 - -PODFILE CHECKSUM: a54ee9026cab0878d85c2ed1207e4e7c44ad070e - -COCOAPODS: 1.8.4 diff --git a/Source/ReactiveSwift/SignalProducer+ObjectMapper.swift b/Source/ReactiveSwift/SignalProducer+ObjectMapper.swift index 4ec55886..06e3ff39 100755 --- a/Source/ReactiveSwift/SignalProducer+ObjectMapper.swift +++ b/Source/ReactiveSwift/SignalProducer+ObjectMapper.swift @@ -1,13 +1,16 @@ import ReactiveSwift import Moya import ObjectMapper +#if !COCOAPODS +import Moya_ObjectMapper +#endif /// Extension for processing Responses into Mappable objects through ObjectMapper -extension SignalProducerProtocol where Value == Moya.Response, Error == MoyaError { +public extension SignalProducerProtocol where Value == Response, Error == MoyaError { /// Maps data received from the signal into an object which implements the Mappable protocol. /// If the conversion fails, the signal errors. - public func mapObject(_ type: T.Type, context: MapContext? = nil) -> SignalProducer { + func mapObject(_ type: T.Type, context: MapContext? = nil) -> SignalProducer { return producer.flatMap(.latest) { (response: Response) -> SignalProducer in return unwrapThrowable { try response.mapObject(type, context: context) } @@ -17,7 +20,7 @@ extension SignalProducerProtocol where Value == Moya.Response, Error == MoyaErro /// Maps data received from the signal into an array of objects which implement the Mappable /// protocol. /// If the conversion fails, the signal errors. - public func mapArray(_ type: T.Type, context: MapContext? = nil) -> SignalProducer<[T], MoyaError> { + func mapArray(_ type: T.Type, context: MapContext? = nil) -> SignalProducer<[T], MoyaError> { return producer.flatMap(.latest) { (response: Response) -> SignalProducer<[T], Error> in return unwrapThrowable { try response.mapArray(type, context: context) } } @@ -25,7 +28,7 @@ extension SignalProducerProtocol where Value == Moya.Response, Error == MoyaErro /// Maps data received from the signal into an object which implements the Mappable protocol. /// If the conversion fails, the signal errors. - public func mapObject(_ type: T.Type, atKeyPath keyPath: String, context: MapContext? = nil) -> SignalProducer { + func mapObject(_ type: T.Type, atKeyPath keyPath: String, context: MapContext? = nil) -> SignalProducer { return producer.flatMap(.latest) { (response: Response) -> SignalProducer in return unwrapThrowable { try response.mapObject(type, atKeyPath: keyPath, context: context) } @@ -35,7 +38,7 @@ extension SignalProducerProtocol where Value == Moya.Response, Error == MoyaErro /// Maps data received from the signal into an array of objects which implement the Mappable /// protocol. /// If the conversion fails, the signal errors. - public func mapArray(_ type: T.Type, atKeyPath keyPath: String, context: MapContext? = nil) -> SignalProducer<[T], MoyaError> { + func mapArray(_ type: T.Type, atKeyPath keyPath: String, context: MapContext? = nil) -> SignalProducer<[T], MoyaError> { return producer.flatMap(.latest) { (response: Response) -> SignalProducer<[T], Error> in return unwrapThrowable { try response.mapArray(type, atKeyPath: keyPath, context: context) } } @@ -50,3 +53,4 @@ private func unwrapThrowable(_ throwable: () throws -> T) -> SignalProducer