├── .gitignore ├── .travis.yml ├── LICENSE ├── Package.swift ├── README.md ├── SENetworking.podspec ├── SENetworking ├── Module │ ├── DataTransferService.swift │ ├── Endpoint.swift │ ├── NetworkConfig.swift │ └── NetworkService.swift └── Tests │ ├── DataTransferServiceTests.swift │ ├── Mocks │ ├── NetworkConfigurableMock.swift │ └── NetworkSessionManagerMock.swift │ └── NetworkServiceTests.swift ├── SFNetworkingExample.xcodeproj alias └── SFNetworkingExample ├── Carthage └── Build │ ├── .SENetworking.version │ ├── iOS │ ├── 9F1CD558-75D5-37D5-BA8F-76E748285800.bcsymbolmap │ ├── SENetworking_iOS.framework.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── SENetworking_iOS │ └── SENetworking_iOS.framework │ │ ├── Headers │ │ └── SENetworking_iOS-Swift.h │ │ ├── Info.plist │ │ ├── Modules │ │ ├── SENetworking_iOS.swiftmodule │ │ │ ├── arm64-apple-ios.swiftdoc │ │ │ ├── arm64-apple-ios.swiftmodule │ │ │ ├── arm64.swiftdoc │ │ │ ├── arm64.swiftmodule │ │ │ ├── x86_64-apple-ios-simulator.swiftdoc │ │ │ ├── x86_64-apple-ios-simulator.swiftmodule │ │ │ ├── x86_64.swiftdoc │ │ │ └── x86_64.swiftmodule │ │ └── module.modulemap │ │ └── SENetworking_iOS │ ├── tvOS │ ├── 1BCC1720-97C2-3E49-B96F-A0E6FA959721.bcsymbolmap │ ├── 5664F3BF-7B28-3E88-B3A3-6F42996D031C.bcsymbolmap │ ├── SFNetworking_macOS.framework.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── SFNetworking_macOS │ ├── SFNetworking_macOS.framework │ │ ├── Headers │ │ │ └── SFNetworking_macOS-Swift.h │ │ ├── Info.plist │ │ ├── Modules │ │ │ ├── SFNetworking_macOS.swiftmodule │ │ │ │ ├── arm64-apple-tvos.swiftdoc │ │ │ │ ├── arm64-apple-tvos.swiftmodule │ │ │ │ ├── arm64.swiftdoc │ │ │ │ ├── arm64.swiftmodule │ │ │ │ ├── x86_64-apple-tvos-simulator.swiftdoc │ │ │ │ ├── x86_64-apple-tvos-simulator.swiftmodule │ │ │ │ ├── x86_64.swiftdoc │ │ │ │ └── x86_64.swiftmodule │ │ │ └── module.modulemap │ │ └── SFNetworking_macOS │ ├── SFNetworking_tvOS.framework.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── SFNetworking_tvOS │ └── SFNetworking_tvOS.framework │ │ ├── Headers │ │ └── SFNetworking_tvOS-Swift.h │ │ ├── Info.plist │ │ ├── Modules │ │ ├── SFNetworking_tvOS.swiftmodule │ │ │ ├── arm64-apple-tvos.swiftdoc │ │ │ ├── arm64-apple-tvos.swiftmodule │ │ │ ├── arm64.swiftdoc │ │ │ ├── arm64.swiftmodule │ │ │ ├── x86_64-apple-tvos-simulator.swiftdoc │ │ │ ├── x86_64-apple-tvos-simulator.swiftmodule │ │ │ ├── x86_64.swiftdoc │ │ │ └── x86_64.swiftmodule │ │ └── module.modulemap │ │ └── SFNetworking_tvOS │ └── watchOS │ ├── 693B1533-1C1F-3328-8E34-673C2463DA7E.bcsymbolmap │ ├── DE17F34A-37AA-3CA4-B676-645BEA045819.bcsymbolmap │ ├── SFNetworking_watchOS.framework.dSYM │ └── Contents │ │ ├── Info.plist │ │ └── Resources │ │ └── DWARF │ │ └── SFNetworking_watchOS │ └── SFNetworking_watchOS.framework │ ├── Headers │ └── SFNetworking_watchOS-Swift.h │ ├── Info.plist │ ├── Modules │ ├── SFNetworking_watchOS.swiftmodule │ │ ├── arm.swiftdoc │ │ ├── arm.swiftmodule │ │ ├── arm64_32-apple-watchos.swiftdoc │ │ ├── arm64_32-apple-watchos.swiftmodule │ │ ├── arm64_32.swiftdoc │ │ ├── arm64_32.swiftmodule │ │ ├── armv7k-apple-watchos.swiftdoc │ │ ├── armv7k-apple-watchos.swiftmodule │ │ ├── armv7k.swiftdoc │ │ ├── armv7k.swiftmodule │ │ ├── i386-apple-watchos-simulator.swiftdoc │ │ ├── i386-apple-watchos-simulator.swiftmodule │ │ ├── i386.swiftdoc │ │ └── i386.swiftmodule │ └── module.modulemap │ └── SFNetworking_watchOS ├── Metadata ├── Info.plist └── Tests │ └── Info.plist ├── SFNetworkingExample.xcodeproj ├── project.pbxproj └── xcshareddata │ └── xcschemes │ ├── SENetworking-iOS.xcscheme │ ├── SENetworking-macOS.xcscheme │ ├── SENetworking-tvOS.xcscheme │ ├── SENetworking-watchOS.xcscheme │ └── SFNetworkingExample.xcscheme └── SFNetworkingExample ├── AppDelegate.swift ├── Main.storyboard ├── Resources ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ └── LaunchScreen.storyboard └── Info.plist └── ViewController.swift /.gitignore: -------------------------------------------------------------------------------- 1 | # Mac OS X 2 | *.DS_Store 3 | 4 | # Xcode 5 | *.xcuserstate 6 | project.xcworkspace/ 7 | xcuserdata/ 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | os: osx 2 | osx_image: xcode11.2 3 | language: swift 4 | xcode_project: SFNetworkingExample/SFNetworkingExample.xcodeproj 5 | xcode_scheme: SFNetworkingExample 6 | xcode_destination: platform=iOS Simulator,name=iPad Pro (9.7-inch) 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Oleh 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 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.1 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription 5 | 6 | let package = Package( 7 | name: "SENetworking", 8 | products: [ 9 | .library( 10 | name: "SENetworking", 11 | targets: ["SENetworking"]), 12 | ], 13 | targets: [ 14 | .target( 15 | name: "SENetworking", 16 | dependencies: [], 17 | path: "./SENetworking/Module"), 18 | ] 19 | ) 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SENetworking 2 | 3 | [![CocoaPods](https://img.shields.io/cocoapods/v/SENetworking)](https://cocoapods.org/pods/SENetworking) 4 | [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) 5 | [![Swift Package Manager compatible](https://img.shields.io/badge/SPM-compatible-4BC51D.svg?style=flat)](https://github.com/apple/swift-package-manager) 6 | [![Swift 5](https://img.shields.io/badge/compatible-swift%205.0%20-orange.svg)](https://cocoapods.org/pods/SENetworking) 7 | [![Platforms](https://img.shields.io/badge/Platforms-iOS_macOS_watchOS_tvOS-Green)](https://cocoapods.org/pods/SENetworking#carthage-to-install-it-with-carthage-simply-add-the-following-line-to-your-cartfile) 8 | [![License](https://img.shields.io/github/license/kudoleh/SENetworking)](https://cocoapods.org/pods/SENetworking#license) 9 | 10 | 11 | **S**uper **E**asy **Networking** is simple and convenient wrapper around NSURLSession that supports common needs. A framework that is small enough to read in one go but useful enough to include in any project. It is fully tested framework for iOS, tvOS, watchOS and OS X. 12 | 13 | - Super Minimal and Light implementation 14 | - Easy network configuration 15 | - Works with Decodable for responses and Encodable for Requests 16 | - Friendly API which makes declarations of Endpoints super easy 17 | - Easy use of Data Trasfer Objects and Mappings 18 | - No Singletons 19 | - No external dependencies 20 | - Simple request cancellation 21 | - Optimized for unit testing 22 | - Fully tested 23 | - Ideal for code challenges 24 | 25 | ## Example 26 | 27 | **Endpoint definitions**: 28 | 29 | ```swift 30 | struct APIEndpoints { 31 | static func getMovies(with moviesRequestDTO: MoviesRequest) -> Endpoint { 32 | return Endpoint(path: "search/movie/", 33 | method: .get, 34 | headerParamaters: ["Content-Type": "application/json"], // Optional 35 | queryParametersEncodable: moviesRequestDTO) 36 | } 37 | } 38 | ``` 39 | 40 | **API Data (Data Transfer Objects)**: 41 | 42 | ```swift 43 | struct MoviesRequest: Encodable { 44 | let query: String 45 | let page: Int 46 | } 47 | 48 | struct MoviesResponse: Decodable { 49 | struct Movie: Decodable { 50 | private enum CodingKeys: String, CodingKey { 51 | case title 52 | case overview 53 | case posterPath = "poster_path" 54 | } 55 | let title: String 56 | let overview: String 57 | let posterPath: String 58 | } 59 | 60 | private enum CodingKeys: String, CodingKey { 61 | case movies = "results" 62 | } 63 | let movies: [Movie] 64 | } 65 | ``` 66 | **API Networking Configuration**: 67 | 68 | ```swift 69 | struct AppConfiguration { 70 | var apiKey: String = "xxxxxxxxxxxxxxxxxxxxxxxxx" 71 | var apiBaseURL: String = "http://api.themoviedb.org" 72 | } 73 | 74 | class DIContainer { 75 | static let shared = DIContainer() 76 | 77 | lazy var appConfiguration = AppConfiguration() 78 | 79 | lazy var apiDataTransferService: DataTransferService = { 80 | let config = ApiDataNetworkConfig(baseURL: URL(string: appConfiguration.apiBaseURL)!, 81 | queryParameters: ["api_key": appConfiguration.apiKey, 82 | "language": NSLocale.preferredLanguages.first ?? "en"]) 83 | 84 | let apiDataNetwork = DefaultNetworkService(config: config) 85 | return DefaultDataTransferService(with: apiDataNetwork) 86 | }() 87 | } 88 | ``` 89 | 90 | **Making API call**: 91 | 92 | ```swift 93 | let endpoint = APIEndpoints.getMovies(with: MoviesRequest(query: "Batman Begins", page: 1)) 94 | dataTransferService.request(with: endpoint) { result in 95 | 96 | guard case let .success(response) = result, let movies = response.movies else { return } 97 | 98 | self.show(movies) 99 | } 100 | ``` 101 | 102 | 103 | ## Installation 104 | 105 | ### [CocoaPods](https://cocoapods.org): To install it with CocoaPods, simply add the following line to your Podfile: 106 | 107 | ```ruby 108 | pod 'SENetworking' 109 | ``` 110 | Then **pod install** and **import SFNetworking** in files where needed 111 | 112 | ### [Carthage](https://github.com/Carthage/Carthage): To install it with Carthage, simply add the following line to your Cartfile: 113 | 114 | ```ruby 115 | github "kudoleh/SENetworking" 116 | ``` 117 | Then **carthage update** and **import SFNetworking_iOS** in files where needed (e.g. for iOS platform) 118 | 119 | ### [Swift Package Manager](https://swift.org/package-manager/): To install it with Package Manager: 120 | ```ruby 121 | Xcode tab: File -> Swift Packages -> Add Package Dependency 122 | Enter package repository URL: https://github.com/kudoleh/SENetworking 123 | ``` 124 | And then **import SFNetworking** in files where needed 125 | 126 | ### Manual installation: To manually install it: 127 | ```ruby 128 | Copy folder SENetworking into your project 129 | ``` 130 | 131 | ## Author 132 | 133 | Oleh Kudinov, kudoleh@hotmail.com 134 | 135 | ## License 136 | 137 | MIL License, Open Source License 138 | -------------------------------------------------------------------------------- /SENetworking.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'SENetworking' 3 | s.version = '1.0.8' 4 | s.summary = 'Simple NSURLSession wrapper' 5 | 6 | s.description = <<-DESC 7 | Simple NSURLSession wrapper 8 | - Minimal implementation 9 | - Super easy friendly API 10 | - No Singletons 11 | - No external dependencies 12 | - Simple request cancellation 13 | - Optimized for unit testing 14 | - Free 15 | DESC 16 | 17 | s.homepage = 'https://github.com/kudoleh/SENetworking' 18 | s.license = { :type => 'MIT', :file => 'LICENSE' } 19 | s.author = { 'Oleh Kudinov' => 'oleh.kudinov@olx.com' } 20 | s.source = { :git => 'https://github.com/kudoleh/SENetworking.git', :tag => s.version.to_s } 21 | 22 | s.swift_version = '5.0' 23 | 24 | s.ios.deployment_target = '9.0' 25 | s.osx.deployment_target = '10.11' 26 | s.watchos.deployment_target = '2.0' 27 | s.tvos.deployment_target = '9.0' 28 | 29 | s.source_files = 'SENetworking/Module/**/*.{swift}' 30 | 31 | end 32 | -------------------------------------------------------------------------------- /SENetworking/Module/DataTransferService.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DataTransfer.swift 3 | // App 4 | // 5 | // Created by Oleh Kudinov on 01.10.18. 6 | // 7 | 8 | import Foundation 9 | 10 | public enum DataTransferError: Error { 11 | case noResponse 12 | case parsing(Error) 13 | case networkFailure(NetworkError) 14 | case resolvedNetworkFailure(Error) 15 | } 16 | 17 | public protocol DataTransferDispatchQueue { 18 | func asyncExecute(work: @escaping () -> Void) 19 | } 20 | 21 | extension DispatchQueue: DataTransferDispatchQueue { 22 | public func asyncExecute(work: @escaping () -> Void) { 23 | async(group: nil, execute: work) 24 | } 25 | } 26 | 27 | public protocol DataTransferService { 28 | typealias CompletionHandler = (Result) -> Void 29 | 30 | @discardableResult 31 | func request( 32 | with endpoint: E, 33 | on queue: DataTransferDispatchQueue, 34 | completion: @escaping CompletionHandler 35 | ) -> NetworkCancellable? where E.Response == T 36 | 37 | @discardableResult 38 | func request( 39 | with endpoint: E, 40 | completion: @escaping CompletionHandler 41 | ) -> NetworkCancellable? where E.Response == T 42 | 43 | @discardableResult 44 | func request( 45 | with endpoint: E, 46 | on queue: DataTransferDispatchQueue, 47 | completion: @escaping CompletionHandler 48 | ) -> NetworkCancellable? where E.Response == Void 49 | 50 | @discardableResult 51 | func request( 52 | with endpoint: E, 53 | completion: @escaping CompletionHandler 54 | ) -> NetworkCancellable? where E.Response == Void 55 | } 56 | 57 | public protocol DataTransferErrorResolver { 58 | func resolve(error: NetworkError) -> Error 59 | } 60 | 61 | public protocol ResponseDecoder { 62 | func decode(_ data: Data) throws -> T 63 | } 64 | 65 | public protocol DataTransferErrorLogger { 66 | func log(error: Error) 67 | } 68 | 69 | public final class DefaultDataTransferService { 70 | 71 | private let networkService: NetworkService 72 | private let errorResolver: DataTransferErrorResolver 73 | private let errorLogger: DataTransferErrorLogger 74 | 75 | public init(with networkService: NetworkService, 76 | errorResolver: DataTransferErrorResolver = DefaultDataTransferErrorResolver(), 77 | errorLogger: DataTransferErrorLogger = DefaultDataTransferErrorLogger()) { 78 | self.networkService = networkService 79 | self.errorResolver = errorResolver 80 | self.errorLogger = errorLogger 81 | } 82 | } 83 | 84 | extension DefaultDataTransferService: DataTransferService { 85 | 86 | public func request( 87 | with endpoint: E, 88 | on queue: DataTransferDispatchQueue, 89 | completion: @escaping CompletionHandler 90 | ) -> NetworkCancellable? where E.Response == T { 91 | 92 | networkService.request(endpoint: endpoint) { result in 93 | switch result { 94 | case .success(let data): 95 | let result: Result = self.decode( 96 | data: data, 97 | decoder: endpoint.responseDecoder 98 | ) 99 | queue.asyncExecute { completion(result) } 100 | case .failure(let error): 101 | self.errorLogger.log(error: error) 102 | let error = self.resolve(networkError: error) 103 | queue.asyncExecute { completion(.failure(error)) } 104 | } 105 | } 106 | } 107 | 108 | public func request( 109 | with endpoint: E, 110 | completion: @escaping CompletionHandler 111 | ) -> NetworkCancellable? where E.Response == T { 112 | request(with: endpoint, on: DispatchQueue.main, completion: completion) 113 | } 114 | 115 | public func request( 116 | with endpoint: E, 117 | on queue: DataTransferDispatchQueue, 118 | completion: @escaping CompletionHandler 119 | ) -> NetworkCancellable? where E : ResponseRequestable, E.Response == Void { 120 | networkService.request(endpoint: endpoint) { result in 121 | switch result { 122 | case .success: 123 | queue.asyncExecute { completion(.success(())) } 124 | case .failure(let error): 125 | self.errorLogger.log(error: error) 126 | let error = self.resolve(networkError: error) 127 | queue.asyncExecute { completion(.failure(error)) } 128 | } 129 | } 130 | } 131 | 132 | public func request( 133 | with endpoint: E, 134 | completion: @escaping CompletionHandler 135 | ) -> NetworkCancellable? where E : ResponseRequestable, E.Response == Void { 136 | request(with: endpoint, on: DispatchQueue.main, completion: completion) 137 | } 138 | 139 | // MARK: - Private 140 | private func decode(data: Data?, decoder: ResponseDecoder) -> Result { 141 | do { 142 | guard let data = data else { return .failure(.noResponse) } 143 | let result: T = try decoder.decode(data) 144 | return .success(result) 145 | } catch { 146 | self.errorLogger.log(error: error) 147 | return .failure(.parsing(error)) 148 | } 149 | } 150 | 151 | private func resolve(networkError error: NetworkError) -> DataTransferError { 152 | let resolvedError = self.errorResolver.resolve(error: error) 153 | return resolvedError is NetworkError ? .networkFailure(error) : .resolvedNetworkFailure(resolvedError) 154 | } 155 | } 156 | 157 | // MARK: - Logger 158 | public final class DefaultDataTransferErrorLogger: DataTransferErrorLogger { 159 | public init() { } 160 | 161 | public func log(error: Error) { 162 | printIfDebug("-------------") 163 | printIfDebug("\(error)") 164 | } 165 | } 166 | 167 | // MARK: - Error Resolver 168 | public class DefaultDataTransferErrorResolver: DataTransferErrorResolver { 169 | public init() { } 170 | public func resolve(error: NetworkError) -> Error { 171 | return error 172 | } 173 | } 174 | 175 | // MARK: - Response Decoders 176 | public class JSONResponseDecoder: ResponseDecoder { 177 | private let jsonDecoder = JSONDecoder() 178 | public init() { } 179 | public func decode(_ data: Data) throws -> T { 180 | return try jsonDecoder.decode(T.self, from: data) 181 | } 182 | } 183 | 184 | public class RawDataResponseDecoder: ResponseDecoder { 185 | public init() { } 186 | 187 | enum CodingKeys: String, CodingKey { 188 | case `default` = "" 189 | } 190 | public func decode(_ data: Data) throws -> T { 191 | if T.self is Data.Type, let data = data as? T { 192 | return data 193 | } else { 194 | let context = DecodingError.Context(codingPath: [CodingKeys.default], debugDescription: "Expected Data type") 195 | throw Swift.DecodingError.typeMismatch(T.self, context) 196 | } 197 | } 198 | } 199 | -------------------------------------------------------------------------------- /SENetworking/Module/Endpoint.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Endpoint.swift 3 | // App 4 | // 5 | // Created by Oleh Kudinov on 01.10.18. 6 | // 7 | 8 | import Foundation 9 | 10 | public enum HTTPMethodType: String { 11 | case get = "GET" 12 | case head = "HEAD" 13 | case post = "POST" 14 | case put = "PUT" 15 | case patch = "PATCH" 16 | case delete = "DELETE" 17 | } 18 | 19 | public enum BodyEncoding { 20 | case jsonSerializationData 21 | case stringEncodingAscii 22 | } 23 | 24 | public class Endpoint: ResponseRequestable { 25 | 26 | public typealias Response = R 27 | 28 | public var path: String 29 | public var isFullPath: Bool 30 | public var method: HTTPMethodType 31 | public var headerParamaters: [String: String] 32 | public var queryParametersEncodable: Encodable? = nil 33 | public var queryParameters: [String: Any] 34 | public var bodyParamatersEncodable: Encodable? = nil 35 | public var bodyParamaters: [String: Any] 36 | public var bodyEncoding: BodyEncoding 37 | public var responseDecoder: ResponseDecoder 38 | 39 | public init(path: String, 40 | isFullPath: Bool = false, 41 | method: HTTPMethodType, 42 | headerParamaters: [String: String] = [:], 43 | queryParametersEncodable: Encodable? = nil, 44 | queryParameters: [String: Any] = [:], 45 | bodyParamatersEncodable: Encodable? = nil, 46 | bodyParamaters: [String: Any] = [:], 47 | bodyEncoding: BodyEncoding = .jsonSerializationData, 48 | responseDecoder: ResponseDecoder = JSONResponseDecoder()) { 49 | self.path = path 50 | self.isFullPath = isFullPath 51 | self.method = method 52 | self.headerParamaters = headerParamaters 53 | self.queryParametersEncodable = queryParametersEncodable 54 | self.queryParameters = queryParameters 55 | self.bodyParamatersEncodable = bodyParamatersEncodable 56 | self.bodyParamaters = bodyParamaters 57 | self.bodyEncoding = bodyEncoding 58 | self.responseDecoder = responseDecoder 59 | } 60 | } 61 | 62 | public protocol Requestable { 63 | var path: String { get } 64 | var isFullPath: Bool { get } 65 | var method: HTTPMethodType { get } 66 | var headerParamaters: [String: String] { get } 67 | var queryParametersEncodable: Encodable? { get } 68 | var queryParameters: [String: Any] { get } 69 | var bodyParamatersEncodable: Encodable? { get } 70 | var bodyParamaters: [String: Any] { get } 71 | var bodyEncoding: BodyEncoding { get } 72 | 73 | func urlRequest(with networkConfig: NetworkConfigurable) throws -> URLRequest 74 | } 75 | 76 | public protocol ResponseRequestable: Requestable { 77 | associatedtype Response 78 | 79 | var responseDecoder: ResponseDecoder { get } 80 | } 81 | 82 | enum RequestGenerationError: Error { 83 | case components 84 | } 85 | 86 | extension Requestable { 87 | 88 | func url(with config: NetworkConfigurable) throws -> URL { 89 | 90 | let baseURL = config.baseURL.absoluteString.last != "/" ? config.baseURL.absoluteString + "/" : config.baseURL.absoluteString 91 | let endpoint = isFullPath ? path : baseURL.appending(path) 92 | 93 | guard var urlComponents = URLComponents(string: endpoint) else { throw RequestGenerationError.components } 94 | var urlQueryItems = [URLQueryItem]() 95 | 96 | let queryParameters = try queryParametersEncodable?.toDictionary() ?? self.queryParameters 97 | queryParameters.forEach { 98 | urlQueryItems.append(URLQueryItem(name: $0.key, value: "\($0.value)")) 99 | } 100 | config.queryParameters.forEach { 101 | urlQueryItems.append(URLQueryItem(name: $0.key, value: $0.value)) 102 | } 103 | urlComponents.queryItems = !urlQueryItems.isEmpty ? urlQueryItems : nil 104 | guard let url = urlComponents.url else { throw RequestGenerationError.components } 105 | return url 106 | } 107 | 108 | public func urlRequest(with config: NetworkConfigurable) throws -> URLRequest { 109 | 110 | let url = try self.url(with: config) 111 | var urlRequest = URLRequest(url: url) 112 | var allHeaders: [String: String] = config.headers 113 | headerParamaters.forEach { allHeaders.updateValue($1, forKey: $0) } 114 | 115 | let bodyParamaters = try bodyParamatersEncodable?.toDictionary() ?? self.bodyParamaters 116 | if !bodyParamaters.isEmpty { 117 | urlRequest.httpBody = encodeBody(bodyParamaters: bodyParamaters, bodyEncoding: bodyEncoding) 118 | } 119 | urlRequest.httpMethod = method.rawValue 120 | urlRequest.allHTTPHeaderFields = allHeaders 121 | return urlRequest 122 | } 123 | 124 | private func encodeBody(bodyParamaters: [String: Any], bodyEncoding: BodyEncoding) -> Data? { 125 | switch bodyEncoding { 126 | case .jsonSerializationData: 127 | return try? JSONSerialization.data(withJSONObject: bodyParamaters) 128 | case .stringEncodingAscii: 129 | return bodyParamaters.queryString.data(using: String.Encoding.ascii, allowLossyConversion: true) 130 | } 131 | } 132 | } 133 | 134 | private extension Dictionary { 135 | var queryString: String { 136 | return self.map { "\($0.key)=\($0.value)" } 137 | .joined(separator: "&") 138 | .addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) ?? "" 139 | } 140 | } 141 | 142 | private extension Encodable { 143 | func toDictionary() throws -> [String: Any]? { 144 | let data = try JSONEncoder().encode(self) 145 | let josnData = try JSONSerialization.jsonObject(with: data) 146 | return josnData as? [String : Any] 147 | } 148 | } 149 | 150 | -------------------------------------------------------------------------------- /SENetworking/Module/NetworkConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ServiceConfig.swift 3 | // App 4 | // 5 | // Created by Oleh Kudinov on 01.10.18. 6 | // 7 | 8 | import Foundation 9 | 10 | public protocol NetworkConfigurable { 11 | var baseURL: URL { get } 12 | var headers: [String: String] { get } 13 | var queryParameters: [String: String] { get } 14 | } 15 | 16 | public struct ApiDataNetworkConfig: NetworkConfigurable { 17 | public let baseURL: URL 18 | public let headers: [String: String] 19 | public let queryParameters: [String: String] 20 | 21 | public init(baseURL: URL, 22 | headers: [String: String] = [:], 23 | queryParameters: [String: String] = [:]) { 24 | self.baseURL = baseURL 25 | self.headers = headers 26 | self.queryParameters = queryParameters 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SENetworking/Module/NetworkService.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NetworkService.swift 3 | // App 4 | // 5 | // Created by Oleh Kudinov on 01.10.18. 6 | // 7 | 8 | import Foundation 9 | 10 | public enum NetworkError: Error { 11 | case error(statusCode: Int, data: Data?) 12 | case notConnected 13 | case cancelled 14 | case generic(Error) 15 | case urlGeneration 16 | } 17 | 18 | public protocol NetworkCancellable { 19 | func cancel() 20 | } 21 | 22 | extension URLSessionTask: NetworkCancellable { } 23 | 24 | public protocol NetworkService { 25 | typealias CompletionHandler = (Result) -> Void 26 | 27 | func request(endpoint: Requestable, completion: @escaping CompletionHandler) -> NetworkCancellable? 28 | } 29 | 30 | public protocol NetworkSessionManager { 31 | typealias CompletionHandler = (Data?, URLResponse?, Error?) -> Void 32 | 33 | func request(_ request: URLRequest, 34 | completion: @escaping CompletionHandler) -> NetworkCancellable 35 | } 36 | 37 | public protocol NetworkErrorLogger { 38 | func log(request: URLRequest) 39 | func log(responseData data: Data?, response: URLResponse?) 40 | func log(error: Error) 41 | } 42 | 43 | // MARK: - Implementation 44 | 45 | public final class DefaultNetworkService { 46 | 47 | private let config: NetworkConfigurable 48 | private let sessionManager: NetworkSessionManager 49 | private let logger: NetworkErrorLogger 50 | 51 | public init(config: NetworkConfigurable, 52 | sessionManager: NetworkSessionManager = DefaultNetworkSessionManager(), 53 | logger: NetworkErrorLogger = DefaultNetworkErrorLogger()) { 54 | self.sessionManager = sessionManager 55 | self.config = config 56 | self.logger = logger 57 | } 58 | 59 | private func request(request: URLRequest, completion: @escaping CompletionHandler) -> NetworkCancellable { 60 | 61 | let sessionDataTask = sessionManager.request(request) { data, response, requestError in 62 | 63 | if let requestError = requestError { 64 | var error: NetworkError 65 | if let response = response as? HTTPURLResponse { 66 | error = .error(statusCode: response.statusCode, data: data) 67 | } else { 68 | error = self.resolve(error: requestError) 69 | } 70 | 71 | self.logger.log(error: error) 72 | completion(.failure(error)) 73 | } else { 74 | self.logger.log(responseData: data, response: response) 75 | completion(.success(data)) 76 | } 77 | } 78 | 79 | logger.log(request: request) 80 | 81 | return sessionDataTask 82 | } 83 | 84 | private func resolve(error: Error) -> NetworkError { 85 | let code = URLError.Code(rawValue: (error as NSError).code) 86 | switch code { 87 | case .notConnectedToInternet: return .notConnected 88 | case .cancelled: return .cancelled 89 | default: return .generic(error) 90 | } 91 | } 92 | } 93 | 94 | extension DefaultNetworkService: NetworkService { 95 | 96 | public func request(endpoint: Requestable, completion: @escaping CompletionHandler) -> NetworkCancellable? { 97 | do { 98 | let urlRequest = try endpoint.urlRequest(with: config) 99 | return request(request: urlRequest, completion: completion) 100 | } catch { 101 | completion(.failure(.urlGeneration)) 102 | return nil 103 | } 104 | } 105 | } 106 | 107 | // MARK: - Default Network Session Manager 108 | // Note: If authorization is needed NetworkSessionManager can be implemented by using, 109 | // for example, Alamofire SessionManager with its RequestAdapter and RequestRetrier. 110 | // And it can be incjected into NetworkService instead of default one. 111 | 112 | public class DefaultNetworkSessionManager: NetworkSessionManager { 113 | public init() {} 114 | public func request(_ request: URLRequest, 115 | completion: @escaping CompletionHandler) -> NetworkCancellable { 116 | let task = URLSession.shared.dataTask(with: request, completionHandler: completion) 117 | task.resume() 118 | return task 119 | } 120 | } 121 | 122 | // MARK: - Logger 123 | 124 | public final class DefaultNetworkErrorLogger: NetworkErrorLogger { 125 | public init() { } 126 | 127 | public func log(request: URLRequest) { 128 | print("-------------") 129 | print("request: \(request.url!)") 130 | print("headers: \(request.allHTTPHeaderFields!)") 131 | print("method: \(request.httpMethod!)") 132 | if let httpBody = request.httpBody, let result = ((try? JSONSerialization.jsonObject(with: httpBody, options: []) as? [String: AnyObject]) as [String: AnyObject]??) { 133 | printIfDebug("body: \(String(describing: result))") 134 | } else if let httpBody = request.httpBody, let resultString = String(data: httpBody, encoding: .utf8) { 135 | printIfDebug("body: \(String(describing: resultString))") 136 | } 137 | } 138 | 139 | public func log(responseData data: Data?, response: URLResponse?) { 140 | guard let data = data else { return } 141 | if let dataDict = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] { 142 | printIfDebug("responseData: \(String(describing: dataDict))") 143 | } 144 | } 145 | 146 | public func log(error: Error) { 147 | printIfDebug("\(error)") 148 | } 149 | } 150 | 151 | // MARK: - NetworkError extension 152 | 153 | extension NetworkError { 154 | public var isNotFoundError: Bool { return hasStatusCode(404) } 155 | 156 | public func hasStatusCode(_ codeError: Int) -> Bool { 157 | switch self { 158 | case let .error(code, _): 159 | return code == codeError 160 | default: return false 161 | } 162 | } 163 | } 164 | 165 | func printIfDebug(_ string: String) { 166 | #if DEBUG 167 | print(string) 168 | #endif 169 | } 170 | -------------------------------------------------------------------------------- /SENetworking/Tests/DataTransferServiceTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DataTransferServiceTests.swift 3 | // AppTests 4 | // 5 | // Created by Oleh Kudinov on 16.08.19. 6 | // 7 | 8 | import XCTest 9 | @testable import SFNetworkingExample 10 | 11 | private struct MockModel: Decodable { 12 | let name: String 13 | } 14 | 15 | final class DataTransferDispatchQueueMock: DataTransferDispatchQueue { 16 | func asyncExecute(work: @escaping () -> Void) { 17 | work() 18 | } 19 | } 20 | 21 | class DataTransferServiceTests: XCTestCase { 22 | 23 | private enum DataTransferErrorMock: Error { 24 | case someError 25 | } 26 | 27 | func test_whenReceivedValidJsonInResponse_shouldDecodeResponseToDecodableObject() { 28 | //given 29 | let config = NetworkConfigurableMock() 30 | let expectation = self.expectation(description: "Should decode mock object") 31 | 32 | let responseData = #"{"name": "Hello"}"#.data(using: .utf8) 33 | let networkService = DefaultNetworkService( 34 | config: config, 35 | sessionManager: NetworkSessionManagerMock( 36 | response: nil, 37 | data: responseData, 38 | error: nil 39 | ) 40 | ) 41 | 42 | let sut = DefaultDataTransferService(with: networkService) 43 | //when 44 | _ = sut.request( 45 | with: Endpoint(path: "http://mock.endpoint.com", method: .get), 46 | on: DataTransferDispatchQueueMock() 47 | ) { result in 48 | do { 49 | let object = try result.get() 50 | XCTAssertEqual(object.name, "Hello") 51 | expectation.fulfill() 52 | } catch { 53 | XCTFail("Failed decoding MockObject") 54 | } 55 | } 56 | //then 57 | wait(for: [expectation], timeout: 0.1) 58 | } 59 | 60 | func test_whenInvalidResponse_shouldNotDecodeObject() { 61 | //given 62 | let config = NetworkConfigurableMock() 63 | let expectation = self.expectation(description: "Should not decode mock object") 64 | 65 | let responseData = #"{"age": 20}"#.data(using: .utf8) 66 | let networkService = DefaultNetworkService( 67 | config: config, 68 | sessionManager: NetworkSessionManagerMock( 69 | response: nil, 70 | data: responseData, 71 | error: nil 72 | ) 73 | ) 74 | 75 | let sut = DefaultDataTransferService(with: networkService) 76 | //when 77 | _ = sut.request( 78 | with: Endpoint(path: "http://mock.endpoint.com", method: .get), 79 | on: DataTransferDispatchQueueMock() 80 | ) { result in 81 | do { 82 | _ = try result.get() 83 | XCTFail("Should not happen") 84 | } catch { 85 | expectation.fulfill() 86 | } 87 | } 88 | //then 89 | wait(for: [expectation], timeout: 0.1) 90 | } 91 | 92 | func test_whenBadRequestReceived_shouldRethrowNetworkError() { 93 | //given 94 | let config = NetworkConfigurableMock() 95 | let expectation = self.expectation(description: "Should throw network error") 96 | 97 | let responseData = #"{"invalidStructure": "Nothing"}"#.data(using: .utf8)! 98 | let response = HTTPURLResponse(url: URL(string: "test_url")!, 99 | statusCode: 500, 100 | httpVersion: "1.1", 101 | headerFields: nil) 102 | let networkService = DefaultNetworkService( 103 | config: config, 104 | sessionManager: NetworkSessionManagerMock( 105 | response: response, 106 | data: responseData, 107 | error: DataTransferErrorMock.someError 108 | ) 109 | ) 110 | 111 | let sut = DefaultDataTransferService(with: networkService) 112 | //when 113 | _ = sut.request( 114 | with: Endpoint(path: "http://mock.endpoint.com", method: .get), 115 | on: DataTransferDispatchQueueMock() 116 | ) { result in 117 | do { 118 | _ = try result.get() 119 | XCTFail("Should not happen") 120 | } catch let error { 121 | 122 | if case DataTransferError.networkFailure(NetworkError.error(statusCode: 500, _)) = error { 123 | expectation.fulfill() 124 | } else { 125 | XCTFail("Wrong error") 126 | } 127 | } 128 | } 129 | //then 130 | wait(for: [expectation], timeout: 0.1) 131 | } 132 | 133 | func test_whenNoDataReceived_shouldThrowNoDataError() { 134 | //given 135 | let config = NetworkConfigurableMock() 136 | let expectation = self.expectation(description: "Should throw no data error") 137 | 138 | let response = HTTPURLResponse(url: URL(string: "test_url")!, 139 | statusCode: 200, 140 | httpVersion: "1.1", 141 | headerFields: [:]) 142 | let networkService = DefaultNetworkService( 143 | config: config, 144 | sessionManager: NetworkSessionManagerMock( 145 | response: response, 146 | data: nil, 147 | error: nil 148 | ) 149 | ) 150 | 151 | let sut = DefaultDataTransferService(with: networkService) 152 | //when 153 | _ = sut.request( 154 | with: Endpoint(path: "http://mock.endpoint.com", method: .get), 155 | on: DataTransferDispatchQueueMock() 156 | ) { result in 157 | do { 158 | _ = try result.get() 159 | XCTFail("Should not happen") 160 | } catch let error { 161 | if case DataTransferError.noResponse = error { 162 | expectation.fulfill() 163 | } else { 164 | XCTFail("Wrong error") 165 | } 166 | } 167 | } 168 | //then 169 | wait(for: [expectation], timeout: 0.1) 170 | } 171 | } 172 | -------------------------------------------------------------------------------- /SENetworking/Tests/Mocks/NetworkConfigurableMock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NetworkServiceMocks.swift 3 | // AppTests 4 | // 5 | // Created by Oleh Kudinov on 16.08.19. 6 | // 7 | 8 | import Foundation 9 | @testable import SFNetworkingExample 10 | 11 | class NetworkConfigurableMock: NetworkConfigurable { 12 | var baseURL: URL = URL(string: "https://mock.test.com")! 13 | var headers: [String: String] = [:] 14 | var queryParameters: [String: String] = [:] 15 | } 16 | -------------------------------------------------------------------------------- /SENetworking/Tests/Mocks/NetworkSessionManagerMock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NetworkSessionManagerMock.swift 3 | // AppTests 4 | // 5 | // Created by Oleh Kudinov on 16.08.19. 6 | // 7 | 8 | import Foundation 9 | @testable import SFNetworkingExample 10 | 11 | struct NetworkSessionManagerMock: NetworkSessionManager { 12 | let response: HTTPURLResponse? 13 | let data: Data? 14 | let error: Error? 15 | 16 | func request(_ request: URLRequest, 17 | completion: @escaping CompletionHandler) -> NetworkCancellable { 18 | completion(data, response, error) 19 | return URLSessionDataTask() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /SENetworking/Tests/NetworkServiceTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NetworkServiceTests.swift 3 | // AppTests 4 | // 5 | // Created by Oleh Kudinov on 16.08.19. 6 | // 7 | 8 | import XCTest 9 | @testable import SFNetworkingExample 10 | 11 | class NetworkServiceTests: XCTestCase { 12 | 13 | private struct EndpointMock: Requestable { 14 | 15 | var path: String 16 | var isFullPath: Bool = false 17 | var method: HTTPMethodType 18 | var headerParamaters: [String: String] = [:] 19 | var queryParametersEncodable: Encodable? 20 | var queryParameters: [String: Any] = [:] 21 | var bodyParamatersEncodable: Encodable? 22 | var bodyParamaters: [String: Any] = [:] 23 | var bodyEncoding: BodyEncoding = .stringEncodingAscii 24 | 25 | init(path: String, method: HTTPMethodType) { 26 | self.path = path 27 | self.method = method 28 | } 29 | } 30 | 31 | class NetworkErrorLoggerMock: NetworkErrorLogger { 32 | var loggedErrors: [Error] = [] 33 | func log(request: URLRequest) { } 34 | func log(responseData data: Data?, response: URLResponse?) { } 35 | func log(error: Error) { loggedErrors.append(error) } 36 | } 37 | 38 | private enum NetworkErrorMock: Error { 39 | case someError 40 | } 41 | 42 | func test_whenMockDataPassed_shouldReturnProperResponse() { 43 | //given 44 | let config = NetworkConfigurableMock() 45 | let expectation = self.expectation(description: "Should return correct data") 46 | 47 | let expectedResponseData = "Response data".data(using: .utf8)! 48 | let sut = DefaultNetworkService(config: config, 49 | sessionManager: NetworkSessionManagerMock(response: nil, 50 | data: expectedResponseData, 51 | error: nil)) 52 | //when 53 | _ = sut.request(endpoint: EndpointMock(path: "http://mock.test.com", method: .get)) { result in 54 | guard let responseData = try? result.get() else { 55 | XCTFail("Should return proper response") 56 | return 57 | } 58 | XCTAssertEqual(responseData, expectedResponseData) 59 | expectation.fulfill() 60 | } 61 | //then 62 | wait(for: [expectation], timeout: 0.1) 63 | } 64 | 65 | func test_whenErrorWithNSURLErrorCancelledReturned_shouldReturnCancelledError() { 66 | //given 67 | let config = NetworkConfigurableMock() 68 | let expectation = self.expectation(description: "Should return hasStatusCode error") 69 | 70 | let cancelledError = NSError(domain: "network", code: NSURLErrorCancelled, userInfo: nil) 71 | let sut = DefaultNetworkService(config: config, sessionManager: NetworkSessionManagerMock(response: nil, 72 | data: nil, 73 | error: cancelledError as Error)) 74 | //when 75 | _ = sut.request(endpoint: EndpointMock(path: "http://mock.test.com", method: .get)) { result in 76 | do { 77 | _ = try result.get() 78 | XCTFail("Should not happen") 79 | } catch let error { 80 | guard case NetworkError.cancelled = error else { 81 | XCTFail("NetworkError.cancelled not found") 82 | return 83 | } 84 | 85 | expectation.fulfill() 86 | } 87 | } 88 | //then 89 | wait(for: [expectation], timeout: 0.1) 90 | } 91 | 92 | func test_whenStatusCodeEqualOrAbove400_shouldReturnhasStatusCodeError() { 93 | //given 94 | let config = NetworkConfigurableMock() 95 | let expectation = self.expectation(description: "Should return hasStatusCode error") 96 | 97 | let response = HTTPURLResponse(url: URL(string: "test_url")!, 98 | statusCode: 500, 99 | httpVersion: "1.1", 100 | headerFields: [:]) 101 | let sut = DefaultNetworkService(config: config, sessionManager: NetworkSessionManagerMock(response: response, 102 | data: nil, 103 | error: NetworkErrorMock.someError)) 104 | //when 105 | _ = sut.request(endpoint: EndpointMock(path: "http://mock.test.com", method: .get)) { result in 106 | do { 107 | _ = try result.get() 108 | XCTFail("Should not happen") 109 | } catch let error { 110 | if case NetworkError.error(let statusCode, _) = error { 111 | XCTAssertEqual(statusCode, 500) 112 | expectation.fulfill() 113 | } 114 | } 115 | } 116 | //then 117 | wait(for: [expectation], timeout: 0.1) 118 | } 119 | 120 | func test_whenErrorWithNSURLErrorNotConnectedToInternetReturned_shouldReturnNotConnectedError() { 121 | //given 122 | let config = NetworkConfigurableMock() 123 | let expectation = self.expectation(description: "Should return hasStatusCode error") 124 | 125 | let error = NSError(domain: "network", code: NSURLErrorNotConnectedToInternet, userInfo: nil) 126 | let sut = DefaultNetworkService(config: config, sessionManager: NetworkSessionManagerMock(response: nil, 127 | data: nil, 128 | error: error as Error)) 129 | 130 | //when 131 | _ = sut.request(endpoint: EndpointMock(path: "http://mock.test.com", method: .get)) { result in 132 | do { 133 | _ = try result.get() 134 | XCTFail("Should not happen") 135 | } catch let error { 136 | guard case NetworkError.notConnected = error else { 137 | XCTFail("NetworkError.notConnected not found") 138 | return 139 | } 140 | 141 | expectation.fulfill() 142 | } 143 | } 144 | //then 145 | wait(for: [expectation], timeout: 0.1) 146 | } 147 | 148 | func test_whenhasStatusCodeUsedWithWrongError_shouldReturnFalse() { 149 | //when 150 | let sut = NetworkError.notConnected 151 | //then 152 | XCTAssertFalse(sut.hasStatusCode(200)) 153 | } 154 | 155 | func test_whenhasStatusCodeUsed_shouldReturnCorrectStatusCode_() { 156 | //when 157 | let sut = NetworkError.error(statusCode: 400, data: nil) 158 | //then 159 | XCTAssertTrue(sut.hasStatusCode(400)) 160 | XCTAssertFalse(sut.hasStatusCode(399)) 161 | XCTAssertFalse(sut.hasStatusCode(401)) 162 | } 163 | 164 | func test_whenErrorWithNSURLErrorNotConnectedToInternetReturned_shouldLogThisError() { 165 | //given 166 | let config = NetworkConfigurableMock() 167 | let expectation = self.expectation(description: "Should return hasStatusCode error") 168 | 169 | let error = NSError(domain: "network", code: NSURLErrorNotConnectedToInternet, userInfo: nil) 170 | let networkErrorLogger = NetworkErrorLoggerMock() 171 | let sut = DefaultNetworkService(config: config, sessionManager: NetworkSessionManagerMock(response: nil, 172 | data: nil, 173 | error: error as Error), 174 | logger: networkErrorLogger) 175 | //when 176 | _ = sut.request(endpoint: EndpointMock(path: "http://mock.test.com", method: .get)) { result in 177 | do { 178 | _ = try result.get() 179 | XCTFail("Should not happen") 180 | } catch let error { 181 | guard case NetworkError.notConnected = error else { 182 | XCTFail("NetworkError.notConnected not found") 183 | return 184 | } 185 | 186 | expectation.fulfill() 187 | } 188 | } 189 | 190 | //then 191 | wait(for: [expectation], timeout: 0.1) 192 | XCTAssertTrue(networkErrorLogger.loggedErrors.contains { 193 | guard case NetworkError.notConnected = $0 else { return false } 194 | return true 195 | }) 196 | } 197 | } 198 | -------------------------------------------------------------------------------- /SFNetworkingExample.xcodeproj alias: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample.xcodeproj alias -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/.SENetworking.version: -------------------------------------------------------------------------------- 1 | { 2 | "Mac" : [ 3 | 4 | ], 5 | "watchOS" : [ 6 | { 7 | "name" : "SFNetworking_watchOS", 8 | "hash" : "5801f4bce0566fb7aeee1b08db554d35288ed36f40a67c1eed445b821625b780", 9 | "swiftToolchainVersion" : "5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)" 10 | } 11 | ], 12 | "tvOS" : [ 13 | { 14 | "name" : "SFNetworking_macOS", 15 | "hash" : "7a671fb2c30a4dba3aba86a65a76fe80fff668a9402dc7ff2993074d53b095a0", 16 | "swiftToolchainVersion" : "5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)" 17 | }, 18 | { 19 | "name" : "SFNetworking_tvOS", 20 | "hash" : "aa4596f33896c2352e1f3a5a1522f9f308a60419ccc77a60d6efcbc8d83b22b9", 21 | "swiftToolchainVersion" : "5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)" 22 | } 23 | ], 24 | "commitish" : "d2ef734a9823ca5415405836dc2a9b07a72b384e", 25 | "iOS" : [ 26 | { 27 | "name" : "SENetworking_iOS", 28 | "hash" : "59bb72e87b99ab45a3332bef267aa09e950e512dbc9f4671e13652beff80012f", 29 | "swiftToolchainVersion" : "5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.com.org.SENetworking-iOS 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework.dSYM/Contents/Resources/DWARF/SENetworking_iOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework.dSYM/Contents/Resources/DWARF/SENetworking_iOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Headers/SENetworking_iOS-Swift.h: -------------------------------------------------------------------------------- 1 | #ifndef TARGET_OS_SIMULATOR 2 | #include 3 | #endif 4 | #if TARGET_OS_SIMULATOR 5 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 6 | #pragma clang diagnostic push 7 | #pragma clang diagnostic ignored "-Wgcc-compat" 8 | 9 | #if !defined(__has_include) 10 | # define __has_include(x) 0 11 | #endif 12 | #if !defined(__has_attribute) 13 | # define __has_attribute(x) 0 14 | #endif 15 | #if !defined(__has_feature) 16 | # define __has_feature(x) 0 17 | #endif 18 | #if !defined(__has_warning) 19 | # define __has_warning(x) 0 20 | #endif 21 | 22 | #if __has_include() 23 | # include 24 | #endif 25 | 26 | #pragma clang diagnostic ignored "-Wauto-import" 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #if !defined(SWIFT_TYPEDEFS) 33 | # define SWIFT_TYPEDEFS 1 34 | # if __has_include() 35 | # include 36 | # elif !defined(__cplusplus) 37 | typedef uint_least16_t char16_t; 38 | typedef uint_least32_t char32_t; 39 | # endif 40 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 41 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 42 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 43 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 44 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 45 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 46 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 47 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 48 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 49 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 50 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 51 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 52 | #endif 53 | 54 | #if !defined(SWIFT_PASTE) 55 | # define SWIFT_PASTE_HELPER(x, y) x##y 56 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 57 | #endif 58 | #if !defined(SWIFT_METATYPE) 59 | # define SWIFT_METATYPE(X) Class 60 | #endif 61 | #if !defined(SWIFT_CLASS_PROPERTY) 62 | # if __has_feature(objc_class_property) 63 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 64 | # else 65 | # define SWIFT_CLASS_PROPERTY(...) 66 | # endif 67 | #endif 68 | 69 | #if __has_attribute(objc_runtime_name) 70 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 71 | #else 72 | # define SWIFT_RUNTIME_NAME(X) 73 | #endif 74 | #if __has_attribute(swift_name) 75 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 76 | #else 77 | # define SWIFT_COMPILE_NAME(X) 78 | #endif 79 | #if __has_attribute(objc_method_family) 80 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 81 | #else 82 | # define SWIFT_METHOD_FAMILY(X) 83 | #endif 84 | #if __has_attribute(noescape) 85 | # define SWIFT_NOESCAPE __attribute__((noescape)) 86 | #else 87 | # define SWIFT_NOESCAPE 88 | #endif 89 | #if __has_attribute(warn_unused_result) 90 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 91 | #else 92 | # define SWIFT_WARN_UNUSED_RESULT 93 | #endif 94 | #if __has_attribute(noreturn) 95 | # define SWIFT_NORETURN __attribute__((noreturn)) 96 | #else 97 | # define SWIFT_NORETURN 98 | #endif 99 | #if !defined(SWIFT_CLASS_EXTRA) 100 | # define SWIFT_CLASS_EXTRA 101 | #endif 102 | #if !defined(SWIFT_PROTOCOL_EXTRA) 103 | # define SWIFT_PROTOCOL_EXTRA 104 | #endif 105 | #if !defined(SWIFT_ENUM_EXTRA) 106 | # define SWIFT_ENUM_EXTRA 107 | #endif 108 | #if !defined(SWIFT_CLASS) 109 | # if __has_attribute(objc_subclassing_restricted) 110 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 111 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 112 | # else 113 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 114 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 115 | # endif 116 | #endif 117 | #if !defined(SWIFT_RESILIENT_CLASS) 118 | # if __has_attribute(objc_class_stub) 119 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 120 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 121 | # else 122 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 123 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 124 | # endif 125 | #endif 126 | 127 | #if !defined(SWIFT_PROTOCOL) 128 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 129 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 130 | #endif 131 | 132 | #if !defined(SWIFT_EXTENSION) 133 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 134 | #endif 135 | 136 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 137 | # if __has_attribute(objc_designated_initializer) 138 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 139 | # else 140 | # define OBJC_DESIGNATED_INITIALIZER 141 | # endif 142 | #endif 143 | #if !defined(SWIFT_ENUM_ATTR) 144 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 145 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 146 | # else 147 | # define SWIFT_ENUM_ATTR(_extensibility) 148 | # endif 149 | #endif 150 | #if !defined(SWIFT_ENUM) 151 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 152 | # if __has_feature(generalized_swift_name) 153 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 154 | # else 155 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 156 | # endif 157 | #endif 158 | #if !defined(SWIFT_UNAVAILABLE) 159 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 160 | #endif 161 | #if !defined(SWIFT_UNAVAILABLE_MSG) 162 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 163 | #endif 164 | #if !defined(SWIFT_AVAILABILITY) 165 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 166 | #endif 167 | #if !defined(SWIFT_WEAK_IMPORT) 168 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 169 | #endif 170 | #if !defined(SWIFT_DEPRECATED) 171 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 172 | #endif 173 | #if !defined(SWIFT_DEPRECATED_MSG) 174 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 175 | #endif 176 | #if __has_feature(attribute_diagnose_if_objc) 177 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 178 | #else 179 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 180 | #endif 181 | #if !defined(IBSegueAction) 182 | # define IBSegueAction 183 | #endif 184 | #if __has_feature(modules) 185 | #if __has_warning("-Watimport-in-framework-header") 186 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 187 | #endif 188 | @import Foundation; 189 | #endif 190 | 191 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 192 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 193 | #if __has_warning("-Wpragma-clang-attribute") 194 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 195 | #endif 196 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 197 | #pragma clang diagnostic ignored "-Wnullability" 198 | 199 | #if __has_attribute(external_source_symbol) 200 | # pragma push_macro("any") 201 | # undef any 202 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SENetworking_iOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 203 | # pragma pop_macro("any") 204 | #endif 205 | 206 | 207 | 208 | #if __has_attribute(external_source_symbol) 209 | # pragma clang attribute pop 210 | #endif 211 | #pragma clang diagnostic pop 212 | 213 | #else 214 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 215 | #pragma clang diagnostic push 216 | #pragma clang diagnostic ignored "-Wgcc-compat" 217 | 218 | #if !defined(__has_include) 219 | # define __has_include(x) 0 220 | #endif 221 | #if !defined(__has_attribute) 222 | # define __has_attribute(x) 0 223 | #endif 224 | #if !defined(__has_feature) 225 | # define __has_feature(x) 0 226 | #endif 227 | #if !defined(__has_warning) 228 | # define __has_warning(x) 0 229 | #endif 230 | 231 | #if __has_include() 232 | # include 233 | #endif 234 | 235 | #pragma clang diagnostic ignored "-Wauto-import" 236 | #include 237 | #include 238 | #include 239 | #include 240 | 241 | #if !defined(SWIFT_TYPEDEFS) 242 | # define SWIFT_TYPEDEFS 1 243 | # if __has_include() 244 | # include 245 | # elif !defined(__cplusplus) 246 | typedef uint_least16_t char16_t; 247 | typedef uint_least32_t char32_t; 248 | # endif 249 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 250 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 251 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 252 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 253 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 254 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 255 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 256 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 257 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 258 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 259 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 260 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 261 | #endif 262 | 263 | #if !defined(SWIFT_PASTE) 264 | # define SWIFT_PASTE_HELPER(x, y) x##y 265 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 266 | #endif 267 | #if !defined(SWIFT_METATYPE) 268 | # define SWIFT_METATYPE(X) Class 269 | #endif 270 | #if !defined(SWIFT_CLASS_PROPERTY) 271 | # if __has_feature(objc_class_property) 272 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 273 | # else 274 | # define SWIFT_CLASS_PROPERTY(...) 275 | # endif 276 | #endif 277 | 278 | #if __has_attribute(objc_runtime_name) 279 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 280 | #else 281 | # define SWIFT_RUNTIME_NAME(X) 282 | #endif 283 | #if __has_attribute(swift_name) 284 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 285 | #else 286 | # define SWIFT_COMPILE_NAME(X) 287 | #endif 288 | #if __has_attribute(objc_method_family) 289 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 290 | #else 291 | # define SWIFT_METHOD_FAMILY(X) 292 | #endif 293 | #if __has_attribute(noescape) 294 | # define SWIFT_NOESCAPE __attribute__((noescape)) 295 | #else 296 | # define SWIFT_NOESCAPE 297 | #endif 298 | #if __has_attribute(warn_unused_result) 299 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 300 | #else 301 | # define SWIFT_WARN_UNUSED_RESULT 302 | #endif 303 | #if __has_attribute(noreturn) 304 | # define SWIFT_NORETURN __attribute__((noreturn)) 305 | #else 306 | # define SWIFT_NORETURN 307 | #endif 308 | #if !defined(SWIFT_CLASS_EXTRA) 309 | # define SWIFT_CLASS_EXTRA 310 | #endif 311 | #if !defined(SWIFT_PROTOCOL_EXTRA) 312 | # define SWIFT_PROTOCOL_EXTRA 313 | #endif 314 | #if !defined(SWIFT_ENUM_EXTRA) 315 | # define SWIFT_ENUM_EXTRA 316 | #endif 317 | #if !defined(SWIFT_CLASS) 318 | # if __has_attribute(objc_subclassing_restricted) 319 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 320 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 321 | # else 322 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 323 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 324 | # endif 325 | #endif 326 | #if !defined(SWIFT_RESILIENT_CLASS) 327 | # if __has_attribute(objc_class_stub) 328 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 329 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 330 | # else 331 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 332 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 333 | # endif 334 | #endif 335 | 336 | #if !defined(SWIFT_PROTOCOL) 337 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 338 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 339 | #endif 340 | 341 | #if !defined(SWIFT_EXTENSION) 342 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 343 | #endif 344 | 345 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 346 | # if __has_attribute(objc_designated_initializer) 347 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 348 | # else 349 | # define OBJC_DESIGNATED_INITIALIZER 350 | # endif 351 | #endif 352 | #if !defined(SWIFT_ENUM_ATTR) 353 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 354 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 355 | # else 356 | # define SWIFT_ENUM_ATTR(_extensibility) 357 | # endif 358 | #endif 359 | #if !defined(SWIFT_ENUM) 360 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 361 | # if __has_feature(generalized_swift_name) 362 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 363 | # else 364 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 365 | # endif 366 | #endif 367 | #if !defined(SWIFT_UNAVAILABLE) 368 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 369 | #endif 370 | #if !defined(SWIFT_UNAVAILABLE_MSG) 371 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 372 | #endif 373 | #if !defined(SWIFT_AVAILABILITY) 374 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 375 | #endif 376 | #if !defined(SWIFT_WEAK_IMPORT) 377 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 378 | #endif 379 | #if !defined(SWIFT_DEPRECATED) 380 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 381 | #endif 382 | #if !defined(SWIFT_DEPRECATED_MSG) 383 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 384 | #endif 385 | #if __has_feature(attribute_diagnose_if_objc) 386 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 387 | #else 388 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 389 | #endif 390 | #if !defined(IBSegueAction) 391 | # define IBSegueAction 392 | #endif 393 | #if __has_feature(modules) 394 | #if __has_warning("-Watimport-in-framework-header") 395 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 396 | #endif 397 | @import Foundation; 398 | #endif 399 | 400 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 401 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 402 | #if __has_warning("-Wpragma-clang-attribute") 403 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 404 | #endif 405 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 406 | #pragma clang diagnostic ignored "-Wnullability" 407 | 408 | #if __has_attribute(external_source_symbol) 409 | # pragma push_macro("any") 410 | # undef any 411 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SENetworking_iOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 412 | # pragma pop_macro("any") 413 | #endif 414 | 415 | 416 | 417 | #if __has_attribute(external_source_symbol) 418 | # pragma clang attribute pop 419 | #endif 420 | #pragma clang diagnostic pop 421 | 422 | #endif 423 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Info.plist -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64-apple-ios.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64-apple-ios.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64-apple-ios.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64-apple-ios.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/arm64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64-apple-ios-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64-apple-ios-simulator.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64-apple-ios-simulator.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64-apple-ios-simulator.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/SENetworking_iOS.swiftmodule/x86_64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SENetworking_iOS { 2 | header "SENetworking_iOS-Swift.h" 3 | requires objc 4 | } 5 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/SENetworking_iOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/iOS/SENetworking_iOS.framework/SENetworking_iOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.com.org.SFNetworking-macOS 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_macOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_macOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Headers/SFNetworking_macOS-Swift.h: -------------------------------------------------------------------------------- 1 | #ifndef TARGET_OS_SIMULATOR 2 | #include 3 | #endif 4 | #if TARGET_OS_SIMULATOR 5 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 6 | #pragma clang diagnostic push 7 | #pragma clang diagnostic ignored "-Wgcc-compat" 8 | 9 | #if !defined(__has_include) 10 | # define __has_include(x) 0 11 | #endif 12 | #if !defined(__has_attribute) 13 | # define __has_attribute(x) 0 14 | #endif 15 | #if !defined(__has_feature) 16 | # define __has_feature(x) 0 17 | #endif 18 | #if !defined(__has_warning) 19 | # define __has_warning(x) 0 20 | #endif 21 | 22 | #if __has_include() 23 | # include 24 | #endif 25 | 26 | #pragma clang diagnostic ignored "-Wauto-import" 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #if !defined(SWIFT_TYPEDEFS) 33 | # define SWIFT_TYPEDEFS 1 34 | # if __has_include() 35 | # include 36 | # elif !defined(__cplusplus) 37 | typedef uint_least16_t char16_t; 38 | typedef uint_least32_t char32_t; 39 | # endif 40 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 41 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 42 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 43 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 44 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 45 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 46 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 47 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 48 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 49 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 50 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 51 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 52 | #endif 53 | 54 | #if !defined(SWIFT_PASTE) 55 | # define SWIFT_PASTE_HELPER(x, y) x##y 56 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 57 | #endif 58 | #if !defined(SWIFT_METATYPE) 59 | # define SWIFT_METATYPE(X) Class 60 | #endif 61 | #if !defined(SWIFT_CLASS_PROPERTY) 62 | # if __has_feature(objc_class_property) 63 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 64 | # else 65 | # define SWIFT_CLASS_PROPERTY(...) 66 | # endif 67 | #endif 68 | 69 | #if __has_attribute(objc_runtime_name) 70 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 71 | #else 72 | # define SWIFT_RUNTIME_NAME(X) 73 | #endif 74 | #if __has_attribute(swift_name) 75 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 76 | #else 77 | # define SWIFT_COMPILE_NAME(X) 78 | #endif 79 | #if __has_attribute(objc_method_family) 80 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 81 | #else 82 | # define SWIFT_METHOD_FAMILY(X) 83 | #endif 84 | #if __has_attribute(noescape) 85 | # define SWIFT_NOESCAPE __attribute__((noescape)) 86 | #else 87 | # define SWIFT_NOESCAPE 88 | #endif 89 | #if __has_attribute(warn_unused_result) 90 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 91 | #else 92 | # define SWIFT_WARN_UNUSED_RESULT 93 | #endif 94 | #if __has_attribute(noreturn) 95 | # define SWIFT_NORETURN __attribute__((noreturn)) 96 | #else 97 | # define SWIFT_NORETURN 98 | #endif 99 | #if !defined(SWIFT_CLASS_EXTRA) 100 | # define SWIFT_CLASS_EXTRA 101 | #endif 102 | #if !defined(SWIFT_PROTOCOL_EXTRA) 103 | # define SWIFT_PROTOCOL_EXTRA 104 | #endif 105 | #if !defined(SWIFT_ENUM_EXTRA) 106 | # define SWIFT_ENUM_EXTRA 107 | #endif 108 | #if !defined(SWIFT_CLASS) 109 | # if __has_attribute(objc_subclassing_restricted) 110 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 111 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 112 | # else 113 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 114 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 115 | # endif 116 | #endif 117 | #if !defined(SWIFT_RESILIENT_CLASS) 118 | # if __has_attribute(objc_class_stub) 119 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 120 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 121 | # else 122 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 123 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 124 | # endif 125 | #endif 126 | 127 | #if !defined(SWIFT_PROTOCOL) 128 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 129 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 130 | #endif 131 | 132 | #if !defined(SWIFT_EXTENSION) 133 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 134 | #endif 135 | 136 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 137 | # if __has_attribute(objc_designated_initializer) 138 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 139 | # else 140 | # define OBJC_DESIGNATED_INITIALIZER 141 | # endif 142 | #endif 143 | #if !defined(SWIFT_ENUM_ATTR) 144 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 145 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 146 | # else 147 | # define SWIFT_ENUM_ATTR(_extensibility) 148 | # endif 149 | #endif 150 | #if !defined(SWIFT_ENUM) 151 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 152 | # if __has_feature(generalized_swift_name) 153 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 154 | # else 155 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 156 | # endif 157 | #endif 158 | #if !defined(SWIFT_UNAVAILABLE) 159 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 160 | #endif 161 | #if !defined(SWIFT_UNAVAILABLE_MSG) 162 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 163 | #endif 164 | #if !defined(SWIFT_AVAILABILITY) 165 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 166 | #endif 167 | #if !defined(SWIFT_WEAK_IMPORT) 168 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 169 | #endif 170 | #if !defined(SWIFT_DEPRECATED) 171 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 172 | #endif 173 | #if !defined(SWIFT_DEPRECATED_MSG) 174 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 175 | #endif 176 | #if __has_feature(attribute_diagnose_if_objc) 177 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 178 | #else 179 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 180 | #endif 181 | #if !defined(IBSegueAction) 182 | # define IBSegueAction 183 | #endif 184 | #if __has_feature(modules) 185 | #if __has_warning("-Watimport-in-framework-header") 186 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 187 | #endif 188 | @import Foundation; 189 | #endif 190 | 191 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 192 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 193 | #if __has_warning("-Wpragma-clang-attribute") 194 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 195 | #endif 196 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 197 | #pragma clang diagnostic ignored "-Wnullability" 198 | 199 | #if __has_attribute(external_source_symbol) 200 | # pragma push_macro("any") 201 | # undef any 202 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_macOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 203 | # pragma pop_macro("any") 204 | #endif 205 | 206 | 207 | 208 | #if __has_attribute(external_source_symbol) 209 | # pragma clang attribute pop 210 | #endif 211 | #pragma clang diagnostic pop 212 | 213 | #else 214 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 215 | #pragma clang diagnostic push 216 | #pragma clang diagnostic ignored "-Wgcc-compat" 217 | 218 | #if !defined(__has_include) 219 | # define __has_include(x) 0 220 | #endif 221 | #if !defined(__has_attribute) 222 | # define __has_attribute(x) 0 223 | #endif 224 | #if !defined(__has_feature) 225 | # define __has_feature(x) 0 226 | #endif 227 | #if !defined(__has_warning) 228 | # define __has_warning(x) 0 229 | #endif 230 | 231 | #if __has_include() 232 | # include 233 | #endif 234 | 235 | #pragma clang diagnostic ignored "-Wauto-import" 236 | #include 237 | #include 238 | #include 239 | #include 240 | 241 | #if !defined(SWIFT_TYPEDEFS) 242 | # define SWIFT_TYPEDEFS 1 243 | # if __has_include() 244 | # include 245 | # elif !defined(__cplusplus) 246 | typedef uint_least16_t char16_t; 247 | typedef uint_least32_t char32_t; 248 | # endif 249 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 250 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 251 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 252 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 253 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 254 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 255 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 256 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 257 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 258 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 259 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 260 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 261 | #endif 262 | 263 | #if !defined(SWIFT_PASTE) 264 | # define SWIFT_PASTE_HELPER(x, y) x##y 265 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 266 | #endif 267 | #if !defined(SWIFT_METATYPE) 268 | # define SWIFT_METATYPE(X) Class 269 | #endif 270 | #if !defined(SWIFT_CLASS_PROPERTY) 271 | # if __has_feature(objc_class_property) 272 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 273 | # else 274 | # define SWIFT_CLASS_PROPERTY(...) 275 | # endif 276 | #endif 277 | 278 | #if __has_attribute(objc_runtime_name) 279 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 280 | #else 281 | # define SWIFT_RUNTIME_NAME(X) 282 | #endif 283 | #if __has_attribute(swift_name) 284 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 285 | #else 286 | # define SWIFT_COMPILE_NAME(X) 287 | #endif 288 | #if __has_attribute(objc_method_family) 289 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 290 | #else 291 | # define SWIFT_METHOD_FAMILY(X) 292 | #endif 293 | #if __has_attribute(noescape) 294 | # define SWIFT_NOESCAPE __attribute__((noescape)) 295 | #else 296 | # define SWIFT_NOESCAPE 297 | #endif 298 | #if __has_attribute(warn_unused_result) 299 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 300 | #else 301 | # define SWIFT_WARN_UNUSED_RESULT 302 | #endif 303 | #if __has_attribute(noreturn) 304 | # define SWIFT_NORETURN __attribute__((noreturn)) 305 | #else 306 | # define SWIFT_NORETURN 307 | #endif 308 | #if !defined(SWIFT_CLASS_EXTRA) 309 | # define SWIFT_CLASS_EXTRA 310 | #endif 311 | #if !defined(SWIFT_PROTOCOL_EXTRA) 312 | # define SWIFT_PROTOCOL_EXTRA 313 | #endif 314 | #if !defined(SWIFT_ENUM_EXTRA) 315 | # define SWIFT_ENUM_EXTRA 316 | #endif 317 | #if !defined(SWIFT_CLASS) 318 | # if __has_attribute(objc_subclassing_restricted) 319 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 320 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 321 | # else 322 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 323 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 324 | # endif 325 | #endif 326 | #if !defined(SWIFT_RESILIENT_CLASS) 327 | # if __has_attribute(objc_class_stub) 328 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 329 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 330 | # else 331 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 332 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 333 | # endif 334 | #endif 335 | 336 | #if !defined(SWIFT_PROTOCOL) 337 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 338 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 339 | #endif 340 | 341 | #if !defined(SWIFT_EXTENSION) 342 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 343 | #endif 344 | 345 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 346 | # if __has_attribute(objc_designated_initializer) 347 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 348 | # else 349 | # define OBJC_DESIGNATED_INITIALIZER 350 | # endif 351 | #endif 352 | #if !defined(SWIFT_ENUM_ATTR) 353 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 354 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 355 | # else 356 | # define SWIFT_ENUM_ATTR(_extensibility) 357 | # endif 358 | #endif 359 | #if !defined(SWIFT_ENUM) 360 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 361 | # if __has_feature(generalized_swift_name) 362 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 363 | # else 364 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 365 | # endif 366 | #endif 367 | #if !defined(SWIFT_UNAVAILABLE) 368 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 369 | #endif 370 | #if !defined(SWIFT_UNAVAILABLE_MSG) 371 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 372 | #endif 373 | #if !defined(SWIFT_AVAILABILITY) 374 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 375 | #endif 376 | #if !defined(SWIFT_WEAK_IMPORT) 377 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 378 | #endif 379 | #if !defined(SWIFT_DEPRECATED) 380 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 381 | #endif 382 | #if !defined(SWIFT_DEPRECATED_MSG) 383 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 384 | #endif 385 | #if __has_feature(attribute_diagnose_if_objc) 386 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 387 | #else 388 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 389 | #endif 390 | #if !defined(IBSegueAction) 391 | # define IBSegueAction 392 | #endif 393 | #if __has_feature(modules) 394 | #if __has_warning("-Watimport-in-framework-header") 395 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 396 | #endif 397 | @import Foundation; 398 | #endif 399 | 400 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 401 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 402 | #if __has_warning("-Wpragma-clang-attribute") 403 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 404 | #endif 405 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 406 | #pragma clang diagnostic ignored "-Wnullability" 407 | 408 | #if __has_attribute(external_source_symbol) 409 | # pragma push_macro("any") 410 | # undef any 411 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_macOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 412 | # pragma pop_macro("any") 413 | #endif 414 | 415 | 416 | 417 | #if __has_attribute(external_source_symbol) 418 | # pragma clang attribute pop 419 | #endif 420 | #pragma clang diagnostic pop 421 | 422 | #endif 423 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Info.plist -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64-apple-tvos.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64-apple-tvos.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64-apple-tvos.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64-apple-tvos.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/arm64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/SFNetworking_macOS.swiftmodule/x86_64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SFNetworking_macOS { 2 | header "SFNetworking_macOS-Swift.h" 3 | requires objc 4 | } 5 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/SFNetworking_macOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_macOS.framework/SFNetworking_macOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.com.org.SFNetworking-tvOS 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_tvOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_tvOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Headers/SFNetworking_tvOS-Swift.h: -------------------------------------------------------------------------------- 1 | #ifndef TARGET_OS_SIMULATOR 2 | #include 3 | #endif 4 | #if TARGET_OS_SIMULATOR 5 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 6 | #pragma clang diagnostic push 7 | #pragma clang diagnostic ignored "-Wgcc-compat" 8 | 9 | #if !defined(__has_include) 10 | # define __has_include(x) 0 11 | #endif 12 | #if !defined(__has_attribute) 13 | # define __has_attribute(x) 0 14 | #endif 15 | #if !defined(__has_feature) 16 | # define __has_feature(x) 0 17 | #endif 18 | #if !defined(__has_warning) 19 | # define __has_warning(x) 0 20 | #endif 21 | 22 | #if __has_include() 23 | # include 24 | #endif 25 | 26 | #pragma clang diagnostic ignored "-Wauto-import" 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #if !defined(SWIFT_TYPEDEFS) 33 | # define SWIFT_TYPEDEFS 1 34 | # if __has_include() 35 | # include 36 | # elif !defined(__cplusplus) 37 | typedef uint_least16_t char16_t; 38 | typedef uint_least32_t char32_t; 39 | # endif 40 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 41 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 42 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 43 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 44 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 45 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 46 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 47 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 48 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 49 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 50 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 51 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 52 | #endif 53 | 54 | #if !defined(SWIFT_PASTE) 55 | # define SWIFT_PASTE_HELPER(x, y) x##y 56 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 57 | #endif 58 | #if !defined(SWIFT_METATYPE) 59 | # define SWIFT_METATYPE(X) Class 60 | #endif 61 | #if !defined(SWIFT_CLASS_PROPERTY) 62 | # if __has_feature(objc_class_property) 63 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 64 | # else 65 | # define SWIFT_CLASS_PROPERTY(...) 66 | # endif 67 | #endif 68 | 69 | #if __has_attribute(objc_runtime_name) 70 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 71 | #else 72 | # define SWIFT_RUNTIME_NAME(X) 73 | #endif 74 | #if __has_attribute(swift_name) 75 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 76 | #else 77 | # define SWIFT_COMPILE_NAME(X) 78 | #endif 79 | #if __has_attribute(objc_method_family) 80 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 81 | #else 82 | # define SWIFT_METHOD_FAMILY(X) 83 | #endif 84 | #if __has_attribute(noescape) 85 | # define SWIFT_NOESCAPE __attribute__((noescape)) 86 | #else 87 | # define SWIFT_NOESCAPE 88 | #endif 89 | #if __has_attribute(warn_unused_result) 90 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 91 | #else 92 | # define SWIFT_WARN_UNUSED_RESULT 93 | #endif 94 | #if __has_attribute(noreturn) 95 | # define SWIFT_NORETURN __attribute__((noreturn)) 96 | #else 97 | # define SWIFT_NORETURN 98 | #endif 99 | #if !defined(SWIFT_CLASS_EXTRA) 100 | # define SWIFT_CLASS_EXTRA 101 | #endif 102 | #if !defined(SWIFT_PROTOCOL_EXTRA) 103 | # define SWIFT_PROTOCOL_EXTRA 104 | #endif 105 | #if !defined(SWIFT_ENUM_EXTRA) 106 | # define SWIFT_ENUM_EXTRA 107 | #endif 108 | #if !defined(SWIFT_CLASS) 109 | # if __has_attribute(objc_subclassing_restricted) 110 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 111 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 112 | # else 113 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 114 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 115 | # endif 116 | #endif 117 | #if !defined(SWIFT_RESILIENT_CLASS) 118 | # if __has_attribute(objc_class_stub) 119 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 120 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 121 | # else 122 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 123 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 124 | # endif 125 | #endif 126 | 127 | #if !defined(SWIFT_PROTOCOL) 128 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 129 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 130 | #endif 131 | 132 | #if !defined(SWIFT_EXTENSION) 133 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 134 | #endif 135 | 136 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 137 | # if __has_attribute(objc_designated_initializer) 138 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 139 | # else 140 | # define OBJC_DESIGNATED_INITIALIZER 141 | # endif 142 | #endif 143 | #if !defined(SWIFT_ENUM_ATTR) 144 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 145 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 146 | # else 147 | # define SWIFT_ENUM_ATTR(_extensibility) 148 | # endif 149 | #endif 150 | #if !defined(SWIFT_ENUM) 151 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 152 | # if __has_feature(generalized_swift_name) 153 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 154 | # else 155 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 156 | # endif 157 | #endif 158 | #if !defined(SWIFT_UNAVAILABLE) 159 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 160 | #endif 161 | #if !defined(SWIFT_UNAVAILABLE_MSG) 162 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 163 | #endif 164 | #if !defined(SWIFT_AVAILABILITY) 165 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 166 | #endif 167 | #if !defined(SWIFT_WEAK_IMPORT) 168 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 169 | #endif 170 | #if !defined(SWIFT_DEPRECATED) 171 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 172 | #endif 173 | #if !defined(SWIFT_DEPRECATED_MSG) 174 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 175 | #endif 176 | #if __has_feature(attribute_diagnose_if_objc) 177 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 178 | #else 179 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 180 | #endif 181 | #if !defined(IBSegueAction) 182 | # define IBSegueAction 183 | #endif 184 | #if __has_feature(modules) 185 | #if __has_warning("-Watimport-in-framework-header") 186 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 187 | #endif 188 | @import Foundation; 189 | #endif 190 | 191 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 192 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 193 | #if __has_warning("-Wpragma-clang-attribute") 194 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 195 | #endif 196 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 197 | #pragma clang diagnostic ignored "-Wnullability" 198 | 199 | #if __has_attribute(external_source_symbol) 200 | # pragma push_macro("any") 201 | # undef any 202 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_tvOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 203 | # pragma pop_macro("any") 204 | #endif 205 | 206 | 207 | 208 | #if __has_attribute(external_source_symbol) 209 | # pragma clang attribute pop 210 | #endif 211 | #pragma clang diagnostic pop 212 | 213 | #else 214 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 215 | #pragma clang diagnostic push 216 | #pragma clang diagnostic ignored "-Wgcc-compat" 217 | 218 | #if !defined(__has_include) 219 | # define __has_include(x) 0 220 | #endif 221 | #if !defined(__has_attribute) 222 | # define __has_attribute(x) 0 223 | #endif 224 | #if !defined(__has_feature) 225 | # define __has_feature(x) 0 226 | #endif 227 | #if !defined(__has_warning) 228 | # define __has_warning(x) 0 229 | #endif 230 | 231 | #if __has_include() 232 | # include 233 | #endif 234 | 235 | #pragma clang diagnostic ignored "-Wauto-import" 236 | #include 237 | #include 238 | #include 239 | #include 240 | 241 | #if !defined(SWIFT_TYPEDEFS) 242 | # define SWIFT_TYPEDEFS 1 243 | # if __has_include() 244 | # include 245 | # elif !defined(__cplusplus) 246 | typedef uint_least16_t char16_t; 247 | typedef uint_least32_t char32_t; 248 | # endif 249 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 250 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 251 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 252 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 253 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 254 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 255 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 256 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 257 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 258 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 259 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 260 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 261 | #endif 262 | 263 | #if !defined(SWIFT_PASTE) 264 | # define SWIFT_PASTE_HELPER(x, y) x##y 265 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 266 | #endif 267 | #if !defined(SWIFT_METATYPE) 268 | # define SWIFT_METATYPE(X) Class 269 | #endif 270 | #if !defined(SWIFT_CLASS_PROPERTY) 271 | # if __has_feature(objc_class_property) 272 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 273 | # else 274 | # define SWIFT_CLASS_PROPERTY(...) 275 | # endif 276 | #endif 277 | 278 | #if __has_attribute(objc_runtime_name) 279 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 280 | #else 281 | # define SWIFT_RUNTIME_NAME(X) 282 | #endif 283 | #if __has_attribute(swift_name) 284 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 285 | #else 286 | # define SWIFT_COMPILE_NAME(X) 287 | #endif 288 | #if __has_attribute(objc_method_family) 289 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 290 | #else 291 | # define SWIFT_METHOD_FAMILY(X) 292 | #endif 293 | #if __has_attribute(noescape) 294 | # define SWIFT_NOESCAPE __attribute__((noescape)) 295 | #else 296 | # define SWIFT_NOESCAPE 297 | #endif 298 | #if __has_attribute(warn_unused_result) 299 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 300 | #else 301 | # define SWIFT_WARN_UNUSED_RESULT 302 | #endif 303 | #if __has_attribute(noreturn) 304 | # define SWIFT_NORETURN __attribute__((noreturn)) 305 | #else 306 | # define SWIFT_NORETURN 307 | #endif 308 | #if !defined(SWIFT_CLASS_EXTRA) 309 | # define SWIFT_CLASS_EXTRA 310 | #endif 311 | #if !defined(SWIFT_PROTOCOL_EXTRA) 312 | # define SWIFT_PROTOCOL_EXTRA 313 | #endif 314 | #if !defined(SWIFT_ENUM_EXTRA) 315 | # define SWIFT_ENUM_EXTRA 316 | #endif 317 | #if !defined(SWIFT_CLASS) 318 | # if __has_attribute(objc_subclassing_restricted) 319 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 320 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 321 | # else 322 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 323 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 324 | # endif 325 | #endif 326 | #if !defined(SWIFT_RESILIENT_CLASS) 327 | # if __has_attribute(objc_class_stub) 328 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 329 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 330 | # else 331 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 332 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 333 | # endif 334 | #endif 335 | 336 | #if !defined(SWIFT_PROTOCOL) 337 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 338 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 339 | #endif 340 | 341 | #if !defined(SWIFT_EXTENSION) 342 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 343 | #endif 344 | 345 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 346 | # if __has_attribute(objc_designated_initializer) 347 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 348 | # else 349 | # define OBJC_DESIGNATED_INITIALIZER 350 | # endif 351 | #endif 352 | #if !defined(SWIFT_ENUM_ATTR) 353 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 354 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 355 | # else 356 | # define SWIFT_ENUM_ATTR(_extensibility) 357 | # endif 358 | #endif 359 | #if !defined(SWIFT_ENUM) 360 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 361 | # if __has_feature(generalized_swift_name) 362 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 363 | # else 364 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 365 | # endif 366 | #endif 367 | #if !defined(SWIFT_UNAVAILABLE) 368 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 369 | #endif 370 | #if !defined(SWIFT_UNAVAILABLE_MSG) 371 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 372 | #endif 373 | #if !defined(SWIFT_AVAILABILITY) 374 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 375 | #endif 376 | #if !defined(SWIFT_WEAK_IMPORT) 377 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 378 | #endif 379 | #if !defined(SWIFT_DEPRECATED) 380 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 381 | #endif 382 | #if !defined(SWIFT_DEPRECATED_MSG) 383 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 384 | #endif 385 | #if __has_feature(attribute_diagnose_if_objc) 386 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 387 | #else 388 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 389 | #endif 390 | #if !defined(IBSegueAction) 391 | # define IBSegueAction 392 | #endif 393 | #if __has_feature(modules) 394 | #if __has_warning("-Watimport-in-framework-header") 395 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 396 | #endif 397 | @import Foundation; 398 | #endif 399 | 400 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 401 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 402 | #if __has_warning("-Wpragma-clang-attribute") 403 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 404 | #endif 405 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 406 | #pragma clang diagnostic ignored "-Wnullability" 407 | 408 | #if __has_attribute(external_source_symbol) 409 | # pragma push_macro("any") 410 | # undef any 411 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_tvOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 412 | # pragma pop_macro("any") 413 | #endif 414 | 415 | 416 | 417 | #if __has_attribute(external_source_symbol) 418 | # pragma clang attribute pop 419 | #endif 420 | #pragma clang diagnostic pop 421 | 422 | #endif 423 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Info.plist -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64-apple-tvos.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64-apple-tvos.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64-apple-tvos.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64-apple-tvos.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/arm64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/SFNetworking_tvOS.swiftmodule/x86_64.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SFNetworking_tvOS { 2 | header "SFNetworking_tvOS-Swift.h" 3 | requires objc 4 | } 5 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/SFNetworking_tvOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/tvOS/SFNetworking_tvOS.framework/SFNetworking_tvOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.com.org.SFNetworking-watchOS 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_watchOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework.dSYM/Contents/Resources/DWARF/SFNetworking_watchOS -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Headers/SFNetworking_watchOS-Swift.h: -------------------------------------------------------------------------------- 1 | #ifndef TARGET_OS_SIMULATOR 2 | #include 3 | #endif 4 | #if TARGET_OS_SIMULATOR 5 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 6 | #pragma clang diagnostic push 7 | #pragma clang diagnostic ignored "-Wgcc-compat" 8 | 9 | #if !defined(__has_include) 10 | # define __has_include(x) 0 11 | #endif 12 | #if !defined(__has_attribute) 13 | # define __has_attribute(x) 0 14 | #endif 15 | #if !defined(__has_feature) 16 | # define __has_feature(x) 0 17 | #endif 18 | #if !defined(__has_warning) 19 | # define __has_warning(x) 0 20 | #endif 21 | 22 | #if __has_include() 23 | # include 24 | #endif 25 | 26 | #pragma clang diagnostic ignored "-Wauto-import" 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | #if !defined(SWIFT_TYPEDEFS) 33 | # define SWIFT_TYPEDEFS 1 34 | # if __has_include() 35 | # include 36 | # elif !defined(__cplusplus) 37 | typedef uint_least16_t char16_t; 38 | typedef uint_least32_t char32_t; 39 | # endif 40 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 41 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 42 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 43 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 44 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 45 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 46 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 47 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 48 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 49 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 50 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 51 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 52 | #endif 53 | 54 | #if !defined(SWIFT_PASTE) 55 | # define SWIFT_PASTE_HELPER(x, y) x##y 56 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 57 | #endif 58 | #if !defined(SWIFT_METATYPE) 59 | # define SWIFT_METATYPE(X) Class 60 | #endif 61 | #if !defined(SWIFT_CLASS_PROPERTY) 62 | # if __has_feature(objc_class_property) 63 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 64 | # else 65 | # define SWIFT_CLASS_PROPERTY(...) 66 | # endif 67 | #endif 68 | 69 | #if __has_attribute(objc_runtime_name) 70 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 71 | #else 72 | # define SWIFT_RUNTIME_NAME(X) 73 | #endif 74 | #if __has_attribute(swift_name) 75 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 76 | #else 77 | # define SWIFT_COMPILE_NAME(X) 78 | #endif 79 | #if __has_attribute(objc_method_family) 80 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 81 | #else 82 | # define SWIFT_METHOD_FAMILY(X) 83 | #endif 84 | #if __has_attribute(noescape) 85 | # define SWIFT_NOESCAPE __attribute__((noescape)) 86 | #else 87 | # define SWIFT_NOESCAPE 88 | #endif 89 | #if __has_attribute(warn_unused_result) 90 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 91 | #else 92 | # define SWIFT_WARN_UNUSED_RESULT 93 | #endif 94 | #if __has_attribute(noreturn) 95 | # define SWIFT_NORETURN __attribute__((noreturn)) 96 | #else 97 | # define SWIFT_NORETURN 98 | #endif 99 | #if !defined(SWIFT_CLASS_EXTRA) 100 | # define SWIFT_CLASS_EXTRA 101 | #endif 102 | #if !defined(SWIFT_PROTOCOL_EXTRA) 103 | # define SWIFT_PROTOCOL_EXTRA 104 | #endif 105 | #if !defined(SWIFT_ENUM_EXTRA) 106 | # define SWIFT_ENUM_EXTRA 107 | #endif 108 | #if !defined(SWIFT_CLASS) 109 | # if __has_attribute(objc_subclassing_restricted) 110 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 111 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 112 | # else 113 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 114 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 115 | # endif 116 | #endif 117 | #if !defined(SWIFT_RESILIENT_CLASS) 118 | # if __has_attribute(objc_class_stub) 119 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 120 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 121 | # else 122 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 123 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 124 | # endif 125 | #endif 126 | 127 | #if !defined(SWIFT_PROTOCOL) 128 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 129 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 130 | #endif 131 | 132 | #if !defined(SWIFT_EXTENSION) 133 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 134 | #endif 135 | 136 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 137 | # if __has_attribute(objc_designated_initializer) 138 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 139 | # else 140 | # define OBJC_DESIGNATED_INITIALIZER 141 | # endif 142 | #endif 143 | #if !defined(SWIFT_ENUM_ATTR) 144 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 145 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 146 | # else 147 | # define SWIFT_ENUM_ATTR(_extensibility) 148 | # endif 149 | #endif 150 | #if !defined(SWIFT_ENUM) 151 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 152 | # if __has_feature(generalized_swift_name) 153 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 154 | # else 155 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 156 | # endif 157 | #endif 158 | #if !defined(SWIFT_UNAVAILABLE) 159 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 160 | #endif 161 | #if !defined(SWIFT_UNAVAILABLE_MSG) 162 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 163 | #endif 164 | #if !defined(SWIFT_AVAILABILITY) 165 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 166 | #endif 167 | #if !defined(SWIFT_WEAK_IMPORT) 168 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 169 | #endif 170 | #if !defined(SWIFT_DEPRECATED) 171 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 172 | #endif 173 | #if !defined(SWIFT_DEPRECATED_MSG) 174 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 175 | #endif 176 | #if __has_feature(attribute_diagnose_if_objc) 177 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 178 | #else 179 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 180 | #endif 181 | #if !defined(IBSegueAction) 182 | # define IBSegueAction 183 | #endif 184 | #if __has_feature(modules) 185 | #if __has_warning("-Watimport-in-framework-header") 186 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 187 | #endif 188 | @import Foundation; 189 | #endif 190 | 191 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 192 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 193 | #if __has_warning("-Wpragma-clang-attribute") 194 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 195 | #endif 196 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 197 | #pragma clang diagnostic ignored "-Wnullability" 198 | 199 | #if __has_attribute(external_source_symbol) 200 | # pragma push_macro("any") 201 | # undef any 202 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_watchOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 203 | # pragma pop_macro("any") 204 | #endif 205 | 206 | 207 | 208 | #if __has_attribute(external_source_symbol) 209 | # pragma clang attribute pop 210 | #endif 211 | #pragma clang diagnostic pop 212 | 213 | #else 214 | #if 0 215 | #elif defined(__ARM64_ARCH_8_32__) && __ARM64_ARCH_8_32__ 216 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 217 | #pragma clang diagnostic push 218 | #pragma clang diagnostic ignored "-Wgcc-compat" 219 | 220 | #if !defined(__has_include) 221 | # define __has_include(x) 0 222 | #endif 223 | #if !defined(__has_attribute) 224 | # define __has_attribute(x) 0 225 | #endif 226 | #if !defined(__has_feature) 227 | # define __has_feature(x) 0 228 | #endif 229 | #if !defined(__has_warning) 230 | # define __has_warning(x) 0 231 | #endif 232 | 233 | #if __has_include() 234 | # include 235 | #endif 236 | 237 | #pragma clang diagnostic ignored "-Wauto-import" 238 | #include 239 | #include 240 | #include 241 | #include 242 | 243 | #if !defined(SWIFT_TYPEDEFS) 244 | # define SWIFT_TYPEDEFS 1 245 | # if __has_include() 246 | # include 247 | # elif !defined(__cplusplus) 248 | typedef uint_least16_t char16_t; 249 | typedef uint_least32_t char32_t; 250 | # endif 251 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 252 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 253 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 254 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 255 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 256 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 257 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 258 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 259 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 260 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 261 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 262 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 263 | #endif 264 | 265 | #if !defined(SWIFT_PASTE) 266 | # define SWIFT_PASTE_HELPER(x, y) x##y 267 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 268 | #endif 269 | #if !defined(SWIFT_METATYPE) 270 | # define SWIFT_METATYPE(X) Class 271 | #endif 272 | #if !defined(SWIFT_CLASS_PROPERTY) 273 | # if __has_feature(objc_class_property) 274 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 275 | # else 276 | # define SWIFT_CLASS_PROPERTY(...) 277 | # endif 278 | #endif 279 | 280 | #if __has_attribute(objc_runtime_name) 281 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 282 | #else 283 | # define SWIFT_RUNTIME_NAME(X) 284 | #endif 285 | #if __has_attribute(swift_name) 286 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 287 | #else 288 | # define SWIFT_COMPILE_NAME(X) 289 | #endif 290 | #if __has_attribute(objc_method_family) 291 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 292 | #else 293 | # define SWIFT_METHOD_FAMILY(X) 294 | #endif 295 | #if __has_attribute(noescape) 296 | # define SWIFT_NOESCAPE __attribute__((noescape)) 297 | #else 298 | # define SWIFT_NOESCAPE 299 | #endif 300 | #if __has_attribute(warn_unused_result) 301 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 302 | #else 303 | # define SWIFT_WARN_UNUSED_RESULT 304 | #endif 305 | #if __has_attribute(noreturn) 306 | # define SWIFT_NORETURN __attribute__((noreturn)) 307 | #else 308 | # define SWIFT_NORETURN 309 | #endif 310 | #if !defined(SWIFT_CLASS_EXTRA) 311 | # define SWIFT_CLASS_EXTRA 312 | #endif 313 | #if !defined(SWIFT_PROTOCOL_EXTRA) 314 | # define SWIFT_PROTOCOL_EXTRA 315 | #endif 316 | #if !defined(SWIFT_ENUM_EXTRA) 317 | # define SWIFT_ENUM_EXTRA 318 | #endif 319 | #if !defined(SWIFT_CLASS) 320 | # if __has_attribute(objc_subclassing_restricted) 321 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 322 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 323 | # else 324 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 325 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 326 | # endif 327 | #endif 328 | #if !defined(SWIFT_RESILIENT_CLASS) 329 | # if __has_attribute(objc_class_stub) 330 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 331 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 332 | # else 333 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 334 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 335 | # endif 336 | #endif 337 | 338 | #if !defined(SWIFT_PROTOCOL) 339 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 340 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 341 | #endif 342 | 343 | #if !defined(SWIFT_EXTENSION) 344 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 345 | #endif 346 | 347 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 348 | # if __has_attribute(objc_designated_initializer) 349 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 350 | # else 351 | # define OBJC_DESIGNATED_INITIALIZER 352 | # endif 353 | #endif 354 | #if !defined(SWIFT_ENUM_ATTR) 355 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 356 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 357 | # else 358 | # define SWIFT_ENUM_ATTR(_extensibility) 359 | # endif 360 | #endif 361 | #if !defined(SWIFT_ENUM) 362 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 363 | # if __has_feature(generalized_swift_name) 364 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 365 | # else 366 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 367 | # endif 368 | #endif 369 | #if !defined(SWIFT_UNAVAILABLE) 370 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 371 | #endif 372 | #if !defined(SWIFT_UNAVAILABLE_MSG) 373 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 374 | #endif 375 | #if !defined(SWIFT_AVAILABILITY) 376 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 377 | #endif 378 | #if !defined(SWIFT_WEAK_IMPORT) 379 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 380 | #endif 381 | #if !defined(SWIFT_DEPRECATED) 382 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 383 | #endif 384 | #if !defined(SWIFT_DEPRECATED_MSG) 385 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 386 | #endif 387 | #if __has_feature(attribute_diagnose_if_objc) 388 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 389 | #else 390 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 391 | #endif 392 | #if !defined(IBSegueAction) 393 | # define IBSegueAction 394 | #endif 395 | #if __has_feature(modules) 396 | #if __has_warning("-Watimport-in-framework-header") 397 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 398 | #endif 399 | @import Foundation; 400 | #endif 401 | 402 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 403 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 404 | #if __has_warning("-Wpragma-clang-attribute") 405 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 406 | #endif 407 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 408 | #pragma clang diagnostic ignored "-Wnullability" 409 | 410 | #if __has_attribute(external_source_symbol) 411 | # pragma push_macro("any") 412 | # undef any 413 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_watchOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 414 | # pragma pop_macro("any") 415 | #endif 416 | 417 | 418 | 419 | #if __has_attribute(external_source_symbol) 420 | # pragma clang attribute pop 421 | #endif 422 | #pragma clang diagnostic pop 423 | 424 | #elif defined(__ARM_ARCH_7K__) && __ARM_ARCH_7K__ 425 | // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) 426 | #pragma clang diagnostic push 427 | #pragma clang diagnostic ignored "-Wgcc-compat" 428 | 429 | #if !defined(__has_include) 430 | # define __has_include(x) 0 431 | #endif 432 | #if !defined(__has_attribute) 433 | # define __has_attribute(x) 0 434 | #endif 435 | #if !defined(__has_feature) 436 | # define __has_feature(x) 0 437 | #endif 438 | #if !defined(__has_warning) 439 | # define __has_warning(x) 0 440 | #endif 441 | 442 | #if __has_include() 443 | # include 444 | #endif 445 | 446 | #pragma clang diagnostic ignored "-Wauto-import" 447 | #include 448 | #include 449 | #include 450 | #include 451 | 452 | #if !defined(SWIFT_TYPEDEFS) 453 | # define SWIFT_TYPEDEFS 1 454 | # if __has_include() 455 | # include 456 | # elif !defined(__cplusplus) 457 | typedef uint_least16_t char16_t; 458 | typedef uint_least32_t char32_t; 459 | # endif 460 | typedef float swift_float2 __attribute__((__ext_vector_type__(2))); 461 | typedef float swift_float3 __attribute__((__ext_vector_type__(3))); 462 | typedef float swift_float4 __attribute__((__ext_vector_type__(4))); 463 | typedef double swift_double2 __attribute__((__ext_vector_type__(2))); 464 | typedef double swift_double3 __attribute__((__ext_vector_type__(3))); 465 | typedef double swift_double4 __attribute__((__ext_vector_type__(4))); 466 | typedef int swift_int2 __attribute__((__ext_vector_type__(2))); 467 | typedef int swift_int3 __attribute__((__ext_vector_type__(3))); 468 | typedef int swift_int4 __attribute__((__ext_vector_type__(4))); 469 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); 470 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); 471 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); 472 | #endif 473 | 474 | #if !defined(SWIFT_PASTE) 475 | # define SWIFT_PASTE_HELPER(x, y) x##y 476 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) 477 | #endif 478 | #if !defined(SWIFT_METATYPE) 479 | # define SWIFT_METATYPE(X) Class 480 | #endif 481 | #if !defined(SWIFT_CLASS_PROPERTY) 482 | # if __has_feature(objc_class_property) 483 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ 484 | # else 485 | # define SWIFT_CLASS_PROPERTY(...) 486 | # endif 487 | #endif 488 | 489 | #if __has_attribute(objc_runtime_name) 490 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) 491 | #else 492 | # define SWIFT_RUNTIME_NAME(X) 493 | #endif 494 | #if __has_attribute(swift_name) 495 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) 496 | #else 497 | # define SWIFT_COMPILE_NAME(X) 498 | #endif 499 | #if __has_attribute(objc_method_family) 500 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) 501 | #else 502 | # define SWIFT_METHOD_FAMILY(X) 503 | #endif 504 | #if __has_attribute(noescape) 505 | # define SWIFT_NOESCAPE __attribute__((noescape)) 506 | #else 507 | # define SWIFT_NOESCAPE 508 | #endif 509 | #if __has_attribute(warn_unused_result) 510 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 511 | #else 512 | # define SWIFT_WARN_UNUSED_RESULT 513 | #endif 514 | #if __has_attribute(noreturn) 515 | # define SWIFT_NORETURN __attribute__((noreturn)) 516 | #else 517 | # define SWIFT_NORETURN 518 | #endif 519 | #if !defined(SWIFT_CLASS_EXTRA) 520 | # define SWIFT_CLASS_EXTRA 521 | #endif 522 | #if !defined(SWIFT_PROTOCOL_EXTRA) 523 | # define SWIFT_PROTOCOL_EXTRA 524 | #endif 525 | #if !defined(SWIFT_ENUM_EXTRA) 526 | # define SWIFT_ENUM_EXTRA 527 | #endif 528 | #if !defined(SWIFT_CLASS) 529 | # if __has_attribute(objc_subclassing_restricted) 530 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA 531 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 532 | # else 533 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 534 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA 535 | # endif 536 | #endif 537 | #if !defined(SWIFT_RESILIENT_CLASS) 538 | # if __has_attribute(objc_class_stub) 539 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) 540 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) 541 | # else 542 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) 543 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) 544 | # endif 545 | #endif 546 | 547 | #if !defined(SWIFT_PROTOCOL) 548 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 549 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA 550 | #endif 551 | 552 | #if !defined(SWIFT_EXTENSION) 553 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) 554 | #endif 555 | 556 | #if !defined(OBJC_DESIGNATED_INITIALIZER) 557 | # if __has_attribute(objc_designated_initializer) 558 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) 559 | # else 560 | # define OBJC_DESIGNATED_INITIALIZER 561 | # endif 562 | #endif 563 | #if !defined(SWIFT_ENUM_ATTR) 564 | # if defined(__has_attribute) && __has_attribute(enum_extensibility) 565 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) 566 | # else 567 | # define SWIFT_ENUM_ATTR(_extensibility) 568 | # endif 569 | #endif 570 | #if !defined(SWIFT_ENUM) 571 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 572 | # if __has_feature(generalized_swift_name) 573 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type 574 | # else 575 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) 576 | # endif 577 | #endif 578 | #if !defined(SWIFT_UNAVAILABLE) 579 | # define SWIFT_UNAVAILABLE __attribute__((unavailable)) 580 | #endif 581 | #if !defined(SWIFT_UNAVAILABLE_MSG) 582 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) 583 | #endif 584 | #if !defined(SWIFT_AVAILABILITY) 585 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) 586 | #endif 587 | #if !defined(SWIFT_WEAK_IMPORT) 588 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) 589 | #endif 590 | #if !defined(SWIFT_DEPRECATED) 591 | # define SWIFT_DEPRECATED __attribute__((deprecated)) 592 | #endif 593 | #if !defined(SWIFT_DEPRECATED_MSG) 594 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) 595 | #endif 596 | #if __has_feature(attribute_diagnose_if_objc) 597 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) 598 | #else 599 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) 600 | #endif 601 | #if !defined(IBSegueAction) 602 | # define IBSegueAction 603 | #endif 604 | #if __has_feature(modules) 605 | #if __has_warning("-Watimport-in-framework-header") 606 | #pragma clang diagnostic ignored "-Watimport-in-framework-header" 607 | #endif 608 | @import Foundation; 609 | #endif 610 | 611 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" 612 | #pragma clang diagnostic ignored "-Wduplicate-method-arg" 613 | #if __has_warning("-Wpragma-clang-attribute") 614 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute" 615 | #endif 616 | #pragma clang diagnostic ignored "-Wunknown-pragmas" 617 | #pragma clang diagnostic ignored "-Wnullability" 618 | 619 | #if __has_attribute(external_source_symbol) 620 | # pragma push_macro("any") 621 | # undef any 622 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SFNetworking_watchOS",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) 623 | # pragma pop_macro("any") 624 | #endif 625 | 626 | 627 | 628 | #if __has_attribute(external_source_symbol) 629 | # pragma clang attribute pop 630 | #endif 631 | #pragma clang diagnostic pop 632 | 633 | #endif 634 | 635 | #endif 636 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Info.plist -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32-apple-watchos.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32-apple-watchos.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32-apple-watchos.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32-apple-watchos.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/arm64_32.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k-apple-watchos.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k-apple-watchos.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k-apple-watchos.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k-apple-watchos.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/armv7k.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386-apple-watchos-simulator.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386-apple-watchos-simulator.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386-apple-watchos-simulator.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386-apple-watchos-simulator.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386.swiftdoc -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/SFNetworking_watchOS.swiftmodule/i386.swiftmodule -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SFNetworking_watchOS { 2 | header "SFNetworking_watchOS-Swift.h" 3 | requires objc 4 | } 5 | -------------------------------------------------------------------------------- /SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/SFNetworking_watchOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kudoleh/SENetworking/772dd2cc8c6756e96dee75563eb7e39465df566e/SFNetworkingExample/Carthage/Build/watchOS/SFNetworking_watchOS.framework/SFNetworking_watchOS -------------------------------------------------------------------------------- /SFNetworkingExample/Metadata/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /SFNetworkingExample/Metadata/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample.xcodeproj/xcshareddata/xcschemes/SENetworking-iOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 57 | 58 | 59 | 60 | 62 | 63 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample.xcodeproj/xcshareddata/xcschemes/SENetworking-macOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 57 | 58 | 59 | 60 | 62 | 63 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample.xcodeproj/xcshareddata/xcschemes/SENetworking-tvOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 57 | 58 | 59 | 60 | 62 | 63 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample.xcodeproj/xcshareddata/xcschemes/SENetworking-watchOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 57 | 58 | 59 | 60 | 62 | 63 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample.xcodeproj/xcshareddata/xcschemes/SFNetworkingExample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 55 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // SFNetworkingExample 4 | // 5 | // Created by Oleh Kudinov on 25/04/2020. 6 | // Copyright © 2020 Org. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | 17 | internal func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 18 | // Override point for customization after application launch. 19 | return true 20 | } 21 | 22 | func applicationWillResignActive(_ application: UIApplication) { 23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 24 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 25 | } 26 | 27 | func applicationDidEnterBackground(_ application: UIApplication) { 28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 30 | } 31 | 32 | func applicationWillEnterForeground(_ application: UIApplication) { 33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | func applicationDidBecomeActive(_ application: UIApplication) { 37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 38 | } 39 | 40 | func applicationWillTerminate(_ application: UIApplication) { 41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/Resources/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | NSAppTransportSecurity 26 | 27 | NSAllowsArbitraryLoads 28 | 29 | 30 | UIMainStoryboardFile 31 | Main 32 | UIRequiredDeviceCapabilities 33 | 34 | armv7 35 | 36 | UISupportedInterfaceOrientations 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UISupportedInterfaceOrientations~ipad 43 | 44 | UIInterfaceOrientationPortrait 45 | UIInterfaceOrientationPortraitUpsideDown 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /SFNetworkingExample/SFNetworkingExample/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // SFNetworkingExample 4 | // 5 | // Created by Oleh Kudinov on 25/04/2020. 6 | // Copyright © 2020 Org. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | import SENetworking_iOS 12 | 13 | // MARK: - API Configuration 14 | struct AppConfiguration { 15 | var apiKey: String = "2696829a81b1b5827d515ff121700838" 16 | var apiBaseURL: String = "http://api.themoviedb.org" 17 | var imagesBaseURL: String = "http://image.tmdb.org" 18 | } 19 | 20 | class DIContainer { 21 | static let shared = DIContainer() 22 | 23 | lazy var appConfiguration = AppConfiguration() 24 | 25 | lazy var apiDataTransferService: DataTransferService = { 26 | let config = ApiDataNetworkConfig(baseURL: URL(string: appConfiguration.apiBaseURL)!, 27 | queryParameters: ["api_key": appConfiguration.apiKey, 28 | "language": NSLocale.preferredLanguages.first ?? "en"]) 29 | 30 | let apiDataNetwork = DefaultNetworkService(config: config) 31 | return DefaultDataTransferService(with: apiDataNetwork) 32 | }() 33 | 34 | lazy var imageDataTransferService: DataTransferService = { 35 | let config = ApiDataNetworkConfig(baseURL: URL(string: appConfiguration.imagesBaseURL)!) 36 | let imagesDataNetwork = DefaultNetworkService(config: config) 37 | return DefaultDataTransferService(with: imagesDataNetwork) 38 | }() 39 | } 40 | 41 | // MARK: - Endpoints definitions 42 | 43 | struct APIEndpoints { 44 | static func getMovies(with moviesRequestDTO: MoviesRequest) -> Endpoint { 45 | return Endpoint(path: "3/search/movie", 46 | method: .get, 47 | queryParametersEncodable: moviesRequestDTO) 48 | } 49 | 50 | static func getMovieImage(path: String) -> Endpoint { 51 | return Endpoint(path: "t/p/w500\(path)", 52 | method: .get, 53 | responseDecoder: RawDataResponseDecoder()) 54 | } 55 | } 56 | 57 | // MARK: - API Data (Data Transfer Objects) 58 | struct MoviesRequest: Encodable { 59 | let query: String 60 | let page: Int 61 | } 62 | 63 | struct MoviesResponse: Decodable { 64 | struct Movie: Decodable { 65 | private enum CodingKeys: String, CodingKey { 66 | case title 67 | case overview 68 | case posterPath = "poster_path" 69 | } 70 | let title: String 71 | let overview: String 72 | let posterPath: String? 73 | } 74 | 75 | private enum CodingKeys: String, CodingKey { 76 | case movies = "results" 77 | } 78 | let movies: [Movie] 79 | } 80 | 81 | // MARK: - Example: downloads movie batman and shows first movie title and image 82 | 83 | class ViewController: UIViewController { 84 | 85 | @IBOutlet private weak var overviewTextView: UITextView! 86 | @IBOutlet private weak var imageView: UIImageView! 87 | @IBOutlet private weak var loadingView: UIActivityIndicatorView! 88 | private let mainQueue: DispatchQueue = .main 89 | 90 | private let dataTransferService: DataTransferService = DIContainer.shared.apiDataTransferService 91 | private let imageTransferService: DataTransferService = DIContainer.shared.imageDataTransferService 92 | 93 | override func viewDidLoad() { 94 | super.viewDidLoad() 95 | 96 | loadData() 97 | } 98 | 99 | func loadData() { 100 | 101 | let endpoint = APIEndpoints.getMovies(with: MoviesRequest(query: "Batman Begins", page: 1)) 102 | dataTransferService.request(with: endpoint) { [weak self] result in 103 | guard let self else { return } 104 | self.mainQueue.async { 105 | guard case let .success(response) = result, let movie = response.movies.first else { return } 106 | self.title = movie.title 107 | self.overviewTextView.text = movie.overview 108 | 109 | self.loadPosterImage(posterPath: movie.posterPath) 110 | } 111 | } 112 | } 113 | 114 | func loadPosterImage(posterPath: String?) { 115 | guard let posterPath = posterPath else { return } 116 | self.imageTransferService.request(with: APIEndpoints.getMovieImage(path: posterPath)) { result in 117 | self.mainQueue.async { 118 | guard case let .success(imageData) = result else { return } 119 | self.imageView.image = UIImage(data: imageData) 120 | } 121 | } 122 | } 123 | } 124 | --------------------------------------------------------------------------------