├── Cartfile ├── LICENSE ├── OAuthSwiftFutures.podspec ├── OAuthSwiftFutures.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata ├── xcshareddata │ └── xcschemes │ │ ├── OAuthSwiftFuturesIOS.xcscheme │ │ ├── OAuthSwiftFuturesOSX.xcscheme │ │ └── OAuthSwiftFuturesTVOS.xcscheme └── xcuserdata │ └── phimage.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── OAuthSwiftFutures ├── Info.plist └── OAuthSwiftFutures.h ├── OAuthSwiftFuturesOSX ├── Info.plist └── OAuthSwiftFuturesOSX.h ├── OAuthSwiftFuturesTVOS ├── Info.plist └── OAuthSwiftFuturesTVOS.h ├── Package.swift ├── Podfile ├── README.md └── Sources ├── OAuthSwift+BrightFutures.swift └── OAuthSwiftClient+BrightFutures.swift /Cartfile: -------------------------------------------------------------------------------- 1 | github "Thomvis/BrightFutures" 2 | github "OAuthSwift/OAuthSwift" "master" 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Eric Marchand (phimage) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 3 | s.name = 'OAuthSwiftFutures' 4 | s.version = '1.0.0' 5 | s.license = 'MIT' 6 | s.summary = 'Bring you futures to OAuthSwift.' 7 | s.description = <<-DESC 8 | OAuthSwiftFutures bring you futures/promises to OAuthSwift. 9 | It's build on top BrightFutures to achieve great asynchronous code. 10 | DESC 11 | 12 | # ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 13 | s.license = "MIT" 14 | 15 | s.homepage = 'https://github.com/OAuthSwift/OAuthSwiftFutures' 16 | # ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 17 | s.author = { "phimage" => "eric.marchand.n7@gmail.com" } 18 | 19 | # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 20 | s.ios.deployment_target = '8.0' 21 | s.osx.deployment_target = '10.10' 22 | s.tvos.deployment_target = '9.0' 23 | 24 | # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 25 | s.source = { :git => 'https://github.com/OAuthSwift/OAuthSwiftFutures.git', :tag => s.version } 26 | 27 | # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # 28 | s.source_files = 'Sources/*.swift' 29 | 30 | s.dependency 'OAuthSwift' 31 | s.dependency 'BrightFutures' 32 | 33 | end 34 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | C40162C11C2EC26100AE1B5C /* OAuthSwift+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74B951C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift */; }; 11 | C44669231D99792B00ABE260 /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669201D99792B00ABE260 /* BrightFutures.framework */; }; 12 | C44669241D99792B00ABE260 /* OAuthSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669211D99792B00ABE260 /* OAuthSwift.framework */; }; 13 | C44669251D99792B00ABE260 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669221D99792B00ABE260 /* Result.framework */; }; 14 | C44669291D99794000ABE260 /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669261D99794000ABE260 /* BrightFutures.framework */; }; 15 | C446692A1D99794000ABE260 /* OAuthSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669271D99794000ABE260 /* OAuthSwift.framework */; }; 16 | C446692B1D99794000ABE260 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44669281D99794000ABE260 /* Result.framework */; }; 17 | C446692F1D99795300ABE260 /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C446692C1D99795300ABE260 /* BrightFutures.framework */; }; 18 | C44669301D99795300ABE260 /* OAuthSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C446692D1D99795300ABE260 /* OAuthSwift.framework */; }; 19 | C44669311D99795300ABE260 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C446692E1D99795300ABE260 /* Result.framework */; }; 20 | C4D74B8E1C24B9D20071AD3E /* OAuthSwiftFutures.h in Headers */ = {isa = PBXBuildFile; fileRef = C4D74B8D1C24B9D20071AD3E /* OAuthSwiftFutures.h */; settings = {ATTRIBUTES = (Public, ); }; }; 21 | C4D74B961C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74B951C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift */; }; 22 | C4D74B9F1C24BA900071AD3E /* OAuthSwiftFuturesOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = C4D74B9E1C24BA900071AD3E /* OAuthSwiftFuturesOSX.h */; settings = {ATTRIBUTES = (Public, ); }; }; 23 | C4D74BA41C24BAA90071AD3E /* OAuthSwift+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74B951C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift */; }; 24 | C4D74BAD1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS.h in Headers */ = {isa = PBXBuildFile; fileRef = C4D74BAC1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25 | C4D74BB31C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74BB21C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift */; }; 26 | C4D74BB41C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74BB21C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift */; }; 27 | C4D74BB51C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D74BB21C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift */; }; 28 | /* End PBXBuildFile section */ 29 | 30 | /* Begin PBXFileReference section */ 31 | C44669201D99792B00ABE260 /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/iOS/BrightFutures.framework; sourceTree = ""; }; 32 | C44669211D99792B00ABE260 /* OAuthSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OAuthSwift.framework; path = Carthage/Build/iOS/OAuthSwift.framework; sourceTree = ""; }; 33 | C44669221D99792B00ABE260 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/iOS/Result.framework; sourceTree = ""; }; 34 | C44669261D99794000ABE260 /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/tvOS/BrightFutures.framework; sourceTree = ""; }; 35 | C44669271D99794000ABE260 /* OAuthSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OAuthSwift.framework; path = Carthage/Build/tvOS/OAuthSwift.framework; sourceTree = ""; }; 36 | C44669281D99794000ABE260 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/tvOS/Result.framework; sourceTree = ""; }; 37 | C446692C1D99795300ABE260 /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/Mac/BrightFutures.framework; sourceTree = ""; }; 38 | C446692D1D99795300ABE260 /* OAuthSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OAuthSwift.framework; path = Carthage/Build/Mac/OAuthSwift.framework; sourceTree = ""; }; 39 | C446692E1D99795300ABE260 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/Mac/Result.framework; sourceTree = ""; }; 40 | C4D74B8A1C24B9D20071AD3E /* OAuthSwiftFuturesIOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OAuthSwiftFuturesIOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | C4D74B8D1C24B9D20071AD3E /* OAuthSwiftFutures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OAuthSwiftFutures.h; sourceTree = ""; }; 42 | C4D74B8F1C24B9D20071AD3E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 43 | C4D74B951C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "OAuthSwift+BrightFutures.swift"; sourceTree = ""; }; 44 | C4D74B9C1C24BA900071AD3E /* OAuthSwiftFutures.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OAuthSwiftFutures.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | C4D74B9E1C24BA900071AD3E /* OAuthSwiftFuturesOSX.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OAuthSwiftFuturesOSX.h; sourceTree = ""; }; 46 | C4D74BA01C24BA900071AD3E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 47 | C4D74BAA1C24BAD50071AD3E /* OAuthSwiftFutures.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OAuthSwiftFutures.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 48 | C4D74BAC1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OAuthSwiftFuturesTVOS.h; sourceTree = ""; }; 49 | C4D74BAE1C24BAD50071AD3E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50 | C4D74BB21C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "OAuthSwiftClient+BrightFutures.swift"; sourceTree = ""; }; 51 | /* End PBXFileReference section */ 52 | 53 | /* Begin PBXFrameworksBuildPhase section */ 54 | C4D74B861C24B9D20071AD3E /* Frameworks */ = { 55 | isa = PBXFrameworksBuildPhase; 56 | buildActionMask = 2147483647; 57 | files = ( 58 | C44669251D99792B00ABE260 /* Result.framework in Frameworks */, 59 | C44669241D99792B00ABE260 /* OAuthSwift.framework in Frameworks */, 60 | C44669231D99792B00ABE260 /* BrightFutures.framework in Frameworks */, 61 | ); 62 | runOnlyForDeploymentPostprocessing = 0; 63 | }; 64 | C4D74B981C24BA900071AD3E /* Frameworks */ = { 65 | isa = PBXFrameworksBuildPhase; 66 | buildActionMask = 2147483647; 67 | files = ( 68 | C44669311D99795300ABE260 /* Result.framework in Frameworks */, 69 | C44669301D99795300ABE260 /* OAuthSwift.framework in Frameworks */, 70 | C446692F1D99795300ABE260 /* BrightFutures.framework in Frameworks */, 71 | ); 72 | runOnlyForDeploymentPostprocessing = 0; 73 | }; 74 | C4D74BA61C24BAD50071AD3E /* Frameworks */ = { 75 | isa = PBXFrameworksBuildPhase; 76 | buildActionMask = 2147483647; 77 | files = ( 78 | C446692B1D99794000ABE260 /* Result.framework in Frameworks */, 79 | C446692A1D99794000ABE260 /* OAuthSwift.framework in Frameworks */, 80 | C44669291D99794000ABE260 /* BrightFutures.framework in Frameworks */, 81 | ); 82 | runOnlyForDeploymentPostprocessing = 0; 83 | }; 84 | /* End PBXFrameworksBuildPhase section */ 85 | 86 | /* Begin PBXGroup section */ 87 | 2E8D5391966005442AABBC83 /* Frameworks */ = { 88 | isa = PBXGroup; 89 | children = ( 90 | C446691F1D99791600ABE260 /* Mac */, 91 | C446691E1D99790F00ABE260 /* tvOS */, 92 | C446691D1D99790900ABE260 /* iOS */, 93 | ); 94 | name = Frameworks; 95 | sourceTree = ""; 96 | }; 97 | C446691C1D9973D700ABE260 /* Sources */ = { 98 | isa = PBXGroup; 99 | children = ( 100 | C4D74B951C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift */, 101 | C4D74BB21C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift */, 102 | ); 103 | path = Sources; 104 | sourceTree = ""; 105 | }; 106 | C446691D1D99790900ABE260 /* iOS */ = { 107 | isa = PBXGroup; 108 | children = ( 109 | C44669201D99792B00ABE260 /* BrightFutures.framework */, 110 | C44669211D99792B00ABE260 /* OAuthSwift.framework */, 111 | C44669221D99792B00ABE260 /* Result.framework */, 112 | ); 113 | name = iOS; 114 | sourceTree = ""; 115 | }; 116 | C446691E1D99790F00ABE260 /* tvOS */ = { 117 | isa = PBXGroup; 118 | children = ( 119 | C44669261D99794000ABE260 /* BrightFutures.framework */, 120 | C44669271D99794000ABE260 /* OAuthSwift.framework */, 121 | C44669281D99794000ABE260 /* Result.framework */, 122 | ); 123 | name = tvOS; 124 | sourceTree = ""; 125 | }; 126 | C446691F1D99791600ABE260 /* Mac */ = { 127 | isa = PBXGroup; 128 | children = ( 129 | C446692C1D99795300ABE260 /* BrightFutures.framework */, 130 | C446692D1D99795300ABE260 /* OAuthSwift.framework */, 131 | C446692E1D99795300ABE260 /* Result.framework */, 132 | ); 133 | name = Mac; 134 | sourceTree = ""; 135 | }; 136 | C4D74B801C24B9D20071AD3E = { 137 | isa = PBXGroup; 138 | children = ( 139 | C446691C1D9973D700ABE260 /* Sources */, 140 | C4D74B8C1C24B9D20071AD3E /* OAuthSwiftFutures */, 141 | C4D74B9D1C24BA900071AD3E /* OAuthSwiftFuturesOSX */, 142 | C4D74BAB1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS */, 143 | C4D74B8B1C24B9D20071AD3E /* Products */, 144 | 2E8D5391966005442AABBC83 /* Frameworks */, 145 | ); 146 | sourceTree = ""; 147 | }; 148 | C4D74B8B1C24B9D20071AD3E /* Products */ = { 149 | isa = PBXGroup; 150 | children = ( 151 | C4D74B8A1C24B9D20071AD3E /* OAuthSwiftFuturesIOS.framework */, 152 | C4D74B9C1C24BA900071AD3E /* OAuthSwiftFutures.framework */, 153 | C4D74BAA1C24BAD50071AD3E /* OAuthSwiftFutures.framework */, 154 | ); 155 | name = Products; 156 | sourceTree = ""; 157 | }; 158 | C4D74B8C1C24B9D20071AD3E /* OAuthSwiftFutures */ = { 159 | isa = PBXGroup; 160 | children = ( 161 | C4D74B8D1C24B9D20071AD3E /* OAuthSwiftFutures.h */, 162 | C4D74B8F1C24B9D20071AD3E /* Info.plist */, 163 | ); 164 | path = OAuthSwiftFutures; 165 | sourceTree = ""; 166 | }; 167 | C4D74B9D1C24BA900071AD3E /* OAuthSwiftFuturesOSX */ = { 168 | isa = PBXGroup; 169 | children = ( 170 | C4D74B9E1C24BA900071AD3E /* OAuthSwiftFuturesOSX.h */, 171 | C4D74BA01C24BA900071AD3E /* Info.plist */, 172 | ); 173 | path = OAuthSwiftFuturesOSX; 174 | sourceTree = ""; 175 | }; 176 | C4D74BAB1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS */ = { 177 | isa = PBXGroup; 178 | children = ( 179 | C4D74BAC1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS.h */, 180 | C4D74BAE1C24BAD50071AD3E /* Info.plist */, 181 | ); 182 | path = OAuthSwiftFuturesTVOS; 183 | sourceTree = ""; 184 | }; 185 | /* End PBXGroup section */ 186 | 187 | /* Begin PBXHeadersBuildPhase section */ 188 | C4D74B871C24B9D20071AD3E /* Headers */ = { 189 | isa = PBXHeadersBuildPhase; 190 | buildActionMask = 2147483647; 191 | files = ( 192 | C4D74B8E1C24B9D20071AD3E /* OAuthSwiftFutures.h in Headers */, 193 | ); 194 | runOnlyForDeploymentPostprocessing = 0; 195 | }; 196 | C4D74B991C24BA900071AD3E /* Headers */ = { 197 | isa = PBXHeadersBuildPhase; 198 | buildActionMask = 2147483647; 199 | files = ( 200 | C4D74B9F1C24BA900071AD3E /* OAuthSwiftFuturesOSX.h in Headers */, 201 | ); 202 | runOnlyForDeploymentPostprocessing = 0; 203 | }; 204 | C4D74BA71C24BAD50071AD3E /* Headers */ = { 205 | isa = PBXHeadersBuildPhase; 206 | buildActionMask = 2147483647; 207 | files = ( 208 | C4D74BAD1C24BAD50071AD3E /* OAuthSwiftFuturesTVOS.h in Headers */, 209 | ); 210 | runOnlyForDeploymentPostprocessing = 0; 211 | }; 212 | /* End PBXHeadersBuildPhase section */ 213 | 214 | /* Begin PBXNativeTarget section */ 215 | C4D74B891C24B9D20071AD3E /* OAuthSwiftFuturesIOS */ = { 216 | isa = PBXNativeTarget; 217 | buildConfigurationList = C4D74B921C24B9D20071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesIOS" */; 218 | buildPhases = ( 219 | C4D74B851C24B9D20071AD3E /* Sources */, 220 | C4D74B861C24B9D20071AD3E /* Frameworks */, 221 | C4D74B871C24B9D20071AD3E /* Headers */, 222 | C4D74B881C24B9D20071AD3E /* Resources */, 223 | ); 224 | buildRules = ( 225 | ); 226 | dependencies = ( 227 | ); 228 | name = OAuthSwiftFuturesIOS; 229 | productName = OAuthSwiftFutures; 230 | productReference = C4D74B8A1C24B9D20071AD3E /* OAuthSwiftFuturesIOS.framework */; 231 | productType = "com.apple.product-type.framework"; 232 | }; 233 | C4D74B9B1C24BA900071AD3E /* OAuthSwiftFuturesOSX */ = { 234 | isa = PBXNativeTarget; 235 | buildConfigurationList = C4D74BA11C24BA900071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesOSX" */; 236 | buildPhases = ( 237 | C4D74B971C24BA900071AD3E /* Sources */, 238 | C4D74B981C24BA900071AD3E /* Frameworks */, 239 | C4D74B991C24BA900071AD3E /* Headers */, 240 | C4D74B9A1C24BA900071AD3E /* Resources */, 241 | ); 242 | buildRules = ( 243 | ); 244 | dependencies = ( 245 | ); 246 | name = OAuthSwiftFuturesOSX; 247 | productName = OAuthSwiftFuturesOSX; 248 | productReference = C4D74B9C1C24BA900071AD3E /* OAuthSwiftFutures.framework */; 249 | productType = "com.apple.product-type.framework"; 250 | }; 251 | C4D74BA91C24BAD50071AD3E /* OAuthSwiftFuturesTVOS */ = { 252 | isa = PBXNativeTarget; 253 | buildConfigurationList = C4D74BB11C24BAD50071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesTVOS" */; 254 | buildPhases = ( 255 | C4D74BA51C24BAD50071AD3E /* Sources */, 256 | C4D74BA61C24BAD50071AD3E /* Frameworks */, 257 | C4D74BA71C24BAD50071AD3E /* Headers */, 258 | C4D74BA81C24BAD50071AD3E /* Resources */, 259 | ); 260 | buildRules = ( 261 | ); 262 | dependencies = ( 263 | ); 264 | name = OAuthSwiftFuturesTVOS; 265 | productName = OAuthSwiftFuturesTVOS; 266 | productReference = C4D74BAA1C24BAD50071AD3E /* OAuthSwiftFutures.framework */; 267 | productType = "com.apple.product-type.framework"; 268 | }; 269 | /* End PBXNativeTarget section */ 270 | 271 | /* Begin PBXProject section */ 272 | C4D74B811C24B9D20071AD3E /* Project object */ = { 273 | isa = PBXProject; 274 | attributes = { 275 | LastUpgradeCheck = 0800; 276 | ORGANIZATIONNAME = phimage; 277 | TargetAttributes = { 278 | C4D74B891C24B9D20071AD3E = { 279 | CreatedOnToolsVersion = 7.2; 280 | DevelopmentTeam = GGU39CDBL2; 281 | }; 282 | C4D74B9B1C24BA900071AD3E = { 283 | CreatedOnToolsVersion = 7.2; 284 | LastSwiftMigration = 0800; 285 | }; 286 | C4D74BA91C24BAD50071AD3E = { 287 | CreatedOnToolsVersion = 7.2; 288 | DevelopmentTeam = GGU39CDBL2; 289 | }; 290 | }; 291 | }; 292 | buildConfigurationList = C4D74B841C24B9D20071AD3E /* Build configuration list for PBXProject "OAuthSwiftFutures" */; 293 | compatibilityVersion = "Xcode 3.2"; 294 | developmentRegion = English; 295 | hasScannedForEncodings = 0; 296 | knownRegions = ( 297 | en, 298 | ); 299 | mainGroup = C4D74B801C24B9D20071AD3E; 300 | productRefGroup = C4D74B8B1C24B9D20071AD3E /* Products */; 301 | projectDirPath = ""; 302 | projectRoot = ""; 303 | targets = ( 304 | C4D74B891C24B9D20071AD3E /* OAuthSwiftFuturesIOS */, 305 | C4D74B9B1C24BA900071AD3E /* OAuthSwiftFuturesOSX */, 306 | C4D74BA91C24BAD50071AD3E /* OAuthSwiftFuturesTVOS */, 307 | ); 308 | }; 309 | /* End PBXProject section */ 310 | 311 | /* Begin PBXResourcesBuildPhase section */ 312 | C4D74B881C24B9D20071AD3E /* Resources */ = { 313 | isa = PBXResourcesBuildPhase; 314 | buildActionMask = 2147483647; 315 | files = ( 316 | ); 317 | runOnlyForDeploymentPostprocessing = 0; 318 | }; 319 | C4D74B9A1C24BA900071AD3E /* Resources */ = { 320 | isa = PBXResourcesBuildPhase; 321 | buildActionMask = 2147483647; 322 | files = ( 323 | ); 324 | runOnlyForDeploymentPostprocessing = 0; 325 | }; 326 | C4D74BA81C24BAD50071AD3E /* Resources */ = { 327 | isa = PBXResourcesBuildPhase; 328 | buildActionMask = 2147483647; 329 | files = ( 330 | ); 331 | runOnlyForDeploymentPostprocessing = 0; 332 | }; 333 | /* End PBXResourcesBuildPhase section */ 334 | 335 | /* Begin PBXSourcesBuildPhase section */ 336 | C4D74B851C24B9D20071AD3E /* Sources */ = { 337 | isa = PBXSourcesBuildPhase; 338 | buildActionMask = 2147483647; 339 | files = ( 340 | C4D74B961C24B9E10071AD3E /* OAuthSwift+BrightFutures.swift in Sources */, 341 | C4D74BB31C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */, 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | }; 345 | C4D74B971C24BA900071AD3E /* Sources */ = { 346 | isa = PBXSourcesBuildPhase; 347 | buildActionMask = 2147483647; 348 | files = ( 349 | C4D74BA41C24BAA90071AD3E /* OAuthSwift+BrightFutures.swift in Sources */, 350 | C4D74BB41C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */, 351 | ); 352 | runOnlyForDeploymentPostprocessing = 0; 353 | }; 354 | C4D74BA51C24BAD50071AD3E /* Sources */ = { 355 | isa = PBXSourcesBuildPhase; 356 | buildActionMask = 2147483647; 357 | files = ( 358 | C40162C11C2EC26100AE1B5C /* OAuthSwift+BrightFutures.swift in Sources */, 359 | C4D74BB51C24C0E40071AD3E /* OAuthSwiftClient+BrightFutures.swift in Sources */, 360 | ); 361 | runOnlyForDeploymentPostprocessing = 0; 362 | }; 363 | /* End PBXSourcesBuildPhase section */ 364 | 365 | /* Begin XCBuildConfiguration section */ 366 | C4D74B901C24B9D20071AD3E /* Debug */ = { 367 | isa = XCBuildConfiguration; 368 | buildSettings = { 369 | ALWAYS_SEARCH_USER_PATHS = NO; 370 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 371 | CLANG_CXX_LIBRARY = "libc++"; 372 | CLANG_ENABLE_MODULES = YES; 373 | CLANG_ENABLE_OBJC_ARC = YES; 374 | CLANG_WARN_BOOL_CONVERSION = YES; 375 | CLANG_WARN_CONSTANT_CONVERSION = YES; 376 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 377 | CLANG_WARN_EMPTY_BODY = YES; 378 | CLANG_WARN_ENUM_CONVERSION = YES; 379 | CLANG_WARN_INFINITE_RECURSION = YES; 380 | CLANG_WARN_INT_CONVERSION = YES; 381 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 382 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 383 | CLANG_WARN_UNREACHABLE_CODE = YES; 384 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 385 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 386 | COPY_PHASE_STRIP = NO; 387 | CURRENT_PROJECT_VERSION = 1; 388 | DEBUG_INFORMATION_FORMAT = dwarf; 389 | ENABLE_STRICT_OBJC_MSGSEND = YES; 390 | ENABLE_TESTABILITY = YES; 391 | GCC_C_LANGUAGE_STANDARD = gnu99; 392 | GCC_DYNAMIC_NO_PIC = NO; 393 | GCC_NO_COMMON_BLOCKS = YES; 394 | GCC_OPTIMIZATION_LEVEL = 0; 395 | GCC_PREPROCESSOR_DEFINITIONS = ( 396 | "DEBUG=1", 397 | "$(inherited)", 398 | ); 399 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 400 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 401 | GCC_WARN_UNDECLARED_SELECTOR = YES; 402 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 403 | GCC_WARN_UNUSED_FUNCTION = YES; 404 | GCC_WARN_UNUSED_VARIABLE = YES; 405 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 406 | MTL_ENABLE_DEBUG_INFO = YES; 407 | ONLY_ACTIVE_ARCH = YES; 408 | SDKROOT = iphoneos; 409 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 410 | TARGETED_DEVICE_FAMILY = "1,2"; 411 | VERSIONING_SYSTEM = "apple-generic"; 412 | VERSION_INFO_PREFIX = ""; 413 | }; 414 | name = Debug; 415 | }; 416 | C4D74B911C24B9D20071AD3E /* Release */ = { 417 | isa = XCBuildConfiguration; 418 | buildSettings = { 419 | ALWAYS_SEARCH_USER_PATHS = NO; 420 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 421 | CLANG_CXX_LIBRARY = "libc++"; 422 | CLANG_ENABLE_MODULES = YES; 423 | CLANG_ENABLE_OBJC_ARC = YES; 424 | CLANG_WARN_BOOL_CONVERSION = YES; 425 | CLANG_WARN_CONSTANT_CONVERSION = YES; 426 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 427 | CLANG_WARN_EMPTY_BODY = YES; 428 | CLANG_WARN_ENUM_CONVERSION = YES; 429 | CLANG_WARN_INFINITE_RECURSION = YES; 430 | CLANG_WARN_INT_CONVERSION = YES; 431 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 432 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 433 | CLANG_WARN_UNREACHABLE_CODE = YES; 434 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 435 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 436 | COPY_PHASE_STRIP = NO; 437 | CURRENT_PROJECT_VERSION = 1; 438 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 439 | ENABLE_NS_ASSERTIONS = NO; 440 | ENABLE_STRICT_OBJC_MSGSEND = YES; 441 | GCC_C_LANGUAGE_STANDARD = gnu99; 442 | GCC_NO_COMMON_BLOCKS = YES; 443 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 444 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 445 | GCC_WARN_UNDECLARED_SELECTOR = YES; 446 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 447 | GCC_WARN_UNUSED_FUNCTION = YES; 448 | GCC_WARN_UNUSED_VARIABLE = YES; 449 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 450 | MTL_ENABLE_DEBUG_INFO = NO; 451 | SDKROOT = iphoneos; 452 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 453 | TARGETED_DEVICE_FAMILY = "1,2"; 454 | VALIDATE_PRODUCT = YES; 455 | VERSIONING_SYSTEM = "apple-generic"; 456 | VERSION_INFO_PREFIX = ""; 457 | }; 458 | name = Release; 459 | }; 460 | C4D74B931C24B9D20071AD3E /* Debug */ = { 461 | isa = XCBuildConfiguration; 462 | buildSettings = { 463 | CLANG_ENABLE_MODULES = YES; 464 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 465 | DEFINES_MODULE = YES; 466 | DYLIB_COMPATIBILITY_VERSION = 1; 467 | DYLIB_CURRENT_VERSION = 1; 468 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 469 | FRAMEWORK_SEARCH_PATHS = ( 470 | "$(inherited)", 471 | "$(PROJECT_DIR)/Carthage/Build/iOS", 472 | ); 473 | INFOPLIST_FILE = OAuthSwiftFutures/Info.plist; 474 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 475 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 476 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFutures; 477 | PRODUCT_NAME = "$(TARGET_NAME)"; 478 | SKIP_INSTALL = YES; 479 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 480 | SWIFT_VERSION = 3.0; 481 | }; 482 | name = Debug; 483 | }; 484 | C4D74B941C24B9D20071AD3E /* Release */ = { 485 | isa = XCBuildConfiguration; 486 | buildSettings = { 487 | CLANG_ENABLE_MODULES = YES; 488 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 489 | DEFINES_MODULE = YES; 490 | DYLIB_COMPATIBILITY_VERSION = 1; 491 | DYLIB_CURRENT_VERSION = 1; 492 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 493 | FRAMEWORK_SEARCH_PATHS = ( 494 | "$(inherited)", 495 | "$(PROJECT_DIR)/Carthage/Build/iOS", 496 | ); 497 | INFOPLIST_FILE = OAuthSwiftFutures/Info.plist; 498 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 499 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 500 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFutures; 501 | PRODUCT_NAME = "$(TARGET_NAME)"; 502 | SKIP_INSTALL = YES; 503 | SWIFT_VERSION = 3.0; 504 | }; 505 | name = Release; 506 | }; 507 | C4D74BA21C24BA900071AD3E /* Debug */ = { 508 | isa = XCBuildConfiguration; 509 | buildSettings = { 510 | CODE_SIGN_IDENTITY = ""; 511 | COMBINE_HIDPI_IMAGES = YES; 512 | DEFINES_MODULE = YES; 513 | DYLIB_COMPATIBILITY_VERSION = 1; 514 | DYLIB_CURRENT_VERSION = 1; 515 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 516 | FRAMEWORK_SEARCH_PATHS = ( 517 | "$(inherited)", 518 | "$(PROJECT_DIR)/Carthage/Build/Mac", 519 | ); 520 | FRAMEWORK_VERSION = A; 521 | INFOPLIST_FILE = OAuthSwiftFuturesOSX/Info.plist; 522 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 523 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 524 | MACOSX_DEPLOYMENT_TARGET = 10.10; 525 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFuturesOSX; 526 | PRODUCT_NAME = OAuthSwiftFutures; 527 | SDKROOT = macosx; 528 | SKIP_INSTALL = YES; 529 | SWIFT_VERSION = 3.0; 530 | }; 531 | name = Debug; 532 | }; 533 | C4D74BA31C24BA900071AD3E /* Release */ = { 534 | isa = XCBuildConfiguration; 535 | buildSettings = { 536 | CODE_SIGN_IDENTITY = ""; 537 | COMBINE_HIDPI_IMAGES = YES; 538 | DEFINES_MODULE = YES; 539 | DYLIB_COMPATIBILITY_VERSION = 1; 540 | DYLIB_CURRENT_VERSION = 1; 541 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 542 | FRAMEWORK_SEARCH_PATHS = ( 543 | "$(inherited)", 544 | "$(PROJECT_DIR)/Carthage/Build/Mac", 545 | ); 546 | FRAMEWORK_VERSION = A; 547 | INFOPLIST_FILE = OAuthSwiftFuturesOSX/Info.plist; 548 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 549 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 550 | MACOSX_DEPLOYMENT_TARGET = 10.10; 551 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFuturesOSX; 552 | PRODUCT_NAME = OAuthSwiftFutures; 553 | SDKROOT = macosx; 554 | SKIP_INSTALL = YES; 555 | SWIFT_VERSION = 3.0; 556 | }; 557 | name = Release; 558 | }; 559 | C4D74BAF1C24BAD50071AD3E /* Debug */ = { 560 | isa = XCBuildConfiguration; 561 | buildSettings = { 562 | CLANG_ENABLE_MODULES = YES; 563 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 564 | DEFINES_MODULE = YES; 565 | DYLIB_COMPATIBILITY_VERSION = 1; 566 | DYLIB_CURRENT_VERSION = 1; 567 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 568 | FRAMEWORK_SEARCH_PATHS = ( 569 | "$(inherited)", 570 | "$(PROJECT_DIR)/Carthage/Build/tvOS", 571 | ); 572 | INFOPLIST_FILE = OAuthSwiftFuturesTVOS/Info.plist; 573 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 574 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 575 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFuturesTVOS; 576 | PRODUCT_NAME = OAuthSwiftFutures; 577 | SDKROOT = appletvos; 578 | SKIP_INSTALL = YES; 579 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 580 | SWIFT_VERSION = 3.0; 581 | TARGETED_DEVICE_FAMILY = 3; 582 | TVOS_DEPLOYMENT_TARGET = 9.1; 583 | }; 584 | name = Debug; 585 | }; 586 | C4D74BB01C24BAD50071AD3E /* Release */ = { 587 | isa = XCBuildConfiguration; 588 | buildSettings = { 589 | CLANG_ENABLE_MODULES = YES; 590 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 591 | DEFINES_MODULE = YES; 592 | DYLIB_COMPATIBILITY_VERSION = 1; 593 | DYLIB_CURRENT_VERSION = 1; 594 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 595 | FRAMEWORK_SEARCH_PATHS = ( 596 | "$(inherited)", 597 | "$(PROJECT_DIR)/Carthage/Build/tvOS", 598 | ); 599 | INFOPLIST_FILE = OAuthSwiftFuturesTVOS/Info.plist; 600 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 601 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 602 | PRODUCT_BUNDLE_IDENTIFIER = fr.phimage.OAuthSwiftFuturesTVOS; 603 | PRODUCT_NAME = OAuthSwiftFutures; 604 | SDKROOT = appletvos; 605 | SKIP_INSTALL = YES; 606 | SWIFT_VERSION = 3.0; 607 | TARGETED_DEVICE_FAMILY = 3; 608 | TVOS_DEPLOYMENT_TARGET = 9.1; 609 | }; 610 | name = Release; 611 | }; 612 | /* End XCBuildConfiguration section */ 613 | 614 | /* Begin XCConfigurationList section */ 615 | C4D74B841C24B9D20071AD3E /* Build configuration list for PBXProject "OAuthSwiftFutures" */ = { 616 | isa = XCConfigurationList; 617 | buildConfigurations = ( 618 | C4D74B901C24B9D20071AD3E /* Debug */, 619 | C4D74B911C24B9D20071AD3E /* Release */, 620 | ); 621 | defaultConfigurationIsVisible = 0; 622 | defaultConfigurationName = Release; 623 | }; 624 | C4D74B921C24B9D20071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesIOS" */ = { 625 | isa = XCConfigurationList; 626 | buildConfigurations = ( 627 | C4D74B931C24B9D20071AD3E /* Debug */, 628 | C4D74B941C24B9D20071AD3E /* Release */, 629 | ); 630 | defaultConfigurationIsVisible = 0; 631 | defaultConfigurationName = Release; 632 | }; 633 | C4D74BA11C24BA900071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesOSX" */ = { 634 | isa = XCConfigurationList; 635 | buildConfigurations = ( 636 | C4D74BA21C24BA900071AD3E /* Debug */, 637 | C4D74BA31C24BA900071AD3E /* Release */, 638 | ); 639 | defaultConfigurationIsVisible = 0; 640 | defaultConfigurationName = Release; 641 | }; 642 | C4D74BB11C24BAD50071AD3E /* Build configuration list for PBXNativeTarget "OAuthSwiftFuturesTVOS" */ = { 643 | isa = XCConfigurationList; 644 | buildConfigurations = ( 645 | C4D74BAF1C24BAD50071AD3E /* Debug */, 646 | C4D74BB01C24BAD50071AD3E /* Release */, 647 | ); 648 | defaultConfigurationIsVisible = 0; 649 | defaultConfigurationName = Release; 650 | }; 651 | /* End XCConfigurationList section */ 652 | }; 653 | rootObject = C4D74B811C24B9D20071AD3E /* Project object */; 654 | } 655 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/xcshareddata/xcschemes/OAuthSwiftFuturesIOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/xcshareddata/xcschemes/OAuthSwiftFuturesOSX.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/xcshareddata/xcschemes/OAuthSwiftFuturesTVOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /OAuthSwiftFutures.xcodeproj/xcuserdata/phimage.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | OAuthSwiftFuturesIOS.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | OAuthSwiftFuturesOSX.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 1 16 | 17 | OAuthSwiftFuturesTVOS.xcscheme_^#shared#^_ 18 | 19 | orderHint 20 | 2 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | C4D74B891C24B9D20071AD3E 26 | 27 | primary 28 | 29 | 30 | C4D74B9B1C24BA900071AD3E 31 | 32 | primary 33 | 34 | 35 | C4D74BA91C24BAD50071AD3E 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /OAuthSwiftFutures/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.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /OAuthSwiftFutures/OAuthSwiftFutures.h: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthSwiftFutures.h 3 | // OAuthSwiftFutures 4 | // 5 | // Created by phimage on 18/12/15. 6 | // Copyright © 2015 phimage. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for OAuthSwiftFutures. 12 | FOUNDATION_EXPORT double OAuthSwiftFuturesVersionNumber; 13 | 14 | //! Project version string for OAuthSwiftFutures. 15 | FOUNDATION_EXPORT const unsigned char OAuthSwiftFuturesVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /OAuthSwiftFuturesOSX/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.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSHumanReadableCopyright 24 | Copyright © 2015 phimage. All rights reserved. 25 | NSPrincipalClass 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /OAuthSwiftFuturesOSX/OAuthSwiftFuturesOSX.h: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthSwiftFuturesOSX.h 3 | // OAuthSwiftFuturesOSX 4 | // 5 | // Created by phimage on 18/12/15. 6 | // Copyright © 2015 phimage. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for OAuthSwiftFuturesOSX. 12 | FOUNDATION_EXPORT double OAuthSwiftFuturesOSXVersionNumber; 13 | 14 | //! Project version string for OAuthSwiftFuturesOSX. 15 | FOUNDATION_EXPORT const unsigned char OAuthSwiftFuturesOSXVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /OAuthSwiftFuturesTVOS/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.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /OAuthSwiftFuturesTVOS/OAuthSwiftFuturesTVOS.h: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthSwiftFuturesTVOS.h 3 | // OAuthSwiftFuturesTVOS 4 | // 5 | // Created by phimage on 18/12/15. 6 | // Copyright © 2015 phimage. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for OAuthSwiftFuturesTVOS. 12 | FOUNDATION_EXPORT double OAuthSwiftFuturesTVOSVersionNumber; 13 | 14 | //! Project version string for OAuthSwiftFuturesTVOS. 15 | FOUNDATION_EXPORT const unsigned char OAuthSwiftFuturesTVOSVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // Package.swift 2 | /* 3 | The MIT License (MIT) 4 | Copyright (c) 2016 Eric Marchand (phimage) 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 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 THE 19 | SOFTWARE. 20 | */ 21 | 22 | import PackageDescription 23 | 24 | let package = Package( 25 | name: "OAuthSwiftFuture", 26 | dependencies: [ 27 | .Package(url: "https://github.com/phimage/OAuthSwift.git", majorVersion: 1), 28 | .Package(url: "https://github.com/Thomvis/BrightFutures.git", majorVersion: 5), 29 | ] 30 | ) 31 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | 2 | use_frameworks! 3 | 4 | target 'OAuthSwiftFuturesIOS' do 5 | platform :ios, '9.0' 6 | pod 'OAuthSwift' 7 | pod 'BrightFutures' 8 | end 9 | 10 | target 'OAuthSwiftFuturesOSX' do 11 | platform :osx, '10.10' 12 | pod 'OAuthSwift' 13 | pod 'BrightFutures' 14 | end 15 | 16 | target 'OAuthSwiftFuturesTVOS' do 17 | platform :tvos, '9.0' 18 | pod 'OAuthSwift' 19 | pod 'BrightFutures' 20 | end 21 | 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OAuthSwiftFutures 2 | 3 | OAuthSwiftFutures 4 | OAuthSwiftFutures bring you [futures/promises](https://en.wikipedia.org/wiki/Futures_and_promises) to OAuthSwift. 5 | 6 | It's build on top [BrightFutures](https://github.com/Thomvis/BrightFutures) to achieve great asynchronous code. 7 | 8 |

9 |

10 | 11 | 12 | ## Installation 13 | 14 | ### Support CocoaPods 15 | 16 | * Podfile 17 | 18 | ```ruby 19 | use_frameworks! 20 | 21 | pod 'OAuthSwiftFutures', '~> 1.0.0' 22 | ``` 23 | 24 | ### Support Carthage 25 | 26 | * Install Carthage (https://github.com/Carthage/Carthage) 27 | * Create Cartfile file 28 | ``` 29 | github "OAuthSwift/OAuthSwiftFutures" ~> 1.0.0 30 | ``` 31 | * Run `carthage update`. 32 | * On your application targets’ “General” settings tab, in the “Embedded Binaries” section, drag and drop OAuthSwift.framework and the dependencies from the Carthage/Build/"OSNAME" folder on disk. 33 | 34 | ## How to use 35 | 36 | ### OAuth1.0 37 | 38 | ```swift 39 | let (authorize, handle) = oauthswift.authorizeFuture(withCallbackURL: "oauth-swift://oauth-callback/twitter") 40 | authorize.onSuccess { credential, response, parameters in 41 | print(credential.oauth_token) 42 | print(credential.oauth_token_secret) 43 | print(parameters["user_id"]) 44 | } 45 | authorizeFuture.onFailure { error in 46 | print(error.localizedDescription) 47 | } 48 | ``` 49 | ### OAuth2.0 50 | 51 | ```swift 52 | let (authorize, handle) = oauthswift.authorizeFuture(withCallbackURL: "oauth-swift://oauth-callback/facebook", 53 | scope: "likes+comments", state:"generatedone") 54 | authorize.onSuccess { credential, response, parameters in 55 | print(credential.oauth_token) 56 | } 57 | authorize.onFailure { error in 58 | print("\(error)") 59 | } 60 | ``` 61 | 62 | ### Request 63 | 64 | Use one the client new functions 65 | ```swift 66 | let (authorize, handle) = oauthswift.client.getFuture("https://api.linkedin.com/v1/people/~") 67 | authorize.onSuccess { data, response in 68 | let dataString = String(data: data, encoding: String.Encoding.utf8) 69 | print(dataString) 70 | } 71 | authorize.onFailure { error in 72 | print("\(error)") 73 | } 74 | ``` 75 | 76 | ### Playing with Future 77 | 78 | ```swift 79 | // after created 80 | let requestFuture = authorize.flatMap { tuple -> Future<(data: Data, response: HTTPURLResponse), OAuthSwiftError> in 81 | // will be executed only if authorization succeed 82 | let (future, _) = oauthswift.client.getFuture("https://api.linkedin.com/v1/people/~") 83 | return future 84 | } 85 | requestFuture.onSuccess { data, response in 86 | print(data) 87 | } 88 | ``` 89 | You can learn more at [BrightFutures](https://github.com/Thomvis/BrightFutures) 90 | 91 | ## License 92 | 93 | OAuthSwiftFutures is available under the MIT license. See the LICENSE file for more info. 94 | 95 | [![Join the chat at https://gitter.im/dongri/OAuthSwift](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dongri/OAuthSwift?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 96 | [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://mit-license.org) 97 | [![Platform](http://img.shields.io/badge/platform-iOS_OSX_TVOS-lightgrey.svg?style=flat)](https://developer.apple.com/resources/) 98 | [![Language](http://img.shields.io/badge/language-swift-orange.svg?style=flat)](https://developer.apple.com/swift) 99 | [![Cocoapod](http://img.shields.io/cocoapods/v/OAuthSwiftFutures.svg?style=flat)](http://cocoadocs.org/docsets/OAuthSwiftFutures/) 100 | -------------------------------------------------------------------------------- /Sources/OAuthSwift+BrightFutures.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthSwift+BrightFutures.swift 3 | // OAuthSwift+BrightFutures 4 | // 5 | // Created by phimage on 13/12/15. 6 | // Copyright © 2015 phimage. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import OAuthSwift 11 | import BrightFutures 12 | 13 | extension OAuthSwift { 14 | public typealias FutureSuccess = (credential: OAuthSwiftCredential, response: OAuthSwiftResponse?, parameters: OAuthSwift.Parameters) // see OAuthSwift.TokenSuccessHandler 15 | public typealias FutureError = OAuthSwiftError 16 | public typealias FutureResult = (future: Future, handle: OAuthSwiftRequestHandle?) 17 | } 18 | 19 | extension OAuth1Swift { 20 | 21 | 22 | open func authorizeFuture(withCallbackURL callbackURL: String) -> FutureResult { 23 | let promise = Promise() 24 | 25 | let handle = authorize( 26 | withCallbackURL: callbackURL, 27 | success: { credential, response, parameters in 28 | promise.success((credential, response, parameters)) 29 | }, 30 | failure: { error in 31 | promise.failure(error) 32 | } 33 | ) 34 | 35 | return (promise.future, handle) 36 | } 37 | 38 | open func authorizeFuture(withCallbackURL callbackURL: URL) -> FutureResult { 39 | 40 | let promise = Promise() 41 | 42 | let handle = authorize( 43 | withCallbackURL: callbackURL, 44 | success: { credential, response, parameters in 45 | promise.success((credential, response, parameters)) 46 | }, 47 | failure:{ error in 48 | promise.failure(error) 49 | } 50 | ) 51 | 52 | return (promise.future, handle) 53 | } 54 | 55 | } 56 | 57 | extension OAuth2Swift { 58 | 59 | open func authorizeFuture(withCallbackURL callbackURL: URL, scope: String, state: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 60 | 61 | let promise = Promise() 62 | 63 | let handle = authorize( 64 | withCallbackURL: callbackURL, scope: scope, state: state, parameters: parameters, headers: headers, 65 | success: { credential, response, parameters in 66 | promise.success((credential, response, parameters)) 67 | }, 68 | failure:{ (error) -> Void in 69 | promise.failure(error) 70 | } 71 | ) 72 | 73 | return (promise.future, handle) 74 | } 75 | 76 | open func authorizeFuture(withCallbackURL callbackURL: String, scope: String, state: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 77 | 78 | let promise = Promise() 79 | 80 | let handle = authorize( 81 | withCallbackURL: callbackURL, scope: scope, state: state, parameters: parameters, headers: headers, 82 | success: { credential, response, parameters in 83 | promise.success((credential, response, parameters)) 84 | }, 85 | failure:{ (error) -> Void in 86 | promise.failure(error) 87 | } 88 | ) 89 | 90 | return (promise.future, handle) 91 | } 92 | 93 | } 94 | -------------------------------------------------------------------------------- /Sources/OAuthSwiftClient+BrightFutures.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthSwiftClient+BrightFutures.swift 3 | // OAuthSwiftFutures 4 | // 5 | // Created by phimage on 18/12/15. 6 | // Copyright © 2015 phimage. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import OAuthSwift 11 | import BrightFutures 12 | 13 | 14 | extension OAuthSwiftClient { 15 | 16 | public typealias FutureSuccess = OAuthSwiftResponse 17 | public typealias FutureError = OAuthSwiftError 18 | public typealias FutureResult = (future: Future, handle: OAuthSwiftRequestHandle?) 19 | 20 | public func getFuture(_ urlString: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 21 | return requestFuture(urlString, method: .GET, parameters: parameters, headers: headers) 22 | } 23 | 24 | public func postFuture(_ urlString: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 25 | return requestFuture(urlString, method: .POST, parameters: parameters, headers: headers) 26 | } 27 | 28 | public func putFuture(_ urlString: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 29 | return requestFuture(urlString, method: .PUT, parameters: parameters, headers: headers) 30 | } 31 | 32 | public func deleteFuture(_ urlString: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 33 | return requestFuture(urlString, method: .DELETE, parameters: parameters, headers: headers) 34 | } 35 | 36 | public func patchFuture(_ urlString: String, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 37 | return requestFuture(urlString, method: .PATCH, parameters: parameters, headers: headers) 38 | } 39 | 40 | public func requestFuture(_ url: String, method: OAuthSwiftHTTPRequest.Method, parameters: OAuthSwift.Parameters = [:], headers: OAuthSwift.Headers? = nil) -> FutureResult { 41 | 42 | let promise = Promise() 43 | let handle = request( 44 | url, method: method, parameters: parameters, headers: headers, 45 | success: { response in 46 | promise.success(response) 47 | }, 48 | failure: { error in 49 | promise.failure(error) 50 | } 51 | ) 52 | 53 | return (promise.future, handle) 54 | } 55 | 56 | public func postImageFuture(_ urlString: String, parameters: OAuthSwift.Parameters, image: Data) -> FutureResult { 57 | 58 | let promise = Promise() 59 | 60 | let handle = postImage( 61 | urlString, parameters: parameters, image: image, 62 | success: { response in 63 | promise.success(response) 64 | }, 65 | failure: { error in 66 | promise.failure(error) 67 | } 68 | ) 69 | return (promise.future, handle) 70 | } 71 | 72 | public func postMultiPartRequestFuture(_ url: String, method: OAuthSwiftHTTPRequest.Method, parameters: OAuthSwift.Parameters, multiparts: [OAuthSwiftMultipartData]) -> FutureResult { 73 | 74 | let promise = Promise() 75 | 76 | let handle = postMultiPartRequest(url, method: method, parameters: parameters, multiparts: multiparts , 77 | success: {response in 78 | promise.success(response) 79 | }, failure: { error in 80 | promise.failure(error) 81 | } 82 | ) 83 | return (promise.future, handle) 84 | } 85 | 86 | } 87 | --------------------------------------------------------------------------------