diff --git a/APIClient.xcodeproj/project.pbxproj b/APIClient.xcodeproj/project.pbxproj index d57524a..5c58a56 100644 --- a/APIClient.xcodeproj/project.pbxproj +++ b/APIClient.xcodeproj/project.pbxproj @@ -8,23 +8,31 @@ /* Begin PBXBuildFile section */ 872A275C1CF0D87100A988C4 /* APIResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 872A275B1CF0D87100A988C4 /* APIResource.swift */; }; + 8744AA581CF2199F001B0470 /* SWViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8744AA571CF2199F001B0470 /* SWViewController.swift */; }; 874D06591CEF295E009A494D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 874D06581CEF295E009A494D /* AppDelegate.swift */; }; 874D065E1CEF295E009A494D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 874D065C1CEF295E009A494D /* Main.storyboard */; }; 874D06601CEF295E009A494D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 874D065F1CEF295E009A494D /* Assets.xcassets */; }; 874D06631CEF295E009A494D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 874D06611CEF295E009A494D /* LaunchScreen.storyboard */; }; + 874D066B1CEF2BC0009A494D /* SWAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 874D066A1CEF2BC0009A494D /* SWAPI.swift */; }; A526FDEE5BF2D1BC3C97B9FA /* Pods_APIClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD8A5B3E1266D5298CABE44A /* Pods_APIClient.framework */; }; + DCE5C8C61CFB621C0025C611 /* StarWars.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCE5C8C51CFB621C0025C611 /* StarWars.swift */; }; + DCE5C8C81CFB66320025C611 /* SWView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCE5C8C71CFB66320025C611 /* SWView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 872A275B1CF0D87100A988C4 /* APIResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIResource.swift; sourceTree = ""; }; + 8744AA571CF2199F001B0470 /* SWViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SWViewController.swift; sourceTree = ""; }; 874D06551CEF295E009A494D /* APIClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = APIClient.app; sourceTree = BUILT_PRODUCTS_DIR; }; 874D06581CEF295E009A494D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 874D065D1CEF295E009A494D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 874D065F1CEF295E009A494D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 874D06621CEF295E009A494D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 874D06641CEF295E009A494D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 874D066A1CEF2BC0009A494D /* SWAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SWAPI.swift; sourceTree = ""; }; 93EFAB13AE62F1B6FB2683B2 /* Pods-APIClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APIClient.debug.xcconfig"; path = "Pods/Target Support Files/Pods-APIClient/Pods-APIClient.debug.xcconfig"; sourceTree = ""; }; BD8A5B3E1266D5298CABE44A /* Pods_APIClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_APIClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DCE5C8C51CFB621C0025C611 /* StarWars.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StarWars.swift; sourceTree = ""; }; + DCE5C8C71CFB66320025C611 /* SWView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SWView.swift; sourceTree = ""; }; FFE13D543A95D28F27CFBDA4 /* Pods-APIClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APIClient.release.xcconfig"; path = "Pods/Target Support Files/Pods-APIClient/Pods-APIClient.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -43,6 +51,7 @@ 872A27571CF0D4E200A988C4 /* View Controller */ = { isa = PBXGroup; children = ( + 8744AA571CF2199F001B0470 /* SWViewController.swift */, ); name = "View Controller"; sourceTree = ""; @@ -50,6 +59,7 @@ 872A27581CF0D4EB00A988C4 /* View */ = { isa = PBXGroup; children = ( + DCE5C8C71CFB66320025C611 /* SWView.swift */, ); name = View; sourceTree = ""; @@ -57,6 +67,8 @@ 872A27591CF0D64A00A988C4 /* Model */ = { isa = PBXGroup; children = ( + 874D066A1CEF2BC0009A494D /* SWAPI.swift */, + DCE5C8C51CFB621C0025C611 /* StarWars.swift */, 872A275B1CF0D87100A988C4 /* APIResource.swift */, ); name = Model; @@ -242,8 +254,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 874D066B1CEF2BC0009A494D /* SWAPI.swift in Sources */, 872A275C1CF0D87100A988C4 /* APIResource.swift in Sources */, 874D06591CEF295E009A494D /* AppDelegate.swift in Sources */, + 8744AA581CF2199F001B0470 /* SWViewController.swift in Sources */, + DCE5C8C81CFB66320025C611 /* SWView.swift in Sources */, + DCE5C8C61CFB621C0025C611 /* StarWars.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/APIClient/APIResource.swift b/APIClient/APIResource.swift index 6bb455f..fa7ce9c 100644 --- a/APIClient/APIResource.swift +++ b/APIClient/APIResource.swift @@ -24,7 +24,7 @@ import AwesomeCache You are free to use this utility or implement your own way to keep track of loaded and not loaded resources. - seealso: MoyaProvider.request(_:completion:) -*/ + */ enum APIResource { case notLoaded(Target) @@ -91,4 +91,4 @@ protocol Cacheable { /// A key used for identification in a cache var cacheIdentifier: String { get } -} +} \ No newline at end of file diff --git a/APIClient/AppDelegate.swift b/APIClient/AppDelegate.swift index 630c3ed..250aeaa 100644 --- a/APIClient/AppDelegate.swift +++ b/APIClient/AppDelegate.swift @@ -7,16 +7,22 @@ // import UIKit +import Moya @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - + + /// The SWAPI Provider representing the Server + let swAPI = MoyaProvider() + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + + (window!.rootViewController as! SWViewController).swAPI = swAPI + return true } } - diff --git a/APIClient/Base.lproj/Main.storyboard b/APIClient/Base.lproj/Main.storyboard index 69b2fbf..6e56b22 100644 --- a/APIClient/Base.lproj/Main.storyboard +++ b/APIClient/Base.lproj/Main.storyboard @@ -1,44 +1,101 @@ - + + - - + + - - - - - - - - - - - - - - - - - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + - + - + diff --git a/APIClient/Info.plist b/APIClient/Info.plist index 40c6215..8c7d69f 100644 --- a/APIClient/Info.plist +++ b/APIClient/Info.plist @@ -22,6 +22,17 @@ 1 LSRequiresIPhoneOS + NSAppTransportSecurity + + NSExceptionDomains + + swapi.co + + NSExceptionAllowsInsecureHTTPLoads + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/APIClient/SWAPI.swift b/APIClient/SWAPI.swift new file mode 100644 index 0000000..2284786 --- /dev/null +++ b/APIClient/SWAPI.swift @@ -0,0 +1,66 @@ +//SWAPI +// APIClient + +import Foundation +import Moya +import Freddy + + + +/// The abstraction of the [SWAPI](http://swapi.co) REST API. +enum SWAPI: Moya.TargetType, Cacheable { + + + /// MARK: Endpoints + + case planets (NamedResource) + case planets_id (NamedResource) + case planets_schema (NamedResource) + + + // MARK: Network Abstraction + + var baseURL: NSURL { return NSURL(string: "http://swapi.co/api")! } + + var path: String { + switch self { + case .planets(let namedResource): return "/planets/\(namedResource.name)" + case .planets_id(let namedResource): return "/planets_id/\(namedResource)" + case .planets_schema(let namedResource): return "/planets_schema/\(namedResource)" + } + } + + var method: Moya.Method { return .GET } + + var parameters: [String : AnyObject]? { + switch self { + default: return nil + } + } + + // TODO: Provide sample data for testing + var sampleData: NSData { + switch self { + case .planets(let namedResource): return "{\"name\":Tatooine,\"rotation_period\":23,\"orbital_period\":304,\"diameter\":10465,\"climate\":arid,\"gravity\":1}".dataUsingEncoding(NSUTF8StringEncoding)! + default: return "".dataUsingEncoding(NSUTF8StringEncoding)! // TODO: Provide more sample data for testing + } + } + + var cacheIdentifier: String { + return self.path + } +} + +struct NamedResource: Freddy.JSONDecodable { + + let name: String + + init(name: String) { + self.name = name + } + + init(json: JSON) throws { + self.name = try json.string("name") + } + +} \ No newline at end of file diff --git a/APIClient/SWView.swift b/APIClient/SWView.swift new file mode 100644 index 0000000..1969183 --- /dev/null +++ b/APIClient/SWView.swift @@ -0,0 +1,16 @@ +// +// SWView.swift +// APIClient +// +// Created by Felix Meissner on 5/29/16. +// Copyright © 2016 iOS Dev Kurs Universität Heidelberg. All rights reserved. +// + +import Foundation +import UIKit + +class SWPlanetsTableViewCell: UITableViewCell { + + + +} \ No newline at end of file diff --git a/APIClient/SWViewController.swift b/APIClient/SWViewController.swift new file mode 100644 index 0000000..a4c98d8 --- /dev/null +++ b/APIClient/SWViewController.swift @@ -0,0 +1,87 @@ + +// Created by Nils Fischer on 22.05.16. +// Copyright © 2016 iOS Dev Kurs Universität Heidelberg. All rights reserved. +// + +import UIKit +import Freddy +import Moya +import AlamofireImage + +class SWViewController: UIViewController, UITextFieldDelegate { + + /// The SWAPI provider that handles requests for server resources + var swAPI: MoyaProvider! + + + + var swPlanet: SWPlanet? { + didSet { + // Configure view + self.searchTextfield.text = swPlanet?.name + self.diameterLabel.text = swPlanet?.diameter + self.rotation_periodLabel.text = swPlanet?.rotation_period + self.orbital_periodLabel.text = swPlanet?.orbital_period + self.gravityLabel.text = swPlanet?.gravity + } + } + + // MARK: Interface Elements + + @IBOutlet var searchTextfield: UITextField! + @IBOutlet var loadingIndicator: UIActivityIndicatorView! + @IBOutlet var diameterLabel: UILabel! + @IBOutlet var rotation_periodLabel: UILabel! + @IBOutlet var orbital_periodLabel: UILabel! + @IBOutlet var gravityLabel: UILabel! + + + override func viewDidLoad() { + super.viewDidLoad() + self.swPlanet = nil + } + + + // MARK: Actions + + @IBAction func Search(sender: AnyObject) { + textFieldShouldReturn(self.searchTextfield) + } + + // MARK: Loading Resources + + func loadSWPlanet(swPlanet: NamedResource) { + loadingIndicator.startAnimating() + swAPI.request(.planets(swPlanet)) { result in + self.loadingIndicator.stopAnimating() + switch result { + case .Success(let response): + do { + try response.filterSuccessfulStatusCodes() + // Try to parse the response to JSON + let json = try JSON(data: response.data) + // Try to decode the JSON to the required type + let swPlanet = try SWPlanet(json: json) + // Configure view according to model + self.swPlanet = swPlanet + } catch { + print(error) + } + case .Failure(let error): + print(error) + } + } + } + + // MARK: User Interaction + + func textFieldShouldReturn(textField: UITextField) -> Bool { + guard let name = textField.text else { + return true + } + let SWPLanet = NamedResource(name: name) + self.loadSWPlanet(SWPLanet) + return true + } +} + diff --git a/APIClient/StarWars.swift b/APIClient/StarWars.swift new file mode 100644 index 0000000..56c232b --- /dev/null +++ b/APIClient/StarWars.swift @@ -0,0 +1,33 @@ +// +// StarWars.swift +// APIClient +// +// Created by Felix Meissner on 5/29/16. +// Copyright © 2016 iOS Dev Kurs Universität Heidelberg. All rights reserved. +// + +import Foundation +import Freddy +import UIKit + +struct SWPlanet: JSONDecodable { + + /// The name of the resource, such as "Tatooine" + let name: String + let diameter: String + let rotation_period: String + let orbital_period: String + let gravity: String + + + + + init(json: JSON) throws { + self.name = try json.string("name") + self.diameter = try json.string("diameter") + self.rotation_period = try json.string("rotation_period") + self.orbital_period = try json.string("orbital_period") + self.gravity = try json.string("gravity") + } + +} \ No newline at end of file diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 41c4758..283916b 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -789,7 +789,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0700; + LastUpgradeCheck = 0730; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -1041,6 +1041,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1070,6 +1071,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Freddy/Freddy.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Freddy; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1100,6 +1102,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1129,6 +1132,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/AlamofireImage/AlamofireImage.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = AlamofireImage; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1158,6 +1162,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1188,6 +1193,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/AwesomeCache/AwesomeCache.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = AwesomeCache; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1218,6 +1224,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1248,6 +1255,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Freddy/Freddy.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Freddy; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1277,6 +1285,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Moya; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1379,6 +1388,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/AlamofireImage/AlamofireImage.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = AlamofireImage; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1409,6 +1419,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/AwesomeCache/AwesomeCache.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = AwesomeCache; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1438,6 +1449,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "${PRODUCT_BUNDLE_IDENTIFIER}"; PRODUCT_NAME = Moya; SDKROOT = iphoneos; SKIP_INSTALL = YES; diff --git a/Pods/Target Support Files/Alamofire/Info.plist b/Pods/Target Support Files/Alamofire/Info.plist index d4b3c29..2edde6e 100644 --- a/Pods/Target Support Files/Alamofire/Info.plist +++ b/Pods/Target Support Files/Alamofire/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.3.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.3.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Pods/Target Support Files/AlamofireImage/Info.plist b/Pods/Target Support Files/AlamofireImage/Info.plist index e526849..8734f42 100644 --- a/Pods/Target Support Files/AlamofireImage/Info.plist +++ b/Pods/Target Support Files/AlamofireImage/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.4.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.4.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Pods/Target Support Files/AwesomeCache/Info.plist b/Pods/Target Support Files/AwesomeCache/Info.plist index 0a12077..b548963 100644 --- a/Pods/Target Support Files/AwesomeCache/Info.plist +++ b/Pods/Target Support Files/AwesomeCache/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Pods/Target Support Files/Freddy/Info.plist b/Pods/Target Support Files/Freddy/Info.plist index 7f71fff..06b8339 100644 --- a/Pods/Target Support Files/Freddy/Info.plist +++ b/Pods/Target Support Files/Freddy/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.1.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Pods/Target Support Files/Moya/Info.plist b/Pods/Target Support Files/Moya/Info.plist index 2b2e520..30de714 100644 --- a/Pods/Target Support Files/Moya/Info.plist +++ b/Pods/Target Support Files/Moya/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 6.4.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 6.4.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Pods/Target Support Files/Result/Info.plist b/Pods/Target Support Files/Result/Info.plist index 0a12077..b548963 100644 --- a/Pods/Target Support Files/Result/Info.plist +++ b/Pods/Target Support Files/Result/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass +