From f494a0e9a27833adbbd78f8f3f38ecde4fbf87b6 Mon Sep 17 00:00:00 2001 From: dhint4 Date: Mon, 2 Oct 2017 21:11:10 -0500 Subject: [PATCH] Swift 4 Release --- AlamoRecord.podspec | 4 +- Example/AlamoRecord.xcodeproj/project.pbxproj | 47 +- Example/AlamoRecord/BaseTableViewCell.swift | 9 +- Example/AlamoRecord/Comment.swift | 4 - .../CreatePostViewController.swift | 2 +- Example/AlamoRecord/PostCell.swift | 4 +- Example/AlamoRecord/PostsViewController.swift | 2 +- Example/Podfile | 2 +- Example/Podfile.lock | 54 +- Example/Pods/Alamofire/LICENSE | 2 +- Example/Pods/Alamofire/README.md | 206 +- Example/Pods/Alamofire/Source/AFError.swift | 2 +- Example/Pods/Alamofire/Source/Alamofire.swift | 4 +- .../Source/DispatchQueue+Alamofire.swift | 2 +- .../Alamofire/Source/MultipartFormData.swift | 4 +- .../Source/NetworkReachabilityManager.swift | 25 +- .../Pods/Alamofire/Source/Notifications.swift | 2 +- .../Alamofire/Source/ParameterEncoding.swift | 7 +- Example/Pods/Alamofire/Source/Request.swift | 18 +- Example/Pods/Alamofire/Source/Response.swift | 2 +- .../Source/ResponseSerialization.swift | 5 +- Example/Pods/Alamofire/Source/Result.swift | 101 +- .../Alamofire/Source/ServerTrustPolicy.swift | 2 +- .../Alamofire/Source/SessionDelegate.swift | 18 +- .../Alamofire/Source/SessionManager.swift | 2 +- .../Pods/Alamofire/Source/TaskDelegate.swift | 19 +- Example/Pods/Alamofire/Source/Timeline.swift | 2 +- .../Pods/Alamofire/Source/Validation.swift | 8 +- Example/Pods/AlamofireObjectMapper/README.md | 29 +- .../KeyboardSpy/Classes/KeyboardSpy.swift | 12 +- .../Classes/KeyboardSpyAgent.swift | 2 +- Example/Pods/KeyboardSpy/README.md | 90 +- .../Local Podspecs/AlamoRecord.podspec.json | 6 +- Example/Pods/Manifest.lock | 54 +- .../Sources/Swift/MarqueeLabel.swift | 52 +- Example/Pods/NotificationBannerSwift/LICENSE | 0 .../Classes/BannerColors.swift | 0 .../Classes/BannerHapticGenerator.swift | 0 .../Classes/BannerPositionFrame.swift | 0 .../Classes/BannerStyle.swift | 0 .../Classes/BaseNotificationBanner.swift | 105 +- .../Classes/NotificationBanner.swift | 19 +- .../Classes/NotificationBannerQueue.swift | 7 + .../Classes/NotificationBannerUtilities.swift | 19 + .../Classes/StatusBarNotificationBanner.swift | 23 +- .../Pods/NotificationBannerSwift/README.md | 13 +- Example/Pods/ObjectMapper/README-CN.md | 4 +- .../Pods/ObjectMapper/Sources/FromJSON.swift | 20 +- .../Sources/HexColorTransform.swift | 20 +- .../Sources/ISO8601DateTransform.swift | 18 +- .../Sources/ImmutableMappable.swift | 23 +- .../Sources/IntegerOperators.swift | 80 +- Example/Pods/ObjectMapper/Sources/Map.swift | 32 +- .../Pods/ObjectMapper/Sources/MapError.swift | 2 +- .../Pods/ObjectMapper/Sources/Mappable.swift | 9 +- .../Pods/ObjectMapper/Sources/Mapper.swift | 37 +- .../Sources/NSDecimalNumberTransform.swift | 5 +- .../Pods/ObjectMapper/Sources/Operators.swift | 12 +- .../Pods/ObjectMapper/Sources/ToJSON.swift | 16 +- .../Sources/TransformOperators.swift | 31 +- .../ObjectMapper/Sources/URLTransform.swift | 8 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1873 ++++++++--------- Example/Pods/SnapKit/README.md | 14 +- Example/Pods/SnapKit/Source/Constraint.swift | 8 +- .../SnapKit/Source/ConstraintAttributes.swift | 4 +- .../Source/ConstraintConstantTarget.swift | 2 +- .../Pods/SnapKit/Source/ConstraintDSL.swift | 4 +- .../SnapKit/Source/ConstraintInsets.swift | 2 +- .../SnapKit/Source/ConstraintPriority.swift | 13 +- .../SnapKit/Source/ConstraintRelation.swift | 2 +- .../SnapKit/Source/ConstraintViewDSL.swift | 16 +- Example/Pods/SnapKit/Source/Debugging.swift | 6 +- Example/Pods/SnapKit/Source/Typealiases.swift | 37 + .../AlamoRecord/Info.plist | 2 +- .../Target Support Files/Alamofire/Info.plist | 2 +- .../AlamofireObjectMapper/Info.plist | 2 +- .../KeyboardSpy/Info.plist | 2 +- .../MarqueeLabel/Info.plist | 2 +- .../NotificationBannerSwift/Info.plist | 2 +- .../ObjectMapper/Info.plist | 2 +- .../ObjectMapper/ObjectMapper.xcconfig | 2 +- ...moRecord_Example-acknowledgements.markdown | 2 +- ...AlamoRecord_Example-acknowledgements.plist | 2 +- .../Pods-AlamoRecord_Example-frameworks.sh | 53 +- .../Pods-AlamoRecord_Example-resources.sh | 22 +- .../Pods-Tests-acknowledgements.markdown | 2 +- .../Pods-Tests-acknowledgements.plist | 2 +- .../Pods-Tests/Pods-Tests-frameworks.sh | 37 +- .../Pods-Tests/Pods-Tests-resources.sh | 22 +- .../Target Support Files/SnapKit/Info.plist | 2 +- Example/Tests/Post.swift | 4 - README.md | 17 +- 92 files changed, 1956 insertions(+), 1513 deletions(-) mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/LICENSE mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerColors.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerHapticGenerator.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerPositionFrame.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerStyle.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BaseNotificationBanner.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBanner.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerQueue.swift create mode 100644 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerUtilities.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/StatusBarNotificationBanner.swift mode change 100644 => 100755 Example/Pods/NotificationBannerSwift/README.md create mode 100644 Example/Pods/SnapKit/Source/Typealiases.swift diff --git a/AlamoRecord.podspec b/AlamoRecord.podspec index 74529ac..7f47ed6 100644 --- a/AlamoRecord.podspec +++ b/AlamoRecord.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AlamoRecord' - s.version = '1.0.4' + s.version = '1.1.0' s.summary = 'An elegant Alamofire wrapper inspired by ActiveRecord.' s.description = <<-DESC AlamoRecord is a powerful yet simple framework that eliminates the often complex networking layer that exists between your networking framework and your application. AlamoRecord uses the power of AlamoFire, AlamofireObjectMapper and the concepts behind the ActiveRecord pattern to create a networking layer that makes interacting with your API easier than ever. @@ -18,5 +18,5 @@ AlamoRecord is a powerful yet simple framework that eliminates the often complex s.watchos.deployment_target = '2.0' s.source_files = 'AlamoRecord/Classes/**/*' - s.dependency 'AlamofireObjectMapper', '~> 4.1' + s.dependency 'AlamofireObjectMapper', '~> 5.0' end diff --git a/Example/AlamoRecord.xcodeproj/project.pbxproj b/Example/AlamoRecord.xcodeproj/project.pbxproj index ad63446..ba3a5ef 100644 --- a/Example/AlamoRecord.xcodeproj/project.pbxproj +++ b/Example/AlamoRecord.xcodeproj/project.pbxproj @@ -344,6 +344,7 @@ CreatedOnToolsVersion = 8.3.2; LastSwiftMigration = 0830; ProvisioningStyle = Automatic; + TestTargetID = 607FACCF1AFB9204008FA782; }; 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; @@ -396,9 +397,26 @@ files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework", + "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", + "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework", + "${BUILT_PRODUCTS_DIR}/KeyboardSpy/KeyboardSpy.framework", + "${BUILT_PRODUCTS_DIR}/MarqueeLabel/MarqueeLabel.framework", + "${BUILT_PRODUCTS_DIR}/NotificationBannerSwift/NotificationBannerSwift.framework", + "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework", + "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamoRecord.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireObjectMapper.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KeyboardSpy.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MarqueeLabel.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NotificationBannerSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -411,13 +429,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-AlamoRecord_Example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 704553F43CA6F79D9961802D /* [CP] Copy Pods Resources */ = { @@ -441,13 +462,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Tests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; A4988286A4270C32B90B0EA3 /* [CP] Copy Pods Resources */ = { @@ -471,9 +495,18 @@ files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework", + "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", + "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework", + "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamoRecord.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireObjectMapper.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -578,7 +611,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AlamoRecord_Example.app/AlamoRecord_Example"; }; name = Debug; }; @@ -595,7 +629,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.daltron.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AlamoRecord_Example.app/AlamoRecord_Example"; }; name = Release; }; @@ -697,7 +732,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -712,7 +747,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/Example/AlamoRecord/BaseTableViewCell.swift b/Example/AlamoRecord/BaseTableViewCell.swift index 491b836..09a40e0 100644 --- a/Example/AlamoRecord/BaseTableViewCell.swift +++ b/Example/AlamoRecord/BaseTableViewCell.swift @@ -15,7 +15,14 @@ class BaseTableViewCell: UITableViewCell { } internal var tableView: UITableView { - return superview?.superview as! UITableView + var view = superview + while view != nil { + if let tableView = view as? UITableView { + return tableView + } + view = view?.superview + } + fatalError("tableView was not found for instance of BaseTableViewCell") } internal var indexPath: IndexPath { diff --git a/Example/AlamoRecord/Comment.swift b/Example/AlamoRecord/Comment.swift index 0b4953c..efb42e6 100644 --- a/Example/AlamoRecord/Comment.swift +++ b/Example/AlamoRecord/Comment.swift @@ -28,10 +28,6 @@ class Comment: AlamoRecordObject { super.init(map: map) } - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - override func mapping(map: Map) { super.mapping(map: map) postId <- map["postId"] diff --git a/Example/AlamoRecord/CreatePostViewController.swift b/Example/AlamoRecord/CreatePostViewController.swift index e9f0837..389ddb7 100644 --- a/Example/AlamoRecord/CreatePostViewController.swift +++ b/Example/AlamoRecord/CreatePostViewController.swift @@ -45,7 +45,7 @@ class CreatePostViewController: UIViewController { fatalError("init(coder:) has not been implemented") } - private dynamic func onSaveButtonPressed() { + @objc private dynamic func onSaveButtonPressed() { let title: String = createView.titleTextField.text ?? "" let body: String = createView.bodyTextView.text ?? "" diff --git a/Example/AlamoRecord/PostCell.swift b/Example/AlamoRecord/PostCell.swift index efcd1a4..cc9d843 100644 --- a/Example/AlamoRecord/PostCell.swift +++ b/Example/AlamoRecord/PostCell.swift @@ -118,11 +118,11 @@ class PostCell: BaseTableViewCell { bodyLabel.text = post.body } - private dynamic func commentsButtonPressed() { + @objc private dynamic func commentsButtonPressed() { delegate?.commentsButtonPressed(at: indexPath.row) } - private dynamic func destroyButtonPressed() { + @objc private dynamic func destroyButtonPressed() { delegate?.destroyButtonPressed(at: indexPath.row) } } diff --git a/Example/AlamoRecord/PostsViewController.swift b/Example/AlamoRecord/PostsViewController.swift index 4ce549e..79aae1c 100644 --- a/Example/AlamoRecord/PostsViewController.swift +++ b/Example/AlamoRecord/PostsViewController.swift @@ -35,7 +35,7 @@ class PostsViewController: UIViewController { fatalError("init(coder:) has not been implemented") } - private dynamic func onCreatePostButtonPressed() { + @objc private dynamic func onCreatePostButtonPressed() { let createController = CreatePostViewController(delegate: self) navigationController?.pushViewController(createController, animated: true) } diff --git a/Example/Podfile b/Example/Podfile index ab1b9c9..1d3fb8e 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -4,7 +4,7 @@ platform :ios, '9.0' target 'AlamoRecord_Example' do pod 'AlamoRecord', :path => '../' pod 'SnapKit' - pod 'NotificationBannerSwift', :git => 'https://github.com/Daltron/NotificationBanner', :branch => 'master' + pod 'NotificationBannerSwift' pod 'KeyboardSpy' end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 425a486..6f1d7af 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,46 +1,38 @@ PODS: - - Alamofire (4.4.0) - - AlamofireObjectMapper (4.1.0): + - Alamofire (4.5.1) + - AlamofireObjectMapper (5.0.0): - Alamofire (~> 4.1) - - ObjectMapper (~> 2.0) - - AlamoRecord (1.0.0): - - AlamofireObjectMapper (~> 4.1) - - KeyboardSpy (1.0) - - MarqueeLabel/Swift (3.1.0) - - NotificationBannerSwift (1.4.0): + - ObjectMapper (~> 3.0) + - AlamoRecord (1.0.4): + - AlamofireObjectMapper (~> 5.0) + - KeyboardSpy (1.1) + - MarqueeLabel/Swift (3.1.3) + - NotificationBannerSwift (1.5.1): - MarqueeLabel/Swift - - SnapKit (~> 3.2) - - ObjectMapper (2.2.5) - - SnapKit (3.2.0) + - SnapKit (~> 4.0) + - ObjectMapper (3.0.0) + - SnapKit (4.0.0) DEPENDENCIES: - AlamoRecord (from `../`) - KeyboardSpy - - NotificationBannerSwift (from `https://github.com/Daltron/NotificationBanner`, branch `master`) + - NotificationBannerSwift - SnapKit EXTERNAL SOURCES: AlamoRecord: - :path: "../" - NotificationBannerSwift: - :branch: master - :git: https://github.com/Daltron/NotificationBanner - -CHECKOUT OPTIONS: - NotificationBannerSwift: - :commit: 5049c7454a61048846b754c9d11884d427d5965d - :git: https://github.com/Daltron/NotificationBanner + :path: ../ SPEC CHECKSUMS: - Alamofire: dc44b1600b800eb63da6a19039a0083d62a6a62d - AlamofireObjectMapper: 435adc82f5b367679bd9e71c4974a54efd0b2521 - AlamoRecord: 446894ecda4ab00b76d241f7ea75c6dfaaf3638f - KeyboardSpy: edb2ab362c69d4b98b41b5a46b773e65209c2b87 - MarqueeLabel: 061d04687ee5485ac035b45c8e292274a87afe01 - NotificationBannerSwift: 24070736129e9ccc6614c0a91d09c04e7080ddd1 - ObjectMapper: fb30f71e08470d1e5a20b199fafe1246281db898 - SnapKit: 1ca44df72cfa543218d177cb8aab029d10d86ea7 + Alamofire: 2d95912bf4c34f164fdfc335872e8c312acaea4a + AlamofireObjectMapper: 5fafc816351cbbc0d486611aaeba7461c0cbad49 + AlamoRecord: 3b9bd697dea11d12b33b19da3d55165201c7e290 + KeyboardSpy: 4552ddd413d3b856b3b396422fccb8e1b3008524 + MarqueeLabel: baa5753dcbd36dca080e1f5c589a665aa5c906f1 + NotificationBannerSwift: 666e6c392238561c17a52db4c50e6f00d9942e0d + ObjectMapper: 92230db59bf8f341a5c3a3cf0b9fbdde3cf0d87f + SnapKit: a42d492c16e80209130a3379f73596c3454b7694 -PODFILE CHECKSUM: f1d345afa4d2a4f473d0da7d393116df11e67c67 +PODFILE CHECKSUM: 3f63a2fa4d48882e49f031da151d69b53b92a842 -COCOAPODS: 1.2.1 +COCOAPODS: 1.3.1 diff --git a/Example/Pods/Alamofire/LICENSE b/Example/Pods/Alamofire/LICENSE index 4cfbf72..1654602 100644 --- a/Example/Pods/Alamofire/LICENSE +++ b/Example/Pods/Alamofire/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/README.md b/Example/Pods/Alamofire/README.md index 12ea4c7..f190df9 100644 --- a/Example/Pods/Alamofire/README.md +++ b/Example/Pods/Alamofire/README.md @@ -1,9 +1,9 @@ -![Alamofire: Elegant Networking in Swift](https://raw.githubusercontent.com/Alamofire/Alamofire/assets/alamofire.png) +![Alamofire: Elegant Networking in Swift](https://raw.githubusercontent.com/Alamofire/Alamofire/master/alamofire.png) [![Build Status](https://travis-ci.org/Alamofire/Alamofire.svg?branch=master)](https://travis-ci.org/Alamofire/Alamofire) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Alamofire.svg)](https://img.shields.io/cocoapods/v/Alamofire.svg) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Platform](https://img.shields.io/cocoapods/p/Alamofire.svg?style=flat)](http://cocoadocs.org/docsets/Alamofire) +[![Platform](https://img.shields.io/cocoapods/p/Alamofire.svg?style=flat)](https://alamofire.github.io/Alamofire) [![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat)](http://twitter.com/AlamofireSF) [![Gitter](https://badges.gitter.im/Alamofire/Alamofire.svg)](https://gitter.im/Alamofire/Alamofire?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) @@ -45,7 +45,7 @@ Alamofire is an HTTP networking library written in Swift. - [x] TLS Certificate and Public Key Pinning - [x] Network Reachability - [x] Comprehensive Unit and Integration Test Coverage -- [x] [Complete Documentation](http://cocoadocs.org/docsets/Alamofire) +- [x] [Complete Documentation](https://alamofire.github.io/Alamofire) ## Component Libraries @@ -57,8 +57,8 @@ In order to keep Alamofire focused specifically on core networking implementatio ## Requirements - iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ -- Xcode 8.1+ -- Swift 3.0+ +- Xcode 8.3+ +- Swift 3.1+ ## Migration Guides @@ -84,7 +84,7 @@ In order to keep Alamofire focused specifically on core networking implementatio $ gem install cocoapods ``` -> CocoaPods 1.1.0+ is required to build Alamofire 4.0.0+. +> CocoaPods 1.1+ is required to build Alamofire 4.0+. To integrate Alamofire into your Xcode project using CocoaPods, specify it in your `Podfile`: @@ -94,7 +94,7 @@ platform :ios, '10.0' use_frameworks! target '' do - pod 'Alamofire', '~> 4.4' + pod 'Alamofire', '~> 4.5' end ``` @@ -118,7 +118,7 @@ $ brew install carthage To integrate Alamofire into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "Alamofire/Alamofire" ~> 4.4 +github "Alamofire/Alamofire" ~> 4.5 ``` Run `carthage update` to build the framework and drag the built `Alamofire.framework` into your Xcode project. @@ -137,21 +137,21 @@ dependencies: [ ### Manually -If you prefer not to use either of the aforementioned dependency managers, you can integrate Alamofire into your project manually. +If you prefer not to use any of the aforementioned dependency managers, you can integrate Alamofire into your project manually. #### Embedded Framework - Open up Terminal, `cd` into your top-level project directory, and run the following command "if" your project is not initialized as a git repository: ```bash -$ git init -``` + $ git init + ``` - Add Alamofire as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following command: ```bash -$ git submodule add https://github.com/Alamofire/Alamofire.git -``` + $ git submodule add https://github.com/Alamofire/Alamofire.git + ``` - Open the new `Alamofire` folder, and drag the `Alamofire.xcodeproj` into the Project Navigator of your application's Xcode project. @@ -191,13 +191,16 @@ Handling the `Response` of a `Request` made in Alamofire involves chaining a res ```swift Alamofire.request("https://httpbin.org/get").responseJSON { response in - print(response.request) // original URL request - print(response.response) // HTTP URL response - print(response.data) // server data - print(response.result) // result of response serialization + print("Request: \(String(describing: response.request))") // original url request + print("Response: \(String(describing: response.response))") // http url response + print("Result: \(response.result)") // response serialization result + + if let json = response.result.value { + print("JSON: \(json)") // serialized json response + } - if let JSON = response.result.value { - print("JSON: \(JSON)") + if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { + print("Data: \(utf8Text)") // original server data as UTF8 string } } ``` @@ -243,7 +246,7 @@ func responsePropertyList( None of the response handlers perform any validation of the `HTTPURLResponse` it gets back from the server. -> For example, response status codes in the `400..<499` and `500..<599` ranges do NOT automatically trigger an `Error`. Alamofire uses [Response Validation](#response-validation) method chaining to achieve this. +> For example, response status codes in the `400..<500` and `500..<600` ranges do NOT automatically trigger an `Error`. Alamofire uses [Response Validation](#response-validation) method chaining to achieve this. #### Response Handler @@ -345,18 +348,18 @@ Alamofire.request("https://httpbin.org/get") .validate(statusCode: 200..<300) .validate(contentType: ["application/json"]) .responseData { response in - switch response.result { - case .success: - print("Validation Successful") - case .failure(let error): - print(error) - } + switch response.result { + case .success: + print("Validation Successful") + case .failure(let error): + print(error) + } } ``` #### Automatic Validation -Automatically validates status code within `200...299` range, and that the `Content-Type` header of the response matches the `Accept` header of the request, if one is provided. +Automatically validates status code within `200..<300` range, and that the `Content-Type` header of the response matches the `Accept` header of the request, if one is provided. ```swift Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in @@ -491,7 +494,7 @@ struct JSONStringArrayEncoding: ParameterEncoding { } func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - var urlRequest = urlRequest.urlRequest + var urlRequest = try urlRequest.asURLRequest() let data = try JSONSerialization.data(withJSONObject: array, options: []) @@ -612,9 +615,9 @@ Requests made in Alamofire that fetch data from a server can download the data i ```swift Alamofire.download("https://httpbin.org/image/png").responseData { response in - if let data = response.result.value { - let image = UIImage(data: data) - } + if let data = response.result.value { + let image = UIImage(data: data) + } } ``` @@ -629,8 +632,8 @@ You can also provide a `DownloadFileDestination` closure to move the file from t ```swift let destination: DownloadRequest.DownloadFileDestination = { _, _ in - let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] - let fileURL = documentsURL.appendPathComponent("pig.png") + let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] + let fileURL = documentsURL.appendingPathComponent("pig.png") return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) } @@ -638,16 +641,16 @@ let destination: DownloadRequest.DownloadFileDestination = { _, _ in Alamofire.download(urlString, to: destination).response { response in print(response) - if response.error == nil, let imagePath = response.destinationURL?.path { - let image = UIImage(contentsOfFile: imagePath) - } + if response.error == nil, let imagePath = response.destinationURL?.path { + let image = UIImage(contentsOfFile: imagePath) + } } ``` You can also use the suggested download destination API. ```swift -let destination = DownloadRequest.suggestedDownloadDestination(directory: .documentDirectory) +let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory) Alamofire.download("https://httpbin.org/image/png", to: destination) ``` @@ -661,9 +664,9 @@ Alamofire.download("https://httpbin.org/image/png") print("Download Progress: \(progress.fractionCompleted)") } .responseData { response in - if let data = response.result.value { - let image = UIImage(data: data) - } + if let data = response.result.value { + let image = UIImage(data: data) + } } ``` @@ -677,9 +680,9 @@ Alamofire.download("https://httpbin.org/image/png") print("Download Progress: \(progress.fractionCompleted)") } .responseData { response in - if let data = response.result.value { - let image = UIImage(data: data) - } + if let data = response.result.value { + let image = UIImage(data: data) + } } ``` @@ -691,34 +694,34 @@ If a `DownloadRequest` is cancelled or interrupted, the underlying URL session m ```swift class ImageRequestor { - private var resumeData: Data? - private var image: UIImage? + private var resumeData: Data? + private var image: UIImage? func fetchImage(completion: (UIImage?) -> Void) { - guard image == nil else { completion(image) ; return } + guard image == nil else { completion(image) ; return } - let destination: DownloadRequest.DownloadFileDestination = { _, _ in - let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] - let fileURL = documentsURL.appendPathComponent("pig.png") + let destination: DownloadRequest.DownloadFileDestination = { _, _ in + let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] + let fileURL = documentsURL.appendingPathComponent("pig.png") - return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) - } + return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) + } - let request: DownloadRequest + let request: DownloadRequest if let resumeData = resumeData { - request = Alamofire.download(resumingWith: resumeData) - } else { - request = Alamofire.download("https://httpbin.org/image/png") + request = Alamofire.download(resumingWith: resumeData) + } else { + request = Alamofire.download("https://httpbin.org/image/png") } request.responseData { response in - switch response.result { - case .success(let data): - self.image = UIImage(data: data) - case .failure: - self.resumeData = response.resumeData - } + switch response.result { + case .success(let data): + self.image = UIImage(data: data) + case .failure: + self.resumeData = response.resumeData + } } } } @@ -733,7 +736,7 @@ When sending relatively small amounts of data to a server using JSON or URL enco #### Uploading Data ```swift -let imageData = UIPNGRepresentation(image)! +let imageData = UIImagePNGRepresentation(image)! Alamofire.upload(imageData, to: "https://httpbin.org/post").responseJSON { response in debugPrint(response) @@ -816,7 +819,7 @@ In iOS and tvOS 10 and macOS 10.12, Apple introduced the new [URLSessionTaskMetr ```swift Alamofire.request("https://httpbin.org/get").responseJSON { response in - print(response.metrics) + print(response.metrics) } ``` @@ -824,8 +827,8 @@ It's important to note that these APIs are only available on iOS and tvOS 10 and ```swift Alamofire.request("https://httpbin.org/get").responseJSON { response in - if #available(iOS 10.0. *) { - print(response.metrics) + if #available(iOS 10.0, *) { + print(response.metrics) } } ``` @@ -854,10 +857,10 @@ Outputs: ```bash $ curl -i \ - -H "User-Agent: Alamofire/4.0.0" \ - -H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \ - -H "Accept-Language: en;q=1.0,fr;q=0.9,de;q=0.8,zh-Hans;q=0.7,zh-Hant;q=0.6,ja;q=0.5" \ - "https://httpbin.org/get?foo=bar" + -H "User-Agent: Alamofire/4.0.0" \ + -H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \ + -H "Accept-Language: en;q=1.0,fr;q=0.9,de;q=0.8,zh-Hans;q=0.7,zh-Hant;q=0.6,ja;q=0.5" \ + "https://httpbin.org/get?foo=bar" ``` --- @@ -1183,20 +1186,20 @@ The `RequestAdapter` protocol allows each `Request` made on a `SessionManager` t ```swift class AccessTokenAdapter: RequestAdapter { - private let accessToken: String + private let accessToken: String - init(accessToken: String) { - self.accessToken = accessToken - } + init(accessToken: String) { + self.accessToken = accessToken + } - func adapt(_ urlRequest: URLRequest) throws -> URLRequest { - var urlRequest = urlRequest + func adapt(_ urlRequest: URLRequest) throws -> URLRequest { + var urlRequest = urlRequest if let urlString = urlRequest.url?.absoluteString, urlString.hasPrefix("https://httpbin.org") { - urlRequest.setValue("Bearer " + accessToken, forHTTPHeaderField: "Authorization") - } + urlRequest.setValue("Bearer " + accessToken, forHTTPHeaderField: "Authorization") + } - return urlRequest + return urlRequest } } ``` @@ -1414,7 +1417,7 @@ func loadUser(completionHandler: @escaping (DataResponse) -> Void) -> Alam } loadUser { response in - if let user = userResponse.value { + if let user = response.value { print("User: { username: \(user.username), name: \(user.name) }") } } @@ -1749,24 +1752,24 @@ If you run into this problem (high probability with self-signed certificates), y ```xml - NSAppTransportSecurity - - NSExceptionDomains - - example.com - - NSExceptionAllowsInsecureHTTPLoads - - NSExceptionRequiresForwardSecrecy - - NSIncludesSubdomains - - - NSTemporaryExceptionMinimumTLSVersion - TLSv1.2 - - - + NSAppTransportSecurity + + NSExceptionDomains + + example.com + + NSExceptionAllowsInsecureHTTPLoads + + NSExceptionRequiresForwardSecrecy + + NSIncludesSubdomains + + + NSTemporaryExceptionMinimumTLSVersion + TLSv1.2 + + + ``` @@ -1809,10 +1812,15 @@ There are some important things to remember when using network reachability to d The following radars have some effect on the current implementation of Alamofire. - [`rdar://21349340`](http://www.openradar.me/radar?id=5517037090635776) - Compiler throwing warning due to toll-free bridging issue in test case -- [`rdar://26761490`](http://www.openradar.me/radar?id=5010235949318144) - Swift string interpolation causing memory leak with common usage - `rdar://26870455` - Background URL Session Configurations do not work in the simulator - `rdar://26849668` - Some URLProtocol APIs do not properly handle `URLRequest` +## Resolved Radars + +The following radars have been resolved over time after being filed against the Alamofire project. + +- [`rdar://26761490`](http://www.openradar.me/radar?id=5010235949318144) - Swift string interpolation causing memory leak with common usage (Resolved on 9/1/17 in Xcode 9 beta 6). + ## FAQ ### What's the origin of the name Alamofire? @@ -1851,4 +1859,4 @@ The community adoption of the ASF libraries has been amazing. We are greatly hum ## License -Alamofire is released under the MIT license. See LICENSE for details. +Alamofire is released under the MIT license. [See LICENSE](https://github.com/Alamofire/Alamofire/blob/master/LICENSE) for details. diff --git a/Example/Pods/Alamofire/Source/AFError.swift b/Example/Pods/Alamofire/Source/AFError.swift index f047695..585ae14 100644 --- a/Example/Pods/Alamofire/Source/AFError.swift +++ b/Example/Pods/Alamofire/Source/AFError.swift @@ -1,7 +1,7 @@ // // AFError.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Alamofire.swift b/Example/Pods/Alamofire/Source/Alamofire.swift index 86d54d8..e971613 100644 --- a/Example/Pods/Alamofire/Source/Alamofire.swift +++ b/Example/Pods/Alamofire/Source/Alamofire.swift @@ -1,7 +1,7 @@ // // Alamofire.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -53,7 +53,7 @@ extension URL: URLConvertible { } extension URLComponents: URLConvertible { - /// Returns a URL if `url` is not nil, otherise throws an `Error`. + /// Returns a URL if `url` is not nil, otherwise throws an `Error`. /// /// - throws: An `AFError.invalidURL` if `url` is `nil`. /// diff --git a/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift b/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift index 78e214e..9031395 100644 --- a/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift +++ b/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift @@ -1,7 +1,7 @@ // // DispatchQueue+Alamofire.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/MultipartFormData.swift b/Example/Pods/Alamofire/Source/MultipartFormData.swift index 6d0d556..ba02d24 100644 --- a/Example/Pods/Alamofire/Source/MultipartFormData.swift +++ b/Example/Pods/Alamofire/Source/MultipartFormData.swift @@ -1,7 +1,7 @@ // // MultipartFormData.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -92,7 +92,7 @@ open class MultipartFormData { // MARK: - Properties /// The `Content-Type` header value containing the boundary used to generate the `multipart/form-data`. - open var contentType: String { return "multipart/form-data; boundary=\(boundary)" } + open lazy var contentType: String = "multipart/form-data; boundary=\(self.boundary)" /// The content length of all body parts used to generate the `multipart/form-data` not including the boundaries. public var contentLength: UInt64 { return bodyParts.reduce(0) { $0 + $1.bodyContentLength } } diff --git a/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift b/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift index 888818d..cdb5a02 100644 --- a/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift +++ b/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift @@ -1,7 +1,7 @@ // // NetworkReachabilityManager.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -182,21 +182,24 @@ public class NetworkReachabilityManager { // MARK: - Internal - Network Reachability Status func networkReachabilityStatusForFlags(_ flags: SCNetworkReachabilityFlags) -> NetworkReachabilityStatus { - guard flags.contains(.reachable) else { return .notReachable } + guard isNetworkReachable(with: flags) else { return .notReachable } - var networkStatus: NetworkReachabilityStatus = .notReachable + var networkStatus: NetworkReachabilityStatus = .reachable(.ethernetOrWiFi) - if !flags.contains(.connectionRequired) { networkStatus = .reachable(.ethernetOrWiFi) } + #if os(iOS) + if flags.contains(.isWWAN) { networkStatus = .reachable(.wwan) } + #endif - if flags.contains(.connectionOnDemand) || flags.contains(.connectionOnTraffic) { - if !flags.contains(.interventionRequired) { networkStatus = .reachable(.ethernetOrWiFi) } - } + return networkStatus + } - #if os(iOS) - if flags.contains(.isWWAN) { networkStatus = .reachable(.wwan) } - #endif + func isNetworkReachable(with flags: SCNetworkReachabilityFlags) -> Bool { + let isReachable = flags.contains(.reachable) + let needsConnection = flags.contains(.connectionRequired) + let canConnectAutomatically = flags.contains(.connectionOnDemand) || flags.contains(.connectionOnTraffic) + let canConnectWithoutUserInteraction = canConnectAutomatically && !flags.contains(.interventionRequired) - return networkStatus + return isReachable && (!needsConnection || canConnectWithoutUserInteraction) } } diff --git a/Example/Pods/Alamofire/Source/Notifications.swift b/Example/Pods/Alamofire/Source/Notifications.swift index 81f6e37..df41505 100644 --- a/Example/Pods/Alamofire/Source/Notifications.swift +++ b/Example/Pods/Alamofire/Source/Notifications.swift @@ -1,7 +1,7 @@ // // Notifications.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/ParameterEncoding.swift b/Example/Pods/Alamofire/Source/ParameterEncoding.swift index 242f6a8..dabb562 100644 --- a/Example/Pods/Alamofire/Source/ParameterEncoding.swift +++ b/Example/Pods/Alamofire/Source/ParameterEncoding.swift @@ -1,7 +1,7 @@ // // ParameterEncoding.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -223,9 +223,9 @@ public struct URLEncoding: ParameterEncoding { let endIndex = string.index(index, offsetBy: batchSize, limitedBy: string.endIndex) ?? string.endIndex let range = startIndex.. String { - var components = ["$ curl -i"] + var components = ["$ curl -v"] guard let request = self.request, let url = request.url, @@ -293,11 +293,12 @@ extension Request: CustomDebugStringConvertible { if let credentials = credentialStorage.credentials(for: protectionSpace)?.values { for credential in credentials { - components.append("-u \(credential.user!):\(credential.password!)") + guard let user = credential.user, let password = credential.password else { continue } + components.append("-u \(user):\(password)") } } else { - if let credential = delegate.credential { - components.append("-u \(credential.user!):\(credential.password!)") + if let credential = delegate.credential, let user = credential.user, let password = credential.password { + components.append("-u \(user):\(password)") } } } @@ -308,7 +309,12 @@ extension Request: CustomDebugStringConvertible { let cookies = cookieStorage.cookies(for: url), !cookies.isEmpty { let string = cookies.reduce("") { $0 + "\($1.name)=\($1.value);" } + + #if swift(>=3.2) + components.append("-b \"\(string[..: DownloadResponseSerializerProto extension Request { var timeline: Timeline { + let requestStartTime = self.startTime ?? CFAbsoluteTimeGetCurrent() let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent() let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime return Timeline( - requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(), + requestStartTime: requestStartTime, initialResponseTime: initialResponseTime, requestCompletedTime: requestCompletedTime, serializationCompletedTime: CFAbsoluteTimeGetCurrent() diff --git a/Example/Pods/Alamofire/Source/Result.swift b/Example/Pods/Alamofire/Source/Result.swift index c13b1fc..bbd3c61 100644 --- a/Example/Pods/Alamofire/Source/Result.swift +++ b/Example/Pods/Alamofire/Source/Result.swift @@ -1,7 +1,7 @@ // // Result.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -162,7 +162,7 @@ extension Result { /// try print(noInt.unwrap()) /// // Throws error /// - /// - parameter transform: A closure that takes the success value of the result instance. + /// - parameter transform: A closure that takes the success value of the `Result` instance. /// /// - returns: A `Result` containing the result of the given closure. If this instance is a failure, returns the /// same failure. @@ -200,4 +200,101 @@ extension Result { return .failure(error) } } + + /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. + /// + /// Use the `mapError` function with a closure that does not throw. For example: + /// + /// let possibleData: Result = .failure(someError) + /// let withMyError: Result = possibleData.mapError { MyError.error($0) } + /// + /// - Parameter transform: A closure that takes the error of the instance. + /// - Returns: A `Result` instance containing the result of the transform. If this instance is a success, returns + /// the same instance. + public func mapError(_ transform: (Error) -> T) -> Result { + switch self { + case .failure(let error): + return .failure(transform(error)) + case .success: + return self + } + } + + /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. + /// + /// Use the `flatMapError` function with a closure that may throw an error. For example: + /// + /// let possibleData: Result = .success(Data(...)) + /// let possibleObject = possibleData.flatMapError { + /// try someFailableFunction(taking: $0) + /// } + /// + /// - Parameter transform: A throwing closure that takes the error of the instance. + /// + /// - Returns: A `Result` instance containing the result of the transform. If this instance is a success, returns + /// the same instance. + public func flatMapError(_ transform: (Error) throws -> T) -> Result { + switch self { + case .failure(let error): + do { + return try .failure(transform(error)) + } catch { + return .failure(error) + } + case .success: + return self + } + } + + /// Evaluates the specified closure when the `Result` is a success, passing the unwrapped value as a parameter. + /// + /// Use the `withValue` function to evaluate the passed closure without modifying the `Result` instance. + /// + /// - Parameter closure: A closure that takes the success value of this instance. + /// - Returns: This `Result` instance, unmodified. + @discardableResult + public func withValue(_ closure: (Value) -> Void) -> Result { + if case let .success(value) = self { closure(value) } + + return self + } + + /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. + /// + /// Use the `withError` function to evaluate the passed closure without modifying the `Result` instance. + /// + /// - Parameter closure: A closure that takes the success value of this instance. + /// - Returns: This `Result` instance, unmodified. + @discardableResult + public func withError(_ closure: (Error) -> Void) -> Result { + if case let .failure(error) = self { closure(error) } + + return self + } + + /// Evaluates the specified closure when the `Result` is a success. + /// + /// Use the `ifSuccess` function to evaluate the passed closure without modifying the `Result` instance. + /// + /// - Parameter closure: A `Void` closure. + /// - Returns: This `Result` instance, unmodified. + @discardableResult + public func ifSuccess(_ closure: () -> Void) -> Result { + if isSuccess { closure() } + + return self + } + + /// Evaluates the specified closure when the `Result` is a failure. + /// + /// Use the `ifFailure` function to evaluate the passed closure without modifying the `Result` instance. + /// + /// - Parameter closure: A `Void` closure. + /// - Returns: This `Result` instance, unmodified. + @discardableResult + public func ifFailure(_ closure: () -> Void) -> Result { + if isFailure { closure() } + + return self + } } diff --git a/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift b/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift index 9c0e7c8..1ad3530 100644 --- a/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift +++ b/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift @@ -1,7 +1,7 @@ // // ServerTrustPolicy.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/SessionDelegate.swift b/Example/Pods/Alamofire/Source/SessionDelegate.swift index 27ad881..d38c253 100644 --- a/Example/Pods/Alamofire/Source/SessionDelegate.swift +++ b/Example/Pods/Alamofire/Source/SessionDelegate.swift @@ -1,7 +1,7 @@ // // SessionDelegate.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -36,7 +36,7 @@ open class SessionDelegate: NSObject { open var sessionDidReceiveChallenge: ((URLSession, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))? /// Overrides all behavior for URLSessionDelegate method `urlSession(_:didReceive:completionHandler:)` and requires the caller to call the `completionHandler`. - open var sessionDidReceiveChallengeWithCompletion: ((URLSession, URLAuthenticationChallenge, (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? + open var sessionDidReceiveChallengeWithCompletion: ((URLSession, URLAuthenticationChallenge, @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? /// Overrides default behavior for URLSessionDelegate method `urlSessionDidFinishEvents(forBackgroundURLSession:)`. open var sessionDidFinishEventsForBackgroundURLSession: ((URLSession) -> Void)? @@ -48,21 +48,21 @@ open class SessionDelegate: NSObject { /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:)` and /// requires the caller to call the `completionHandler`. - open var taskWillPerformHTTPRedirectionWithCompletion: ((URLSession, URLSessionTask, HTTPURLResponse, URLRequest, (URLRequest?) -> Void) -> Void)? + open var taskWillPerformHTTPRedirectionWithCompletion: ((URLSession, URLSessionTask, HTTPURLResponse, URLRequest, @escaping (URLRequest?) -> Void) -> Void)? /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:didReceive:completionHandler:)`. open var taskDidReceiveChallenge: ((URLSession, URLSessionTask, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))? /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:didReceive:completionHandler:)` and /// requires the caller to call the `completionHandler`. - open var taskDidReceiveChallengeWithCompletion: ((URLSession, URLSessionTask, URLAuthenticationChallenge, (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? + open var taskDidReceiveChallengeWithCompletion: ((URLSession, URLSessionTask, URLAuthenticationChallenge, @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:needNewBodyStream:)`. open var taskNeedNewBodyStream: ((URLSession, URLSessionTask) -> InputStream?)? /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:needNewBodyStream:)` and /// requires the caller to call the `completionHandler`. - open var taskNeedNewBodyStreamWithCompletion: ((URLSession, URLSessionTask, (InputStream?) -> Void) -> Void)? + open var taskNeedNewBodyStreamWithCompletion: ((URLSession, URLSessionTask, @escaping (InputStream?) -> Void) -> Void)? /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:)`. open var taskDidSendBodyData: ((URLSession, URLSessionTask, Int64, Int64, Int64) -> Void)? @@ -77,7 +77,7 @@ open class SessionDelegate: NSObject { /// Overrides all behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didReceive:completionHandler:)` and /// requires caller to call the `completionHandler`. - open var dataTaskDidReceiveResponseWithCompletion: ((URLSession, URLSessionDataTask, URLResponse, (URLSession.ResponseDisposition) -> Void) -> Void)? + open var dataTaskDidReceiveResponseWithCompletion: ((URLSession, URLSessionDataTask, URLResponse, @escaping (URLSession.ResponseDisposition) -> Void) -> Void)? /// Overrides default behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didBecome:)`. open var dataTaskDidBecomeDownloadTask: ((URLSession, URLSessionDataTask, URLSessionDownloadTask) -> Void)? @@ -90,7 +90,7 @@ open class SessionDelegate: NSObject { /// Overrides all behavior for URLSessionDataDelegate method `urlSession(_:dataTask:willCacheResponse:completionHandler:)` and /// requires caller to call the `completionHandler`. - open var dataTaskWillCacheResponseWithCompletion: ((URLSession, URLSessionDataTask, CachedURLResponse, (CachedURLResponse?) -> Void) -> Void)? + open var dataTaskWillCacheResponseWithCompletion: ((URLSession, URLSessionDataTask, CachedURLResponse, @escaping (CachedURLResponse?) -> Void) -> Void)? // MARK: URLSessionDownloadDelegate Overrides @@ -462,8 +462,8 @@ extension SessionDelegate: URLSessionTaskDelegate { // Determine whether an error has occurred var error: Error? = error - if let taskDelegate = self[task]?.delegate, taskDelegate.error != nil { - error = taskDelegate.error + if request.delegate.error != nil { + error = request.delegate.error } /// If an error occurred and the retrier is set, asynchronously ask the retrier if the request diff --git a/Example/Pods/Alamofire/Source/SessionManager.swift b/Example/Pods/Alamofire/Source/SessionManager.swift index 450f750..9bd8b54 100644 --- a/Example/Pods/Alamofire/Source/SessionManager.swift +++ b/Example/Pods/Alamofire/Source/SessionManager.swift @@ -1,7 +1,7 @@ // // SessionManager.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/TaskDelegate.swift b/Example/Pods/Alamofire/Source/TaskDelegate.swift index d4fd216..0607758 100644 --- a/Example/Pods/Alamofire/Source/TaskDelegate.swift +++ b/Example/Pods/Alamofire/Source/TaskDelegate.swift @@ -1,7 +1,7 @@ // // TaskDelegate.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -40,17 +40,30 @@ open class TaskDelegate: NSObject { public var error: Error? var task: URLSessionTask? { - didSet { reset() } + set { + taskLock.lock(); defer { taskLock.unlock() } + _task = newValue + } + get { + taskLock.lock(); defer { taskLock.unlock() } + return _task + } } var initialResponseTime: CFAbsoluteTime? var credential: URLCredential? var metrics: AnyObject? // URLSessionTaskMetrics + private var _task: URLSessionTask? { + didSet { reset() } + } + + private let taskLock = NSLock() + // MARK: Lifecycle init(task: URLSessionTask?) { - self.task = task + _task = task self.queue = { let operationQueue = OperationQueue() diff --git a/Example/Pods/Alamofire/Source/Timeline.swift b/Example/Pods/Alamofire/Source/Timeline.swift index 1440989..c5dabd1 100644 --- a/Example/Pods/Alamofire/Source/Timeline.swift +++ b/Example/Pods/Alamofire/Source/Timeline.swift @@ -1,7 +1,7 @@ // // Timeline.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Validation.swift b/Example/Pods/Alamofire/Source/Validation.swift index c405d02..989ac20 100644 --- a/Example/Pods/Alamofire/Source/Validation.swift +++ b/Example/Pods/Alamofire/Source/Validation.swift @@ -1,7 +1,7 @@ // // Validation.swift // -// Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -48,7 +48,13 @@ extension Request { init?(_ string: String) { let components: [String] = { let stripped = string.trimmingCharacters(in: .whitespacesAndNewlines) + + #if swift(>=3.2) + let split = stripped[..<(stripped.range(of: ";")?.lowerBound ?? stripped.endIndex)] + #else let split = stripped.substring(to: stripped.range(of: ";")?.lowerBound ?? stripped.endIndex) + #endif + return split.components(separatedBy: "/") }() diff --git a/Example/Pods/AlamofireObjectMapper/README.md b/Example/Pods/AlamofireObjectMapper/README.md index e3f38e6..7e89fd4 100644 --- a/Example/Pods/AlamofireObjectMapper/README.md +++ b/Example/Pods/AlamofireObjectMapper/README.md @@ -7,7 +7,7 @@ AlamofireObjectMapper An extension to [Alamofire](https://github.com/Alamofire/Alamofire) which automatically converts JSON response data into swift objects using [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper/). -#Usage +# Usage Given a URL which returns weather data in the following form: ``` @@ -35,6 +35,8 @@ Given a URL which returns weather data in the following form: You can use the extension as the follows: ```swift +import AlamofireObjectMapper + let URL = "https://raw.githubusercontent.com/tristanhimmelman/AlamofireObjectMapper/d8bb95982be8a11a2308e779bb9a9707ebe42ede/sample_json" Alamofire.request(URL).responseObject { (response: DataResponse) in @@ -53,6 +55,8 @@ Alamofire.request(URL).responseObject { (response: DataResponse The `WeatherResponse` object in the completion handler is a custom object which you define. The only requirement is that the object must conform to [ObjectMapper's](https://github.com/Hearst-DD/ObjectMapper/) `Mappable` protocol. In the above example, the `WeatherResponse` object looks like the following: ```swift +import ObjectMapper + class WeatherResponse: Mappable { var location: String? var threeDayForecast: [Forecast]? @@ -94,7 +98,24 @@ The `responseObject` function has 3 optional parameters and a required completio - `mapToObject`: An object to perform the mapping on to - `completionHandler`: A closure to be executed once the request has finished and the data has been mapped by ObjectMapper. -###KeyPath +### Easy Mapping of Nested Objects + +AlamofireObjectMapper supports dot notation within keys for easy mapping of nested objects. Given the following JSON String: +```json +"distance" : { + "text" : "102 ft", + "value" : 31 +} +``` +You can access the nested objects as follows: +```swift +func mapping(map: Map) { + distance <- map["distance.value"] +} +``` +[See complete documentation](https://github.com/Hearst-DD/ObjectMapper#easy-mapping-of-nested-objects) + +### KeyPath The `keyPath` variable is used to drill down into a JSON response and only map the data found at that `keyPath`. It supports nested values such as `data.weather` to drill down several levels in a JSON response. ```swift @@ -116,7 +137,7 @@ Alamofire.request(URL).responseObject(keyPath: "data") { (response: DataResponse } ``` -#Array Responses +# Array Responses If you have an endpoint that returns data in `Array` form you can map it with the following function: ```swift public func responseArray(queue queue: dispatch_queue_t? = nil, keyPath: String? = nil, completionHandler: DataResponse<[T]> -> Void) -> Self @@ -159,7 +180,7 @@ Alamofire.request(URL).responseArray { (response: DataResponse<[Forecast]>) in ``` -#Installation +# Installation AlamofireObjectMapper can be added to your project using [CocoaPods](https://cocoapods.org/) by adding the following line to your Podfile: ``` pod 'AlamofireObjectMapper', '~> 4.0' diff --git a/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpy.swift b/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpy.swift index deff3f7..3c4efd7 100644 --- a/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpy.swift +++ b/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpy.swift @@ -56,27 +56,27 @@ public class KeyboardSpy { object: nil) } - private dynamic func keyboardWillShow(notification: Notification) { + @objc private dynamic func keyboardWillShow(notification: Notification) { processKeyboardEvent(.willShow, notification: notification) } - private dynamic func keyboardDidShow(notification: Notification) { + @objc private dynamic func keyboardDidShow(notification: Notification) { processKeyboardEvent(.didShow, notification: notification) } - private dynamic func keyboardWillHide(notification: Notification) { + @objc private dynamic func keyboardWillHide(notification: Notification) { processKeyboardEvent(.willHide, notification: notification) } - private dynamic func keyboardDidHide(notification: Notification) { + @objc private dynamic func keyboardDidHide(notification: Notification) { processKeyboardEvent(.didHide, notification: notification) } - private dynamic func keyboardWillChangeFrame(notification: Notification) { + @objc private dynamic func keyboardWillChangeFrame(notification: Notification) { processKeyboardEvent(.willChangeFrame, notification: notification) } - private dynamic func keyboardDidChangeFrame(notification: Notification) { + @objc private dynamic func keyboardDidChangeFrame(notification: Notification) { processKeyboardEvent(.didChangeFrame, notification: notification) } diff --git a/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpyAgent.swift b/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpyAgent.swift index c888e35..dee526d 100644 --- a/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpyAgent.swift +++ b/Example/Pods/KeyboardSpy/KeyboardSpy/Classes/KeyboardSpyAgent.swift @@ -18,7 +18,7 @@ */ public protocol KeyboardSpyAgent { - var keyboardEventsToSpyOn: [KeyboardSpyEvent] { get set } + var keyboardEventsToSpyOn: [KeyboardSpyEvent] { get } func keyboardSpyEventProcessed(event:KeyboardSpyEvent, keyboardInfo: KeyboardSpyInfo) var description: String { get } } diff --git a/Example/Pods/KeyboardSpy/README.md b/Example/Pods/KeyboardSpy/README.md index 1d8dd38..e6d3fcf 100644 --- a/Example/Pods/KeyboardSpy/README.md +++ b/Example/Pods/KeyboardSpy/README.md @@ -1,18 +1,18 @@ -![KeyboardSpy](/Users/Dalton/Desktop/keyboard_spy.png) +![KeyboardSpy](https://raw.githubusercontent.com/Daltron/KeyboardSpy/master/KeyboardSpy/Assets/keyboard_spy.png) [![Version](https://img.shields.io/cocoapods/v/Spartan.svg?style=flat)](http://cocoapods.org/pods/KeyboardSpy) -Language: Swift -[![License](https://img.shields.io/cocoapods/l/KeyboardSpy.svg?style=flat)](http://cocoapods.org/pods/KeyboardSpy) +Language: Swift [![Platform](https://img.shields.io/cocoapods/p/KeyboardSpy.svg?style=flat)](http://cocoapods.org/pods/KeyboardSpy) +[![License](https://img.shields.io/cocoapods/l/KeyboardSpy.svg?style=flat)](http://cocoapods.org/pods/KeyboardSpy) -### Written in Swift 3 +### Written in Swift 4 KeyboardSpy is a super lightweight and easy to use wrapper that makes observing keyboard notifications in iOS a breeze. ## Requirements -- iOS 8.0+ -- xCode 8.1+ + - iOS 8.0+ + - xCode 9.0+ ## Installation @@ -21,10 +21,6 @@ KeyboardSpy is a super lightweight and easy to use wrapper that makes observing To integrate KeyboardSpy into your xCode project using CocoaPods, specify it in your `Podfile`: ```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' -use_frameworks! - pod 'KeyboardSpy' ``` @@ -40,8 +36,8 @@ KeyboardSpy uses a protocol based approach to observe keyboard notifications: ```swift public protocol KeyboardSpyAgent { -var keyboardEventsToSpyOn: [KeyboardSpyEvent] { get set } -func keyboardSpyEventProcessed(event:KeyboardSpyEvent, keyboardInfo: KeyboardSpyInfo) + var keyboardEventsToSpyOn: [KeyboardSpyEvent] { get } + func keyboardSpyEventProcessed(event:KeyboardSpyEvent, keyboardInfo: KeyboardSpyInfo) } ``` @@ -61,12 +57,12 @@ There are six different events you can spy on: ```swift public enum KeyboardSpyEvent { -case willShow -case didShow -case willHide -case didHide -case willChangeFrame -case didChangeFrame + case willShow + case didShow + case willHide + case didHide + case willChangeFrame + case didChangeFrame } ``` @@ -74,12 +70,12 @@ You will get the following object for each event you spy on: ```swift public class KeyboardSpyInfo: NSObject { -public private(set) var beginFrame: CGRect! -public private(set) var endFrame: CGRect! -public private(set) var animationCurve: UIViewAnimationCurve! -public private(set) var animationDuration: Double! -public private(set) var isLocal: Bool! -public var keyboardHeight: CGFloat + public private(set) var beginFrame: CGRect! + public private(set) var endFrame: CGRect! + public private(set) var animationCurve: UIViewAnimationCurve! + public private(set) var animationDuration: Double! + public private(set) var isLocal: Bool! + public var keyboardHeight: CGFloat } ``` @@ -88,27 +84,33 @@ public var keyboardHeight: CGFloat ```swift import KeyboardSpy -class KeyboardSpyViewController: UIViewController, KeyboardSpyAgent { - -internal var keyboardEventsToSpyOn: [KeyboardSpyEvent] = [.willShow, .willHide] - -override func viewWillAppear(_ animated: Bool) { -super.viewWillAppear(animated) -KeyboardSpy.spy(on: keyboardSpyView) // This can be placed anywhere -} - -override func viewWillDisappear(_ animated: Bool) { -super.viewWillDisappear(animated) -KeyboardSpy.unspy(on: keyboardSpyView) // This can be placed anywhere +class KeyboardSpyViewController: UIViewController { + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + KeyboardSpy.spy(on: keyboardSpyView) // This can be placed anywhere + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + KeyboardSpy.unspy(on: keyboardSpyView) // This can be placed anywhere + } + } -func keyboardSpyEventProcessed(event: KeyboardSpyEvent, keyboardInfo: KeyboardSpyInfo) { -if event == .willShow { -// Do something like moving a view above the keyboard -} else if event == .willHide { -// Do something like moving a view back to its original position -} -} +extension KeyboardSpyViewController: KeyboardSpyAgent { + + internal var keyboardEventsToSpyOn: [KeyboardSpyEvent] { + return [.willShow, .willHide] + } + + internal func keyboardSpyEventProcessed(event: KeyboardSpyEvent, keyboardInfo: KeyboardSpyInfo) { + if event == .willShow { + // Do something like moving a view above the keyboard + } else if event == .willHide { + // Do something like moving a view back to its original position + } + } } ``` @@ -119,4 +121,4 @@ Dalton Hinterscher, daltonhint4@gmail.com ## License -Spartan is available under the MIT license. See the LICENSE file for more info. +KeyboardSpy is available under the MIT license. See the LICENSE file for more info. diff --git a/Example/Pods/Local Podspecs/AlamoRecord.podspec.json b/Example/Pods/Local Podspecs/AlamoRecord.podspec.json index a91a8ff..f1c38b2 100644 --- a/Example/Pods/Local Podspecs/AlamoRecord.podspec.json +++ b/Example/Pods/Local Podspecs/AlamoRecord.podspec.json @@ -1,6 +1,6 @@ { "name": "AlamoRecord", - "version": "1.0.0", + "version": "1.0.4", "summary": "An elegant Alamofire wrapper inspired by ActiveRecord.", "description": "AlamoRecord is a powerful yet simple framework that eliminates the often complex networking layer that exists between your networking framework and your application. AlamoRecord uses the power of AlamoFire, AlamofireObjectMapper and the concepts behind the ActiveRecord pattern to create a networking layer that makes interacting with your API easier than ever.", "homepage": "https://github.com/tunespeak/AlamoRecord", @@ -13,7 +13,7 @@ }, "source": { "git": "https://github.com/tunespeak/AlamoRecord.git", - "tag": "1.0.0" + "tag": "1.0.4" }, "platforms": { "ios": "9.0", @@ -24,7 +24,7 @@ "source_files": "AlamoRecord/Classes/**/*", "dependencies": { "AlamofireObjectMapper": [ - "~> 4.1" + "~> 5.0" ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 425a486..6f1d7af 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,46 +1,38 @@ PODS: - - Alamofire (4.4.0) - - AlamofireObjectMapper (4.1.0): + - Alamofire (4.5.1) + - AlamofireObjectMapper (5.0.0): - Alamofire (~> 4.1) - - ObjectMapper (~> 2.0) - - AlamoRecord (1.0.0): - - AlamofireObjectMapper (~> 4.1) - - KeyboardSpy (1.0) - - MarqueeLabel/Swift (3.1.0) - - NotificationBannerSwift (1.4.0): + - ObjectMapper (~> 3.0) + - AlamoRecord (1.0.4): + - AlamofireObjectMapper (~> 5.0) + - KeyboardSpy (1.1) + - MarqueeLabel/Swift (3.1.3) + - NotificationBannerSwift (1.5.1): - MarqueeLabel/Swift - - SnapKit (~> 3.2) - - ObjectMapper (2.2.5) - - SnapKit (3.2.0) + - SnapKit (~> 4.0) + - ObjectMapper (3.0.0) + - SnapKit (4.0.0) DEPENDENCIES: - AlamoRecord (from `../`) - KeyboardSpy - - NotificationBannerSwift (from `https://github.com/Daltron/NotificationBanner`, branch `master`) + - NotificationBannerSwift - SnapKit EXTERNAL SOURCES: AlamoRecord: - :path: "../" - NotificationBannerSwift: - :branch: master - :git: https://github.com/Daltron/NotificationBanner - -CHECKOUT OPTIONS: - NotificationBannerSwift: - :commit: 5049c7454a61048846b754c9d11884d427d5965d - :git: https://github.com/Daltron/NotificationBanner + :path: ../ SPEC CHECKSUMS: - Alamofire: dc44b1600b800eb63da6a19039a0083d62a6a62d - AlamofireObjectMapper: 435adc82f5b367679bd9e71c4974a54efd0b2521 - AlamoRecord: 446894ecda4ab00b76d241f7ea75c6dfaaf3638f - KeyboardSpy: edb2ab362c69d4b98b41b5a46b773e65209c2b87 - MarqueeLabel: 061d04687ee5485ac035b45c8e292274a87afe01 - NotificationBannerSwift: 24070736129e9ccc6614c0a91d09c04e7080ddd1 - ObjectMapper: fb30f71e08470d1e5a20b199fafe1246281db898 - SnapKit: 1ca44df72cfa543218d177cb8aab029d10d86ea7 + Alamofire: 2d95912bf4c34f164fdfc335872e8c312acaea4a + AlamofireObjectMapper: 5fafc816351cbbc0d486611aaeba7461c0cbad49 + AlamoRecord: 3b9bd697dea11d12b33b19da3d55165201c7e290 + KeyboardSpy: 4552ddd413d3b856b3b396422fccb8e1b3008524 + MarqueeLabel: baa5753dcbd36dca080e1f5c589a665aa5c906f1 + NotificationBannerSwift: 666e6c392238561c17a52db4c50e6f00d9942e0d + ObjectMapper: 92230db59bf8f341a5c3a3cf0b9fbdde3cf0d87f + SnapKit: a42d492c16e80209130a3379f73596c3454b7694 -PODFILE CHECKSUM: f1d345afa4d2a4f473d0da7d393116df11e67c67 +PODFILE CHECKSUM: 3f63a2fa4d48882e49f031da151d69b53b92a842 -COCOAPODS: 1.2.1 +COCOAPODS: 1.3.1 diff --git a/Example/Pods/MarqueeLabel/Sources/Swift/MarqueeLabel.swift b/Example/Pods/MarqueeLabel/Sources/Swift/MarqueeLabel.swift index 587250b..b28224b 100644 --- a/Example/Pods/MarqueeLabel/Sources/Swift/MarqueeLabel.swift +++ b/Example/Pods/MarqueeLabel/Sources/Swift/MarqueeLabel.swift @@ -337,12 +337,19 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { @IBInspectable open var animationDelay: CGFloat = 1.0 - /** The read-only duration of the scroll animation (not including delay). + /** The read-only/computed duration of the scroll animation (not including delay). - The value of this property is calculated from the value set to the `speed` property. If a .duration value is - used to set the label animation speed, this value will be equivalent. + The value of this property is calculated from the value set to the `speed` property. If a duration-type speed is + used to set the label animation speed, `animationDuration` will be equivalent to that value. */ - private(set) public var animationDuration: CGFloat = 0.0 + public var animationDuration: CGFloat { + switch self.speed { + case .rate(let rate): + return CGFloat(fabs(self.awayOffset) / rate) + case .duration(let duration): + return duration + } + } // // MARK: - Class Functions and Helpers @@ -363,7 +370,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { - SeeAlso: controllerViewDidAppear: - SeeAlso: controllerViewWillAppear: */ - class func restartLabelsOfController(_ controller: UIViewController) { + open class func restartLabelsOfController(_ controller: UIViewController) { MarqueeLabel.notifyController(controller, message: .Restart) } @@ -376,7 +383,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { - SeeAlso: restartLabel - SeeAlso: controllerViewDidAppear */ - class func controllerViewWillAppear(_ controller: UIViewController) { + open class func controllerViewWillAppear(_ controller: UIViewController) { MarqueeLabel.restartLabelsOfController(controller) } @@ -389,7 +396,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { - SeeAlso: restartLabel - SeeAlso: controllerViewWillAppear */ - class func controllerViewDidAppear(_ controller: UIViewController) { + open class func controllerViewDidAppear(_ controller: UIViewController) { MarqueeLabel.restartLabelsOfController(controller) } @@ -401,7 +408,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { - Parameter controller: The view controller for which all `MarqueeLabel` instances should be labelized. - SeeAlso: labelize */ - class func controllerLabelsLabelize(_ controller: UIViewController) { + open class func controllerLabelsLabelize(_ controller: UIViewController) { MarqueeLabel.notifyController(controller, message: .Labelize) } @@ -413,7 +420,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { - Parameter controller: The view controller for which all `MarqueeLabel` instances should be de-labelized. - SeeAlso: labelize */ - class func controllerLabelsAnimate(_ controller: UIViewController) { + open class func controllerLabelsAnimate(_ controller: UIViewController) { MarqueeLabel.notifyController(controller, message: .Animate) } @@ -517,7 +524,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { let properties = ["baselineAdjustment", "enabled", "highlighted", "highlightedTextColor", "minimumFontSize", "shadowOffset", "textAlignment", "userInteractionEnabled", "adjustsFontSizeToFitWidth", - "lineBreakMode", "numberOfLines"] + "lineBreakMode", "numberOfLines", "contentMode"] // Iterate through properties sublabel.text = super.text @@ -607,16 +614,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { // Label DOES need to scroll - // Recompute the animation duration - animationDuration = { - switch self.speed { - case .rate(let rate): - return CGFloat(fabs(self.awayOffset) / rate) - case .duration(let duration): - return duration - } - }() - // Spacing between primary and second sublabel must be at least equal to leadingBuffer, and at least equal to the fadeLength let minTrailing = max(max(leadingBuffer, trailingBuffer), fadeLength) @@ -1560,6 +1557,17 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate { sublabel.tintColorDidChange() } + override open var contentMode: UIViewContentMode { + get { + return sublabel.contentMode + } + + set { + super.contentMode = contentMode + sublabel.contentMode = newValue + } + } + // // MARK: - Support @@ -1640,7 +1648,7 @@ public struct ScrollStep: MarqueeStep { */ public let edgeFades: EdgeFade - init(timeStep: CGFloat, timingFunction: UIViewAnimationCurve = .linear, position: Position, edgeFades: EdgeFade) { + public init(timeStep: CGFloat, timingFunction: UIViewAnimationCurve = .linear, position: Position, edgeFades: EdgeFade) { self.timeStep = timeStep self.position = position self.edgeFades = edgeFades @@ -1686,7 +1694,7 @@ public struct FadeStep: MarqueeStep { */ public let edgeFades: EdgeFade - init(timeStep: CGFloat, timingFunction: UIViewAnimationCurve = .linear, edgeFades: EdgeFade) { + public init(timeStep: CGFloat, timingFunction: UIViewAnimationCurve = .linear, edgeFades: EdgeFade) { self.timeStep = timeStep self.timingFunction = timingFunction self.edgeFades = edgeFades diff --git a/Example/Pods/NotificationBannerSwift/LICENSE b/Example/Pods/NotificationBannerSwift/LICENSE old mode 100644 new mode 100755 diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerColors.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerColors.swift old mode 100644 new mode 100755 diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerHapticGenerator.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerHapticGenerator.swift old mode 100644 new mode 100755 diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerPositionFrame.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerPositionFrame.swift old mode 100644 new mode 100755 diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerStyle.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BannerStyle.swift old mode 100644 new mode 100755 diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BaseNotificationBanner.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BaseNotificationBanner.swift old mode 100644 new mode 100755 index df91f05..f7488f7 --- a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BaseNotificationBanner.swift +++ b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/BaseNotificationBanner.swift @@ -17,6 +17,7 @@ */ import UIKit +import SnapKit #if CARTHAGE_CONFIG import MarqueeLabelSwift @@ -37,7 +38,17 @@ public class BaseNotificationBanner: UIView { public weak var delegate: NotificationBannerDelegate? /// The height of the banner when it is presented - public var bannerHeight: CGFloat = 64.0 + public var bannerHeight: CGFloat { + get { + if let customBannerHeight = customBannerHeight { + return customBannerHeight + } else { + return shouldAdjustForIphoneX() ? 88.0 : 64.0 + } + } set { + customBannerHeight = newValue + } + } /// The topmost label of the notification if a custom view is not desired public internal(set) var titleLabel: MarqueeLabel? @@ -80,9 +91,18 @@ public class BaseNotificationBanner: UIView { /// The view that the notification layout is presented on. The constraints/frame of this should not be changed internal var contentView: UIView! + /// A view that helps the spring animation look nice when the banner appears + internal var spacerView: UIView! + /// The default padding between edges and views internal var padding: CGFloat = 15.0 + /// The view controller to display the banner on. This is useful if you are wanting to display a banner underneath a navigation bar + internal weak var parentViewController: UIViewController? + + /// If this is not nil, then this height will be used instead of the auto calculated height + internal var customBannerHeight: CGFloat? + /// Used by the banner queue to determine wether a notification banner was placed in front of it in the queue var isSuspended: Bool = false @@ -92,18 +112,17 @@ public class BaseNotificationBanner: UIView { /// The main window of the application which banner views are placed on private let appWindow: UIWindow = UIApplication.shared.delegate!.window!! - /// A view that helps the spring animation look nice when the banner appears - private var spacerView: UIView! - - /// The view controller to display the banner on. This is useful if you are wanting to display a banner underneath a navigation bar - private weak var parentViewController: UIViewController? - /// The position the notification banner should slide in from private(set) var bannerPosition: BannerPosition! /// Object that stores the start and end frames for the notification banner based on the provided banner position private var bannerPositionFrame: BannerPositionFrame! + /// The user info that gets passed to each notification + private var notificationUserInfo: [String: BaseNotificationBanner] { + return [NotificationBanner.BannerObjectKey: self] + } + public override var backgroundColor: UIColor? { get { return contentView.backgroundColor @@ -131,11 +150,6 @@ public class BaseNotificationBanner: UIView { let swipeUpGesture = UISwipeGestureRecognizer(target: self, action: #selector(onSwipeUpGestureRecognizer)) swipeUpGesture.direction = .up addGestureRecognizer(swipeUpGesture) - - NotificationCenter.default.addObserver(self, - selector: #selector(onOrientationChanged), - name: NSNotification.Name.UIDeviceOrientationDidChange, - object: nil) } required public init?(coder aDecoder: NSCoder) { @@ -162,9 +176,9 @@ public class BaseNotificationBanner: UIView { } make.left.equalToSuperview() make.right.equalToSuperview() - make.height.equalTo(10) + updateSpacerViewHeight(make: make) } - + contentView.snp.remakeConstraints { (make) in if bannerPosition == .top { make.top.equalTo(spacerView.snp.bottom) @@ -173,26 +187,50 @@ public class BaseNotificationBanner: UIView { make.top.equalToSuperview() make.bottom.equalTo(spacerView.snp.top) } + make.left.equalToSuperview() make.right.equalToSuperview() } } + /** + Updates the spacer view height. Specifically used for orientation changes. + */ + + private func updateSpacerViewHeight(make: ConstraintMaker? = nil) { + let finalHeight = NotificationBannerUtilities.isiPhoneX() + && UIApplication.shared.statusBarOrientation.isPortrait + && parentViewController == nil ? 40.0 : 10.0 + if let make = make { + make.height.equalTo(finalHeight) + } else { + spacerView.snp.updateConstraints({ (make) in + make.height.equalTo(finalHeight) + }) + } + } + /** Dismisses the NotificationBanner and shows the next one if there is one to show on the queue */ - public func dismiss() { + @objc public func dismiss() { NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(dismiss), object: nil) + + NotificationCenter.default.post(name: NotificationBanner.BannerWillDisappear, object: self, userInfo: notificationUserInfo) delegate?.notificationBannerWillDisappear(self) + UIView.animate(withDuration: 0.5, animations: { self.frame = self.bannerPositionFrame.startFrame }) { (completed) in self.removeFromSuperview() self.isDisplaying = false + + NotificationCenter.default.post(name: NotificationBanner.BannerDidDisappear, object: self, userInfo: self.notificationUserInfo) self.delegate?.notificationBannerDidDisappear(self) + self.bannerQueue.showNext(callback: { (isEmpty) in if isEmpty || self.statusBarShouldBeShown() { self.appWindow.windowLevel = UIWindowLevelNormal @@ -236,6 +274,14 @@ public class BaseNotificationBanner: UIView { maxY: maximumYPosition()) } + NotificationCenter.default.removeObserver(self, + name: NSNotification.Name.UIDeviceOrientationDidChange, + object: nil) + NotificationCenter.default.addObserver(self, + selector: #selector(onOrientationChanged), + name: NSNotification.Name.UIDeviceOrientationDidChange, + object: nil) + if placeOnQueue { bannerQueue.addBanner(self, queuePosition: queuePosition) } else { @@ -254,7 +300,10 @@ public class BaseNotificationBanner: UIView { appWindow.windowLevel = UIWindowLevelStatusBar + 1 } } + + NotificationCenter.default.post(name: NotificationBanner.BannerWillAppear, object: self, userInfo: notificationUserInfo) delegate?.notificationBannerWillAppear(self) + UIView.animate(withDuration: 0.5, delay: 0.0, usingSpringWithDamping: 0.7, @@ -264,7 +313,10 @@ public class BaseNotificationBanner: UIView { BannerHapticGenerator.generate(self.haptic) self.frame = self.bannerPositionFrame.endFrame }) { (completed) in + + NotificationCenter.default.post(name: NotificationBanner.BannerDidAppear, object: self, userInfo: self.notificationUserInfo) self.delegate?.notificationBannerDidAppear(self) + self.isDisplaying = true let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.onTapGestureRecognizer)) self.addGestureRecognizer(tapGestureRecognizer) @@ -302,14 +354,19 @@ public class BaseNotificationBanner: UIView { /** Changes the frame of the notificaiton banner when the orientation of the device changes */ - private dynamic func onOrientationChanged() { - self.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: appWindow.frame.width, height: self.frame.height) + @objc private dynamic func onOrientationChanged() { + updateSpacerViewHeight() + self.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: appWindow.frame.width, height: bannerHeight) + bannerPositionFrame = BannerPositionFrame(bannerPosition: bannerPosition, + bannerWidth: appWindow.frame.width, + bannerHeight: bannerHeight, + maxY: maximumYPosition()) } /** Called when a notification banner is tapped */ - private dynamic func onTapGestureRecognizer() { + @objc private dynamic func onTapGestureRecognizer() { if dismissOnTap { dismiss() } @@ -320,7 +377,7 @@ public class BaseNotificationBanner: UIView { /** Called when a notification banner is swiped up */ - private dynamic func onSwipeUpGestureRecognizer() { + @objc private dynamic func onSwipeUpGestureRecognizer() { if dismissOnSwipeUp { dismiss() } @@ -356,12 +413,20 @@ public class BaseNotificationBanner: UIView { } } + /** + Determines wether or not we should adjust the banner for the iPhoneX + */ + + internal func shouldAdjustForIphoneX() -> Bool { + return NotificationBannerUtilities.isiPhoneX() + && UIApplication.shared.statusBarOrientation.isPortrait + && parentViewController == nil + } /** Updates the scrolling marquee label duration */ internal func updateMarqueeLabelsDurations() { titleLabel?.speed = .duration(CGFloat(duration - 3)) } - } diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBanner.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBanner.swift old mode 100644 new mode 100755 index cfa7631..91bd7d3 --- a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBanner.swift +++ b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBanner.swift @@ -27,6 +27,21 @@ import SnapKit public class NotificationBanner: BaseNotificationBanner { + /// Notification that will be posted when a notification banner will appear + public static let BannerWillAppear: Notification.Name = Notification.Name(rawValue: "NotificationBannerWillAppear") + + /// Notification that will be posted when a notification banner did appear + public static let BannerDidAppear: Notification.Name = Notification.Name(rawValue: "NotificationBannerDidAppear") + + /// Notification that will be posted when a notification banner will appear + public static let BannerWillDisappear: Notification.Name = Notification.Name(rawValue: "NotificationBannerWillDisappear") + + /// Notification that will be posted when a notification banner did appear + public static let BannerDidDisappear: Notification.Name = Notification.Name(rawValue: "NotificationBannerDidDisappear") + + /// Notification banner object key that is included with each Notification + public static let BannerObjectKey: String = "NotificationBannerObjectKey" + /// The bottom most label of the notification if a subtitle is provided public private(set) var subtitleLabel: MarqueeLabel? @@ -72,7 +87,7 @@ public class NotificationBanner: BaseNotificationBanner { titleLabel = MarqueeLabel() titleLabel!.type = .left - titleLabel!.font = UIFont.systemFont(ofSize: 17.5, weight: UIFontWeightBold) + titleLabel!.font = UIFont.systemFont(ofSize: 17.5, weight: UIFont.Weight.bold) titleLabel!.textColor = .white titleLabel!.text = title labelsView.addSubview(titleLabel!) @@ -149,6 +164,8 @@ public class NotificationBanner: BaseNotificationBanner { customView.snp.makeConstraints { (make) in make.edges.equalTo(contentView) } + + spacerView.backgroundColor = customView.backgroundColor } required public init?(coder aDecoder: NSCoder) { diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerQueue.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerQueue.swift old mode 100644 new mode 100755 index f4e3388..76f69bd --- a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerQueue.swift +++ b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerQueue.swift @@ -85,4 +85,11 @@ public class NotificationBannerQueue: NSObject { callback(false) } + + /** + Removes all notification banners from the queue + */ + public func removeAll() { + banners.removeAll() + } } diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerUtilities.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerUtilities.swift new file mode 100644 index 0000000..9dd1f4e --- /dev/null +++ b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/NotificationBannerUtilities.swift @@ -0,0 +1,19 @@ +// +// NotificationBannerUtilities.swift +// NotificationBanner_Example +// +// Created by Dalton Hinterscher on 9/19/17. +// Copyright © 2017 CocoaPods. All rights reserved. +// + +import UIKit + +class NotificationBannerUtilities: NSObject { + + class func isiPhoneX() -> Bool { + if UIDevice.current.userInterfaceIdiom != .phone { + return false + } + return UIScreen.main.nativeBounds.height == 2436 + } +} diff --git a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/StatusBarNotificationBanner.swift b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/StatusBarNotificationBanner.swift old mode 100644 new mode 100755 index 23eb7f8..9477c17 --- a/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/StatusBarNotificationBanner.swift +++ b/Example/Pods/NotificationBannerSwift/NotificationBanner/Classes/StatusBarNotificationBanner.swift @@ -26,17 +26,30 @@ import UIKit public class StatusBarNotificationBanner: BaseNotificationBanner { + public override var bannerHeight: CGFloat { + get { + if let customBannerHeight = customBannerHeight { + return customBannerHeight + } else if shouldAdjustForIphoneX() { + return super.bannerHeight + } else { + return 20.0 + } + } set { + customBannerHeight = newValue + } + } + override init(style: BannerStyle, colors: BannerColorsProtocol? = nil) { super.init(style: style, colors: colors) - bannerHeight = 20.0 - + titleLabel = MarqueeLabel() titleLabel?.animationDelay = 2 titleLabel?.type = .leftRight - titleLabel!.font = UIFont.systemFont(ofSize: 12.5, weight: UIFontWeightBold) + titleLabel!.font = UIFont.systemFont(ofSize: 12.5, weight: UIFont.Weight.bold) titleLabel!.textAlignment = .center titleLabel!.textColor = .white - addSubview(titleLabel!) + contentView.addSubview(titleLabel!) titleLabel!.snp.makeConstraints { (make) in make.top.equalToSuperview() @@ -44,7 +57,7 @@ public class StatusBarNotificationBanner: BaseNotificationBanner { make.right.equalToSuperview().offset(-5) make.bottom.equalToSuperview() } - + updateMarqueeLabelsDurations() } diff --git a/Example/Pods/NotificationBannerSwift/README.md b/Example/Pods/NotificationBannerSwift/README.md old mode 100644 new mode 100755 index 127d160..b94c8b6 --- a/Example/Pods/NotificationBannerSwift/README.md +++ b/Example/Pods/NotificationBannerSwift/README.md @@ -3,10 +3,11 @@ [![Version](https://img.shields.io/cocoapods/v/NotificationBannerSwift.svg?style=flat)](http://cocoapods.org/pods/NotificationBannerSwift) [![Platform](https://img.shields.io/cocoapods/p/NotificationBannerSwift.svg?style=flat)](http://cocoapods.org/pods/NotificationBannerSwift) -Language: Swift +Language: Swift +[![Downloads](https://img.shields.io/cocoapods/dt/NotificationBannerSwift.svg)](http://cocoapods.org/pods/NotificationBannerSwift) +[![Apps](https://img.shields.io/cocoapods/at/NotificationBannerSwift.svg)](http://cocoapods.org/pods/NotificationBannerSwift) [![License](https://img.shields.io/cocoapods/l/NotificationBannerSwift.svg?style=flat)](http://cocoapods.org/pods/NotificationBannerSwift) - -## Written in Swift 3 +## Written in Swift 4 NotificationBanner is an extremely customizable and lightweight library that makes the task of displaying in app notification banners and drop down alerts an absolute breeze in iOS. @@ -17,7 +18,7 @@ NotificationBanner is an extremely customizable and lightweight library that mak ## Features - Highly customizable ✅ - `NSAttributedString` support ✅ -- iPhone & iPad Support ✅ +- iPhone, iPhoneX, & iPad Support ✅ - Orientation change support ✅ - Custom `UIView` support ✅ - Custom colors support ✅ @@ -29,7 +30,7 @@ NotificationBanner is an extremely customizable and lightweight library that mak ## Requirements - iOS 9.0+ - - Xcode 8.1+ + - Xcode 9.0+ ## Installation @@ -49,7 +50,7 @@ Then add `import NotificationBannerSwift` at the top of each file you use Notifi To use NotificationBanner via Carthage simply add this line to your `Cartfile`: ```swift -github "Daltron/NotificationBanner" ~> 1.4.0 +github "Daltron/NotificationBanner" "master" ``` Then add `NotificationBanner.framework` and the dependencies `SnapKit.framework` and `MarqueeLabelSwift.framework` in your project. diff --git a/Example/Pods/ObjectMapper/README-CN.md b/Example/Pods/ObjectMapper/README-CN.md index ee0d65a..b1a0209 100644 --- a/Example/Pods/ObjectMapper/README-CN.md +++ b/Example/Pods/ObjectMapper/README-CN.md @@ -434,12 +434,12 @@ let context = Context() let user = Mapper(context: context).map(JSONString) ``` -#ObjectMapper + Alamofire +# ObjectMapper + Alamofire 如果网络层你使用的是 [Alamofire](https://github.com/Alamofire/Alamofire) ,并且你希望把返回的结果转换成 Swift 对象,你可以使用 [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) 。这是一个使用 ObjectMapper 实现的把返回的 JSON 自动转成 Swift 对象的 Alamofire 的扩展。 -#ObjectMapper + Realm +# ObjectMapper + Realm ObjectMapper 可以和 Realm 一起配合使用。使用下面的声明结构就可以使用 ObjectMapper 生成 Realm 对象: diff --git a/Example/Pods/ObjectMapper/Sources/FromJSON.swift b/Example/Pods/ObjectMapper/Sources/FromJSON.swift index 7cb4655..952b42b 100755 --- a/Example/Pods/ObjectMapper/Sources/FromJSON.swift +++ b/Example/Pods/ObjectMapper/Sources/FromJSON.swift @@ -48,7 +48,7 @@ internal final class FromJSON { /// Mappable object class func object(_ field: inout N, map: Map) { if map.toObject { - _ = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: field) + field = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: field) } else if let value: N = Mapper(context: map.context).map(JSONObject: map.currentValue) { field = value } @@ -57,8 +57,8 @@ internal final class FromJSON { /// Optional Mappable Object class func optionalObject(_ field: inout N?, map: Map) { - if let field = field , map.toObject && map.currentValue != nil { - _ = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: field) + if let f = field , map.toObject && map.currentValue != nil { + field = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: f) } else { field = Mapper(context: map.context).map(JSONObject: map.currentValue) } @@ -66,8 +66,8 @@ internal final class FromJSON { /// Implicitly unwrapped Optional Mappable Object class func optionalObject(_ field: inout N!, map: Map) { - if let field = field , map.toObject && map.currentValue != nil { - _ = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: field) + if let f = field , map.toObject && map.currentValue != nil { + field = Mapper(context: map.context).map(JSONObject: map.currentValue, toObject: f) } else { field = Mapper(context: map.context).map(JSONObject: map.currentValue) } @@ -119,7 +119,7 @@ internal final class FromJSON { /// Dctionary containing Mappable objects class func objectDictionary(_ field: inout Dictionary, map: Map) { if map.toObject { - _ = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: field) + field = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: field) } else { if let objects = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue) { field = objects @@ -129,8 +129,8 @@ internal final class FromJSON { /// Optional dictionary containing Mappable objects class func optionalObjectDictionary(_ field: inout Dictionary?, map: Map) { - if let field = field , map.toObject && map.currentValue != nil { - _ = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: field) + if let f = field , map.toObject && map.currentValue != nil { + field = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: f) } else { field = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue) } @@ -138,8 +138,8 @@ internal final class FromJSON { /// Implicitly unwrapped Dictionary containing Mappable objects class func optionalObjectDictionary(_ field: inout Dictionary!, map: Map) { - if let field = field , map.toObject && map.currentValue != nil { - _ = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: field) + if let f = field , map.toObject && map.currentValue != nil { + field = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue, toDictionary: f) } else { field = Mapper(context: map.context).mapDictionary(JSONObject: map.currentValue) } diff --git a/Example/Pods/ObjectMapper/Sources/HexColorTransform.swift b/Example/Pods/ObjectMapper/Sources/HexColorTransform.swift index 2dce348..9053909 100644 --- a/Example/Pods/ObjectMapper/Sources/HexColorTransform.swift +++ b/Example/Pods/ObjectMapper/Sources/HexColorTransform.swift @@ -36,7 +36,7 @@ open class HexColorTransform: TransformType { if let rgba = value as? String { if rgba.hasPrefix("#") { let index = rgba.characters.index(rgba.startIndex, offsetBy: 1) - let hex = rgba.substring(from: index) + let hex = String(rgba[index...]) return getColor(hex: hex) } else { return getColor(hex: rgba) @@ -54,10 +54,20 @@ open class HexColorTransform: TransformType { fileprivate func hexString(color: Object) -> String { let comps = color.cgColor.components! - let r = Int(comps[0] * 255) - let g = Int(comps[1] * 255) - let b = Int(comps[2] * 255) - let a = Int(comps[3] * 255) + let compsCount = color.cgColor.numberOfComponents + let r: Int + let g: Int + var b: Int + let a = Int(comps[compsCount - 1] * 255) + if compsCount == 4 { // RGBA + r = Int(comps[0] * 255) + g = Int(comps[1] * 255) + b = Int(comps[2] * 255) + } else { // Grayscale + r = Int(comps[0] * 255) + g = Int(comps[0] * 255) + b = Int(comps[0] * 255) + } var hexString: String = "" if prefix { hexString = "#" diff --git a/Example/Pods/ObjectMapper/Sources/ISO8601DateTransform.swift b/Example/Pods/ObjectMapper/Sources/ISO8601DateTransform.swift index 5a17b73..2200423 100644 --- a/Example/Pods/ObjectMapper/Sources/ISO8601DateTransform.swift +++ b/Example/Pods/ObjectMapper/Sources/ISO8601DateTransform.swift @@ -28,14 +28,20 @@ import Foundation +public extension DateFormatter { + public convenience init(withFormat format : String, locale : String) { + self.init() + self.locale = Locale(identifier: locale) + dateFormat = format + } +} + open class ISO8601DateTransform: DateFormatterTransform { + + static let reusableISODateFormatter = DateFormatter(withFormat: "yyyy-MM-dd'T'HH:mm:ssZZZZZ", locale: "en_US_POSIX") public init() { - let formatter = DateFormatter() - formatter.locale = Locale(identifier: "en_US_POSIX") - formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ" - - super.init(dateFormatter: formatter) + super.init(dateFormatter: ISO8601DateTransform.reusableISODateFormatter) } - } + diff --git a/Example/Pods/ObjectMapper/Sources/ImmutableMappable.swift b/Example/Pods/ObjectMapper/Sources/ImmutableMappable.swift index ca5a3f0..d9d242a 100644 --- a/Example/Pods/ObjectMapper/Sources/ImmutableMappable.swift +++ b/Example/Pods/ObjectMapper/Sources/ImmutableMappable.swift @@ -83,6 +83,11 @@ public extension Map { public func value(_ key: String, nested: Bool? = nil, delimiter: String = ".", file: StaticString = #file, function: StaticString = #function, line: UInt = #line) throws -> T { return try self.value(key, nested: nested, delimiter: delimiter, using: EnumTransform(), file: file, function: function, line: line) } + + /// Returns a `[RawRepresentable]` type or throws an error. + public func value(_ key: String, nested: Bool? = nil, delimiter: String = ".", file: StaticString = #file, function: StaticString = #function, line: UInt = #line) throws -> [T] { + return try self.value(key, nested: nested, delimiter: delimiter, using: EnumTransform(), file: file, function: function, line: line) + } // MARK: BaseMappable @@ -103,7 +108,8 @@ public extension Map { guard let jsonArray = currentValue as? [Any] else { throw MapError(key: key, currentValue: currentValue, reason: "Cannot cast to '[Any]'", file: file, function: function, line: line) } - return try jsonArray.enumerated().map { i, JSONObject -> T in + + return try jsonArray.map { JSONObject -> T in return try Mapper(context: context).mapOrFail(JSONObject: JSONObject) } } @@ -114,9 +120,10 @@ public extension Map { guard let jsonArray = currentValue as? [Any] else { throw MapError(key: key, currentValue: currentValue, reason: "Cannot cast to '[Any]'", file: file, function: function, line: line) } - return try jsonArray.enumerated().map { i, json -> Transform.Object in + + return try jsonArray.map { json -> Transform.Object in guard let object = transform.transformFromJSON(json) else { - throw MapError(key: "\(key)[\(i)]", currentValue: json, reason: "Cannot transform to '\(Transform.Object.self)' using \(transform)", file: file, function: function, line: line) + throw MapError(key: "\(key)", currentValue: json, reason: "Cannot transform to '\(Transform.Object.self)' using \(transform)", file: file, function: function, line: line) } return object } @@ -178,16 +185,16 @@ public extension Map { throw MapError(key: key, currentValue: currentValue, reason: "Cannot cast to '[[Any]]'", file: file, function: function, line: line) } - return try json2DArray.enumerated().map { i, jsonArray in - try jsonArray.enumerated().map { j, json -> Transform.Object in + + return try json2DArray.map { jsonArray in + try jsonArray.map { json -> Transform.Object in guard let object = transform.transformFromJSON(json) else { - throw MapError(key: "\(key)[\(i)][\(j)]", currentValue: json, reason: "Cannot transform to '\(Transform.Object.self)' using \(transform)", file: file, function: function, line: line) + throw MapError(key: "\(key)", currentValue: json, reason: "Cannot transform to '\(Transform.Object.self)' using \(transform)", file: file, function: function, line: line) } return object } } } - } public extension Mapper where N: ImmutableMappable { @@ -274,7 +281,7 @@ public extension Mapper where N: ImmutableMappable { } -internal extension Mapper where N: BaseMappable { +internal extension Mapper { internal func mapOrFail(JSON: [String: Any]) throws -> N { let map = Map(mappingType: .fromJSON, JSON: JSON, context: context, shouldIncludeNilValues: shouldIncludeNilValues) diff --git a/Example/Pods/ObjectMapper/Sources/IntegerOperators.swift b/Example/Pods/ObjectMapper/Sources/IntegerOperators.swift index a7dd2f1..a4191e6 100644 --- a/Example/Pods/ObjectMapper/Sources/IntegerOperators.swift +++ b/Example/Pods/ObjectMapper/Sources/IntegerOperators.swift @@ -90,40 +90,56 @@ public func <- (left: inout T!, right: Map) { /// Convert any value to `SignedInteger`. private func toSignedInteger(_ value: Any?) -> T? { - guard let value = value else { return nil } - let max: IntMax - switch value { - case let x as Int: max = .init(x) - case let x as Int8: max = .init(x) - case let x as Int16: max = .init(x) - case let x as Int32: max = .init(x) - case let x as Int64: max = .init(x) - case let x as UInt: max = .init(x) - case let x as UInt8: max = .init(x) - case let x as UInt16: max = .init(x) - case let x as UInt32: max = .init(x) - case let x as UInt64: max = .init(x) - default: return nil - } - return T.init(max) + guard + let value = value, + case let number as NSNumber = value + else { + return nil + } + + if T.self == Int.self, let x = Int(exactly: number.int64Value) { + return T.init(x) + } + if T.self == Int8.self, let x = Int8(exactly: number.int64Value) { + return T.init(x) + } + if T.self == Int16.self, let x = Int16(exactly: number.int64Value) { + return T.init(x) + } + if T.self == Int32.self, let x = Int32(exactly: number.int64Value) { + return T.init(x) + } + if T.self == Int64.self, let x = Int64(exactly: number.int64Value) { + return T.init(x) + } + + return nil } /// Convert any value to `UnsignedInteger`. private func toUnsignedInteger(_ value: Any?) -> T? { - guard let value = value else { return nil } - let max: UIntMax - switch value { - case let x as Int: max = .init(x) - case let x as Int8: max = .init(x) - case let x as Int16: max = .init(x) - case let x as Int32: max = .init(x) - case let x as Int64: max = .init(x) - case let x as UInt: max = .init(x) - case let x as UInt8: max = .init(x) - case let x as UInt16: max = .init(x) - case let x as UInt32: max = .init(x) - case let x as UInt64: max = .init(x) - default: return nil - } - return T.init(max) + guard + let value = value, + case let number as NSNumber = value + else { + return nil + } + + if T.self == UInt.self, let x = UInt(exactly: number.uint64Value) { + return T.init(x) + } + if T.self == UInt8.self, let x = UInt8(exactly: number.uint64Value) { + return T.init(x) + } + if T.self == UInt16.self, let x = UInt16(exactly: number.uint64Value) { + return T.init(x) + } + if T.self == UInt32.self, let x = UInt32(exactly: number.uint64Value) { + return T.init(x) + } + if T.self == UInt64.self, let x = UInt64(exactly: number.uint64Value) { + return T.init(x) + } + + return nil } diff --git a/Example/Pods/ObjectMapper/Sources/Map.swift b/Example/Pods/ObjectMapper/Sources/Map.swift index 22f87b5..c7e7a5e 100644 --- a/Example/Pods/ObjectMapper/Sources/Map.swift +++ b/Example/Pods/ObjectMapper/Sources/Map.swift @@ -47,10 +47,10 @@ public final class Map { public var context: MapContext? public var shouldIncludeNilValues = false /// If this is set to true, toJSON output will include null values for any variables that are not set. - let toObject: Bool // indicates whether the mapping is being applied to an existing object + public let toObject: Bool // indicates whether the mapping is being applied to an existing object public init(mappingType: MappingType, JSON: [String: Any], toObject: Bool = false, context: MapContext? = nil, shouldIncludeNilValues: Bool = false) { - + self.mappingType = mappingType self.JSON = JSON self.toObject = toObject @@ -69,36 +69,36 @@ public final class Map { let nested = key.contains(delimiter) return self[key, nested: nested, delimiter: delimiter, ignoreNil: false] } - + public subscript(key: String, nested nested: Bool) -> Map { - return self[key, nested: nested, delimiter: ".", ignoreNil: false] + return self[key, nested: nested, delimiter: ".", ignoreNil: false] } public subscript(key: String, nested nested: Bool, delimiter delimiter: String) -> Map { - return self[key, nested: nested, delimiter: delimiter, ignoreNil: false] + return self[key, nested: nested, delimiter: delimiter, ignoreNil: false] } - + public subscript(key: String, ignoreNil ignoreNil: Bool) -> Map { return self[key, delimiter: ".", ignoreNil: ignoreNil] } - public subscript(key: String, delimiter delimiter: String, ignoreNil ignoreNil: Bool) -> Map { - let nested = key.contains(delimiter) - return self[key, nested: nested, delimiter: delimiter, ignoreNil: ignoreNil] - } - + public subscript(key: String, delimiter delimiter: String, ignoreNil ignoreNil: Bool) -> Map { + let nested = key.contains(delimiter) + return self[key, nested: nested, delimiter: delimiter, ignoreNil: ignoreNil] + } + public subscript(key: String, nested nested: Bool, ignoreNil ignoreNil: Bool) -> Map { return self[key, nested: nested, delimiter: ".", ignoreNil: ignoreNil] } - public subscript(key: String, nested nested: Bool, delimiter delimiter: String, ignoreNil ignoreNil: Bool) -> Map { + public subscript(key: String, nested nested: Bool, delimiter delimiter: String, ignoreNil ignoreNil: Bool) -> Map { // save key and value associated to it currentKey = key keyIsNested = nested nestedKeyDelimiter = delimiter - + if mappingType == .fromJSON { - // check if a value exists for the current key + // check if a value exists for the current key // do this pre-check for performance reasons if nested == false { let object = JSON[key] @@ -122,7 +122,7 @@ public final class Map { public func value() -> T? { return currentValue as? T } - + } /// Fetch value from JSON dictionary, loop through keyPathComponents until we reach the desired object @@ -161,7 +161,7 @@ private func valueFor(_ keyPathComponents: ArraySlice, array: [Any]) -> //Try to convert keypath to Int as index if let keyPath = keyPathComponents.first, let index = Int(keyPath) , index >= 0 && index < array.count { - + let object = array[index] if object is NSNull { diff --git a/Example/Pods/ObjectMapper/Sources/MapError.swift b/Example/Pods/ObjectMapper/Sources/MapError.swift index 21e20cb..8e1c69a 100644 --- a/Example/Pods/ObjectMapper/Sources/MapError.swift +++ b/Example/Pods/ObjectMapper/Sources/MapError.swift @@ -61,7 +61,7 @@ extension MapError: CustomStringConvertible { ("- key", key), ("- currentValue", currentValue), ] - let infoString = info.map { "\($0): \($1 ?? "nil")" }.joined(separator: "\n") + let infoString = info.map { "\($0.0): \($0.1 ?? "nil")" }.joined(separator: "\n") return "Got an error while mapping.\n\(infoString)" } diff --git a/Example/Pods/ObjectMapper/Sources/Mappable.swift b/Example/Pods/ObjectMapper/Sources/Mappable.swift index f8abb92..ac5d71d 100644 --- a/Example/Pods/ObjectMapper/Sources/Mappable.swift +++ b/Example/Pods/ObjectMapper/Sources/Mappable.swift @@ -89,12 +89,9 @@ public extension Array where Element: BaseMappable { } /// Initialize Array from a JSON Array - public init?(JSONArray: [[String: Any]], context: MapContext? = nil) { - if let obj: [Element] = Mapper(context: context).mapArray(JSONArray: JSONArray) { - self = obj - } else { - return nil - } + public init(JSONArray: [[String: Any]], context: MapContext? = nil) { + let obj: [Element] = Mapper(context: context).mapArray(JSONArray: JSONArray) + self = obj } /// Returns the JSON Array diff --git a/Example/Pods/ObjectMapper/Sources/Mapper.swift b/Example/Pods/ObjectMapper/Sources/Mapper.swift index 9071acc..8945a4d 100755 --- a/Example/Pods/ObjectMapper/Sources/Mapper.swift +++ b/Example/Pods/ObjectMapper/Sources/Mapper.swift @@ -106,8 +106,22 @@ public final class Mapper { object.mapping(map: map) return object } - } else if N.self is ImmutableMappable.Type { // Check if object is ImmutableMappable - assert(false, "'ImmutableMappable' type requires throwing version of function \(#function) - use 'try' before \(#function)") + } else if let klass = N.self as? ImmutableMappable.Type { // Check if object is ImmutableMappable + do { + return try klass.init(map: map) as? N + } catch let error { + #if DEBUG + let exception: NSException + if let mapError = error as? MapError { + exception = NSException(name: .init(rawValue: "MapError"), reason: mapError.description, userInfo: nil) + } else { + exception = NSException(name: .init(rawValue: "ImmutableMappableError"), reason: error.localizedDescription, userInfo: nil) + } + exception.raise() + #else + NSLog("\(error)") + #endif + } } else { // Ensure BaseMappable is not implemented directly assert(false, "BaseMappable should not be implemented directly. Please implement Mappable, StaticMappable or ImmutableMappable") @@ -145,7 +159,7 @@ public final class Mapper { } /// Maps an array of JSON dictionary to an array of Mappable objects - public func mapArray(JSONArray: [[String: Any]]) -> [N]? { + public func mapArray(JSONArray: [[String: Any]]) -> [N] { // map every element in JSON array to type N let result = JSONArray.flatMap(map) return result @@ -228,9 +242,8 @@ public final class Mapper { if let JSONArray = JSONObject as? [[[String: Any]]] { var objectArray = [[N]]() for innerJSONArray in JSONArray { - if let array = mapArray(JSONArray: innerJSONArray){ - objectArray.append(array) - } + let array = mapArray(JSONArray: innerJSONArray) + objectArray.append(array) } if objectArray.isEmpty == false { @@ -289,17 +302,17 @@ extension Mapper { ///Maps a dictionary of Objects that conform to Mappable to a JSON dictionary of dictionaries. public func toJSONDictionary(_ dictionary: [String: N]) -> [String: [String: Any]] { - return dictionary.map { k, v in + return dictionary.map { (arg: (key: String, value: N)) in // convert every value in dictionary to its JSON dictionary equivalent - return (k, self.toJSON(v)) + return (arg.key, self.toJSON(arg.value)) } } ///Maps a dictionary of Objects that conform to Mappable to a JSON dictionary of dictionaries. public func toJSONDictionaryOfArrays(_ dictionary: [String: [N]]) -> [String: [[String: Any]]] { - return dictionary.map { k, v in + return dictionary.map { (arg: (key: String, value: [N])) in // convert every value (array) in dictionary to its JSON dictionary equivalent - return (k, self.toJSONArray(v)) + return (arg.key, self.toJSONArray(arg.value)) } } @@ -396,7 +409,7 @@ extension Mapper where N: Hashable { } extension Dictionary { - internal func map(_ f: (Element) throws -> (K, V)) rethrows -> [K: V] { + internal func map(_ f: (Element) throws -> (K, V)) rethrows -> [K: V] { var mapped = [K: V]() for element in self { @@ -407,7 +420,7 @@ extension Dictionary { return mapped } - internal func map(_ f: (Element) throws -> (K, [V])) rethrows -> [K: [V]] { + internal func map(_ f: (Element) throws -> (K, [V])) rethrows -> [K: [V]] { var mapped = [K: [V]]() for element in self { diff --git a/Example/Pods/ObjectMapper/Sources/NSDecimalNumberTransform.swift b/Example/Pods/ObjectMapper/Sources/NSDecimalNumberTransform.swift index d9cf2b7..5852135 100644 --- a/Example/Pods/ObjectMapper/Sources/NSDecimalNumberTransform.swift +++ b/Example/Pods/ObjectMapper/Sources/NSDecimalNumberTransform.swift @@ -37,8 +37,9 @@ open class NSDecimalNumberTransform: TransformType { open func transformFromJSON(_ value: Any?) -> NSDecimalNumber? { if let string = value as? String { return NSDecimalNumber(string: string) - } - if let double = value as? Double { + } else if let number = value as? NSNumber { + return NSDecimalNumber(decimal: number.decimalValue) + } else if let double = value as? Double { return NSDecimalNumber(floatLiteral: double) } return nil diff --git a/Example/Pods/ObjectMapper/Sources/Operators.swift b/Example/Pods/ObjectMapper/Sources/Operators.swift index 57741f8..eb49735 100755 --- a/Example/Pods/ObjectMapper/Sources/Operators.swift +++ b/Example/Pods/ObjectMapper/Sources/Operators.swift @@ -327,10 +327,10 @@ public func <- (left: inout Array>!, right: Map) { } } -// MARK:- Set of Mappable objects - Set +// MARK:- Set of Mappable objects - Set /// Set of Mappable objects -public func <- (left: inout Set, right: Map) where T: Hashable { +public func <- (left: inout Set, right: Map) { switch right.mappingType { case .fromJSON where right.isKeyPresent: FromJSON.objectSet(&left, map: right) @@ -340,7 +340,7 @@ public func <- (left: inout Set, right: Map) where T: Hashab } } -public func >>> (left: Set, right: Map) where T: Hashable { +public func >>> (left: Set, right: Map) { if right.mappingType == .toJSON { ToJSON.objectSet(left, map: right) } @@ -348,7 +348,7 @@ public func >>> (left: Set, right: Map) where T: Hashable { /// Optional Set of Mappable objects -public func <- (left: inout Set?, right: Map) where T: Hashable, T: Hashable { +public func <- (left: inout Set?, right: Map) { switch right.mappingType { case .fromJSON where right.isKeyPresent: FromJSON.optionalObjectSet(&left, map: right) @@ -358,7 +358,7 @@ public func <- (left: inout Set?, right: Map) where T: Hasha } } -public func >>> (left: Set?, right: Map) where T: Hashable, T: Hashable { +public func >>> (left: Set?, right: Map) { if right.mappingType == .toJSON { ToJSON.optionalObjectSet(left, map: right) } @@ -366,7 +366,7 @@ public func >>> (left: Set?, right: Map) where T: Hashable, /// Implicitly unwrapped Optional Set of Mappable objects -public func <- (left: inout Set!, right: Map) where T: Hashable { +public func <- (left: inout Set!, right: Map) { switch right.mappingType { case .fromJSON where right.isKeyPresent: FromJSON.optionalObjectSet(&left, map: right) diff --git a/Example/Pods/ObjectMapper/Sources/ToJSON.swift b/Example/Pods/ObjectMapper/Sources/ToJSON.swift index 311d1d5..32c3432 100644 --- a/Example/Pods/ObjectMapper/Sources/ToJSON.swift +++ b/Example/Pods/ObjectMapper/Sources/ToJSON.swift @@ -103,7 +103,7 @@ internal final class ToJSON { } class func object(_ field: N, map: Map) { - if let result = Mapper(context: map.context).toJSON(field) as Any? { + if let result = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSON(field) as Any? { setValue(result, map: map) } } @@ -115,7 +115,7 @@ internal final class ToJSON { } class func objectArray(_ field: Array, map: Map) { - let JSONObjects = Mapper(context: map.context).toJSONArray(field) + let JSONObjects = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSONArray(field) setValue(JSONObjects, map: map) } @@ -129,7 +129,7 @@ internal final class ToJSON { class func twoDimensionalObjectArray(_ field: Array>, map: Map) { var array = [[[String: Any]]]() for innerArray in field { - let JSONObjects = Mapper(context: map.context).toJSONArray(innerArray) + let JSONObjects = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSONArray(innerArray) array.append(JSONObjects) } setValue(array, map: map) @@ -141,20 +141,20 @@ internal final class ToJSON { } } - class func objectSet(_ field: Set, map: Map) where N: Hashable { - let JSONObjects = Mapper(context: map.context).toJSONSet(field) + class func objectSet(_ field: Set, map: Map) { + let JSONObjects = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSONSet(field) setValue(JSONObjects, map: map) } - class func optionalObjectSet(_ field: Set?, map: Map) where N: Hashable { + class func optionalObjectSet(_ field: Set?, map: Map) { if let field = field { objectSet(field, map: map) } } class func objectDictionary(_ field: Dictionary, map: Map) { - let JSONObjects = Mapper(context: map.context).toJSONDictionary(field) + let JSONObjects = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSONDictionary(field) setValue(JSONObjects, map: map) } @@ -166,7 +166,7 @@ internal final class ToJSON { } class func objectDictionaryOfArrays(_ field: Dictionary, map: Map) { - let JSONObjects = Mapper(context: map.context).toJSONDictionaryOfArrays(field) + let JSONObjects = Mapper(context: map.context, shouldIncludeNilValues: map.shouldIncludeNilValues).toJSONDictionaryOfArrays(field) setValue(JSONObjects, map: map) } diff --git a/Example/Pods/ObjectMapper/Sources/TransformOperators.swift b/Example/Pods/ObjectMapper/Sources/TransformOperators.swift index b08a8b5..0a96e00 100644 --- a/Example/Pods/ObjectMapper/Sources/TransformOperators.swift +++ b/Example/Pods/ObjectMapper/Sources/TransformOperators.swift @@ -300,7 +300,8 @@ public func <- (left: inout Dictionary (String, [Transform.Object]) in + let transformedDictionary = dictionary.map { (arg: (key: String, values: [Any])) -> (String, [Transform.Object]) in + let (key, values) = arg if let jsonArray = fromJSONArrayWithTransform(values, transform: transform) { return (key, jsonArray) } @@ -320,8 +321,9 @@ public func >>> (left: Dictionary(left: inout Dictionary (String, [Transform.Object]) in + let transformedDictionary = dictionary.map { (arg: (key: String, values: [Any])) -> (String, [Transform.Object]) in + let (key, values) = arg if let jsonArray = fromJSONArrayWithTransform(values, transform: transform) { return (key, jsonArray) } @@ -343,7 +346,6 @@ public func <- (left: inout Dictionary>> (left: Dictionary(left: inout Dictionary (String, [Transform.Object]) in + let transformedDictionary = dictionary.map { (arg: (key: String, values: [Any])) -> (String, [Transform.Object]) in + let (key, values) = arg if let jsonArray = fromJSONArrayWithTransform(values, transform: transform) { return (key, jsonArray) } @@ -519,10 +522,10 @@ public func <- (left: inout [[Transform.Object]]!, rig } } -// MARK:- Set of Mappable objects with a transform - Set +// MARK:- Set of Mappable objects with a transform - Set /// Set of Mappable objects with transform -public func <- (left: inout Set, right: (Map, Transform)) where Transform.Object: Hashable & BaseMappable { +public func <- (left: inout Set, right: (Map, Transform)) where Transform.Object: BaseMappable { let (map, transform) = right switch map.mappingType { case .fromJSON where map.isKeyPresent: @@ -535,7 +538,7 @@ public func <- (left: inout Set, rig } } -public func >>> (left: Set, right: (Map, Transform)) where Transform.Object: Hashable & BaseMappable { +public func >>> (left: Set, right: (Map, Transform)) where Transform.Object: BaseMappable { let (map, transform) = right if map.mappingType == .toJSON { let transformedValues = toJSONArrayWithTransform(Array(left), transform: transform) @@ -545,7 +548,7 @@ public func >>> (left: Set, right: ( /// Optional Set of Mappable objects with transform -public func <- (left: inout Set?, right: (Map, Transform)) where Transform.Object: Hashable & BaseMappable { +public func <- (left: inout Set?, right: (Map, Transform)) where Transform.Object: BaseMappable { let (map, transform) = right switch map.mappingType { case .fromJSON where map.isKeyPresent: @@ -558,7 +561,7 @@ public func <- (left: inout Set?, ri } } -public func >>> (left: Set?, right: (Map, Transform)) where Transform.Object: Hashable & BaseMappable { +public func >>> (left: Set?, right: (Map, Transform)) where Transform.Object: BaseMappable { let (map, transform) = right if map.mappingType == .toJSON { if let values = left { @@ -570,7 +573,7 @@ public func >>> (left: Set?, right: /// Implicitly unwrapped Optional set of Mappable objects with transform -public func <- (left: inout Set!, right: (Map, Transform)) where Transform.Object: Hashable & BaseMappable { +public func <- (left: inout Set!, right: (Map, Transform)) where Transform.Object: BaseMappable { let (map, transform) = right switch map.mappingType { case .fromJSON where map.isKeyPresent: diff --git a/Example/Pods/ObjectMapper/Sources/URLTransform.swift b/Example/Pods/ObjectMapper/Sources/URLTransform.swift index 4ef109f..683a934 100644 --- a/Example/Pods/ObjectMapper/Sources/URLTransform.swift +++ b/Example/Pods/ObjectMapper/Sources/URLTransform.swift @@ -32,6 +32,7 @@ open class URLTransform: TransformType { public typealias Object = URL public typealias JSON = String private let shouldEncodeURLString: Bool + private let allowedCharacterSet: CharacterSet /** Initializes the URLTransform with an option to encode URL strings before converting them to an NSURL @@ -39,8 +40,9 @@ open class URLTransform: TransformType { to `NSURL(string:)` - returns: an initialized transformer */ - public init(shouldEncodeURLString: Bool = true) { + public init(shouldEncodeURLString: Bool = true, allowedCharacterSet: CharacterSet = .urlQueryAllowed) { self.shouldEncodeURLString = shouldEncodeURLString + self.allowedCharacterSet = allowedCharacterSet } open func transformFromJSON(_ value: Any?) -> URL? { @@ -49,8 +51,8 @@ open class URLTransform: TransformType { if !shouldEncodeURLString { return URL(string: URLString) } - - guard let escapedURLString = URLString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) else { + + guard let escapedURLString = URLString.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) else { return nil } return URL(string: escapedURLString) diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index c4b8e07..aebf4ab 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,141 +7,143 @@ objects = { /* Begin PBXBuildFile section */ - 003693634D109BB566829FA997252ECE /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7516754E7EE4374BCE1DB08D4EA8FB /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 01A349F4DD104E46286136A983EA05C8 /* ObjectMapper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 736C19A3D8AC31DE1A0E1EF31ECB0681 /* ObjectMapper.framework */; }; 0202E91BD433E428B5ABA0057800D7BD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - 033C8F83710056A4119206425F8300AA /* KeyboardSpyInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFCDA96480CB4A0D34168B654AB9B8B /* KeyboardSpyInfo.swift */; }; - 0DF54EF6561E1295B8765B88B6579241 /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = E393CC2F4B43D9FC67AFD36B638B8827 /* FromJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD4F0A8A303F69113EFD9412871958F0 /* Timeline.swift */; }; - 14D8B276D45767BC4D226E5267D687A9 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 580EE1FDBE4CFEFD80C93D465358CD4A /* ConstraintLayoutGuide.swift */; }; - 1674976E5691AC6C3F018C2E42683218 /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B314518118F768B77EA67393064B247B /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 167722A2E2EAC454440BBDF255598D1F /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12F5ED61A205A964E0E0E1999EE25BE8 /* Configuration.swift */; }; - 173E0DDB57B8665C8A31804018C38B22 /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB1E7DA8BF624791DFAD1DB314378D0 /* DictionaryTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1820E6B39BE2280FBCD82BE8A442C364 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B51F67E8F169A477A62AFCF7F1F451A /* ConstraintOffsetTarget.swift */; }; - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 860CD9B2D29D8E3B0487895B88A1E9DC /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20BF1A4181DEFD602769EC9EB238A123 /* KeyboardSpy-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B1913B65E3C345B7516E1BE79E849E4 /* KeyboardSpy-dummy.m */; }; - 24553927300B10F87D89BA7360BD4D7F /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D5DDE9854FCEFF7D71FFF58068C0EA0 /* NSDecimalNumberTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 249BEC20A95460C784F48DF9AC00A302 /* AlamofireObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 487659475BA1E1265E159DD06B65B7C2 /* AlamofireObjectMapper-dummy.m */; }; - 250D8952499E6F0A38E9FCEE351CE9B4 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B17AC519D2456A47C1ED414E5B7928 /* ConstraintPriority.swift */; }; - 25A8E544EE7288222A45CDD100453BE7 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0033EE63827A3890F7146B603327CAEE /* HexColorTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 260F5A453834DFDCC8B7CAB57F2EDD23 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FADF66E44FB9D67CCD110EE5FE0E90 /* ConstraintDSL.swift */; }; - 27FAB80E7BF1D66A70858A9E0CD36DE1 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4424C9F49C12E32DBDF73F5014C0640 /* LayoutConstraint.swift */; }; - 2BFCF42F1301687015400C8C9E6F2956 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AD081614A765697D6EA73DD719495D7 /* Logger.swift */; }; + 028F7BF3F13D9D6CD093BE577808B1B1 /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0277AA4A341BBD567887900202E29625 /* DateFormatterTransform.swift */; }; + 033C8F83710056A4119206425F8300AA /* KeyboardSpyInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BE3CD20A08B4684E88C17950749B8D /* KeyboardSpyInfo.swift */; }; + 04E60488FC2739F1F05F5C62033523AE /* RequestObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2883B5440372D2D9350BE370073DD7F3 /* RequestObserver.swift */; }; + 05CB6B5B3A5024A0678959CCBFC2A0F7 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8BF48FED987623FAD39C0D9608740B3 /* Operators.swift */; }; + 068E8FEEEF03C90C4FE9520009B3A016 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = C947564271E8A8ECE95152FA4993F1F5 /* Typealiases.swift */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = B851B64BE0E31DE86FDF3A8B97FE64ED /* Timeline.swift */; }; + 1674976E5691AC6C3F018C2E42683218 /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E636B35CD55FA78624E5610CF7F72095 /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 898D46D5151C024EDA532A382525D07F /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1EED1CBCAA8DDEE44D2BA3A95240E929 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 289331361BB424DB5E706F5DBEFCB9A8 /* ConstraintMakerEditable.swift */; }; + 20BF1A4181DEFD602769EC9EB238A123 /* KeyboardSpy-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE77C5F34B3A294B5F612A2E2A3E58C /* KeyboardSpy-dummy.m */; }; + 254389332A82BEA45992F661F5B3DD56 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638062B78F8741EBBA5E87C095F6AD26 /* ConstraintDescription.swift */; }; + 260112ED9612CF82C0D3B42913FE73BC /* AlamofireObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EDAC8F9EF06985427B687DEED07ADD9 /* AlamofireObjectMapper-dummy.m */; }; + 27D54A2B7F73E61E6F3DC8B0F41939FA /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DBE33FF3F98CCFF84D062BBE1AAC71 /* ConstraintPriority.swift */; }; + 27EBB2018CBCA7FAD1784A4FFA1B09F5 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA533ED22D72595B9EB760A693F72D3F /* ConstraintMaker.swift */; }; + 284A6ED51E9FC88DA9146E0D19955A38 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; + 285A5E2E0E65AD99D88AEF999D9CB135 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 91EF5DDF327661F3EFDE7A9C8F544076 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29A3B5C0505F684217B49C8C3D9E9833 /* NotificationBannerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A9A1323B03781C0089FCB929494BDD /* NotificationBannerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2B889FAA739FD519B71E01A37AA8B0EA /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DF20DD34AFEE690E46D82DCC906CE1 /* ConstraintInsets.swift */; }; + 2B8A5BFFADF158FD5A7760A6308D2F35 /* AlamoRecord-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F2F5526B5E8CEFB1161BAE3A899600C7 /* AlamoRecord-dummy.m */; }; 3000EF5DAA54B7B361CE8CC387EC769E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - 32333B61680FF87D575739D0C3BF0A6A /* ErrorParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB7E65DB3D844A8DA3A2E470D7F7163D /* ErrorParser.swift */; }; - 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6645419F602A9597E5296EC88A706E4 /* TaskDelegate.swift */; }; - 3780FF5B7DA57CACE802579B798496DB /* NotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31D7F311BD5A1752F46077910F1D565B /* NotificationBanner.swift */; }; + 341295F59AF123C0C53B486E47F02B5C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; + 3495CF98F4BD677FD65CF8D6E18BAB07 /* MarqueeLabel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF79FD79AB36BA7231551F24ED27180C /* MarqueeLabel.framework */; }; + 35AFBFB34DA1956EF7FCB64BC50946D8 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA9969E7962044BEB3D4BF1B9A285B0D /* EnumTransform.swift */; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B28E72BE3978CC2568DED2EF22D7020 /* TaskDelegate.swift */; }; + 375698920E797E91DBDB8A3249B56B0E /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCBFC6CAC750013A8F47E024ECB178CD /* Map.swift */; }; + 375AD5B4037B367C74B348C0644C0509 /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8E9907244EDBF4D0112EA77E694F8A /* FromJSON.swift */; }; 37E7BC1EBA446D32DCE21550260BAF73 /* Pods-AlamoRecord_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B0E062BBFDB1CB72FED0EA552D55E7A /* Pods-AlamoRecord_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C085039F92DDF6BAE072FBF51CB0778 /* StatusCodeObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BDA82732F06816E5EAB6942F2A5406F /* StatusCodeObserver.swift */; }; - 4051F6B76DA9210CA10F5A8DADAB95FB /* AlamoRecord-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C71E2B1F09707FCD9B2E4ECA86B9CD /* AlamoRecord-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 43335DB8AF71F2E9545B2BA43285E287 /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1521A3CB040CB1818ED615D75FDE339 /* ImmutableMappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4368074C159C79A9B125BD4392B5CEBF /* BannerColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06111E9D6ADD78803561775FD8C15D7C /* BannerColors.swift */; }; - 462187166E725C306E56BC2BA36DE4C4 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F127809778D6CEEB128BC55FD093B73 /* ConstraintAttributes.swift */; }; - 47080EB66BF29BDEF701B36D1E20967E /* NotificationBannerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178E95E42FD5A209CE3CF5BB27DE6E1 /* NotificationBannerSwift-dummy.m */; }; - 4890B0B6BF0CA1B16443C7442DDB9BFB /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE7CE4BD447AA68E8868F1266ABFE5A6 /* ConstraintMakerPriortizable.swift */; }; - 4A4C9E3E1AB5F81DAC18EC1D01C8CA67 /* AlamoRecordObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 072D22EA7409A245A4044BA732E58D2D /* AlamoRecordObject.swift */; }; - 4A5B15F5BD365B620EA6445F1AC559DE /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44484B73C817517F9CA420362D0D980A /* CustomDateFormatTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4CE57BA9F3209F2E5D730F35361D112D /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90E1D9682E426D96A2D3936D86B6D68B /* ISO8601DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3A2B89595BDE2A936B16A0BF577A13B9 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798199B19F5F3F24121509E64B9AE157 /* ConstraintLayoutGuideDSL.swift */; }; + 3AF81E39DB87065BBF28C375A5D63EB3 /* AlamoRecordObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 145C13149F73E402EE2BFA1237FDB23A /* AlamoRecordObject.swift */; }; + 3D0941637832D2ABCFB4FCE55DFA75BF /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58FC624D52D08CFB96247988E65ABEEE /* ConstraintLayoutGuide+Extensions.swift */; }; + 3EB9DC3783A4296C8BAAB07AC36C05F3 /* AlamofireObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4E4812453FA990163B2D741FD690320 /* AlamofireObjectMapper.swift */; }; + 3F007A9D204D7A452AB345815E3B8D76 /* StatusCodeObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79B14869640BB201233B676309CFCFC7 /* StatusCodeObserver.swift */; }; + 4051F6B76DA9210CA10F5A8DADAB95FB /* AlamoRecord-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 541C8120C23FEB9F7EB275B3DE6C0DF8 /* AlamoRecord-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 41EB21CC9E40671FD59A92C931DE69BF /* SnapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE97575F0FF18410D61A2FB604298685 /* SnapKit.framework */; }; + 451410B462A1BD80EE492CA014D3774D /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A42C21CBC22B103DD5B6F4C464C3499 /* LayoutConstraintItem.swift */; }; + 4692387FDE49B5CBC9D1339E1636EB6A /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE2CB537F1F6C74F67CFDFF94832BECC /* ConstraintPriorityTarget.swift */; }; + 4863B9B382D2BA7A07C414A91E1DD6B0 /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1760146A88784FC256F7A0BD1372D385 /* ObjectMapper-dummy.m */; }; 4E144A5F6A61AACDFDFF8E00A4E5C17B /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7836D95EB469B95DF8F8B5BE4443560B /* Alamofire.framework */; }; - 50497589C9F33A33FFBA4C2D50B335D3 /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0F6A13A0D6E90EF93303C53CE67204 /* DateTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 52E1BABD8927CBAB89E0DFBD65D086A1 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9EFE77DD7B1BE05AA2B594A1A2A47C /* ToJSON.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 828F24AEA3192E77B3A63075F3397A33 /* Request.swift */; }; - 5FC613C6B2AA3067736F6694F8C5E2AC /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BA9ADB115C9E1DB514F6878B8903B /* ConstraintMakerExtendable.swift */; }; - 5FEC678FBAB3B0AB9F4C1652AA2E7465 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = A394F606A91F2327B18890C31D7E323F /* Debugging.swift */; }; - 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6A3394D2139DA7C16EBD4D258A9279 /* DispatchQueue+Alamofire.swift */; }; - 623FA388F76C743809099881B070081D /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77DC8BF89E225FA8470CBBF83B7000E1 /* Map.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F092BC642087EA51188E66721D8C4861 /* ServerTrustPolicy.swift */; }; - 6469BCC88D68905136CBB2FC47F590DB /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02B384DCD138B3C596D5EC15C1489B8 /* TransformOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 64D8D0BF60DBE74D9B2532596112F6AF /* StatusBarNotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C21864E1F4DB2ADE22CA7E6574086A7 /* StatusBarNotificationBanner.swift */; }; - 659179EFC4D883F90CCFCD9AF4029E72 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94BBF326678D922A70546D16BCADF6A7 /* EnumTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 68661BD99D060500934A96CC0759FA24 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36310AC7382EA7065E76BDBC37E61108 /* ConstraintLayoutGuideDSL.swift */; }; - 68E04C91029E3A6EB0EEE511DB1A9FC0 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6DB9C4ECA52C48FF9EF6BB90559B19 /* ConstraintView+Extensions.swift */; }; + 4EEB11FBC1DFADD32142D7F2CFDA95CD /* RequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F19D319F1F61851857C161D7CA51751 /* RequestManager.swift */; }; + 50DE060C2698A7433C9EC43AD83C863C /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F6D96CAB0AC4116A7B3B466F12882B9 /* Debugging.swift */; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EF4BD8E225D1AFFAB6A36179A95EE31 /* Request.swift */; }; + 53B967810C9AEBFF2E908D089E88A8D9 /* NotificationBannerUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A8E643185672E622464E17DAEF8E079 /* NotificationBannerUtilities.swift */; }; + 54334A036232F3AD1BD3D9D682EA702D /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72208DE78565D3CBAB32321F13F86833 /* HexColorTransform.swift */; }; + 560FE660E022A6A604F1669E682E7523 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 867AE19B26D60FEA6D3BCBE46DCF4C90 /* Logger.swift */; }; + 58BC968278BF35B00F9A574D79D2B8CD /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6152E6D6C5FF74D399E8E49ADD6EA4D /* ConstraintRelation.swift */; }; + 5BEC65F1E64F4BC3B0AD838E60E1C4A9 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = E779B8F35A77DC1ED97CCCCE8620957D /* ToJSON.swift */; }; + 5CB6F6D84ABC9285380AED9DB4B14CE7 /* BannerColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100781A01F52C8868DE7952995131BF4 /* BannerColors.swift */; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61650354959EE750270139458CDF37DB /* DispatchQueue+Alamofire.swift */; }; + 6131918F7D68D9CF4F7F72C2EECB4FB0 /* BannerHapticGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F94AE28DD94B3DE6CAD1887DCD735BA /* BannerHapticGenerator.swift */; }; + 6140699B499701C95C16CA9E10A60B10 /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C616CD08A98BC45BBCAAD5A55F3B213 /* EnumOperators.swift */; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D36B28ABBE7BBC12C0EF30488076C9 /* ServerTrustPolicy.swift */; }; + 6561EFAAAFE0E3FB560D8B87D50C0414 /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A4E71F4F3512AE7E0D80A3FA3E96B45 /* DateTransform.swift */; }; + 682A5E479FA6529BEED24DC43BBD685C /* NotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF7332E13DB8EE35D258AAD6CF01DA96 /* NotificationBanner.swift */; }; + 6AACEFD12135C9DEA33E55F29E135047 /* AlamoRecordError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25F825459003FC49BC6BE6A630244CA9 /* AlamoRecordError.swift */; }; 6D9F7D4DA2FE289511C9C086940F11F8 /* Pods-AlamoRecord_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0395343D5043AEFB9E9115F8DC5C5B9A /* Pods-AlamoRecord_Example-dummy.m */; }; - 6DC573B3A28D92360BB82B8FFB9A1049 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 558F5437BEC8B8D256D0F82517D2AA31 /* ConstraintView.swift */; }; - 6E0717670D9E8076718C9FB0FBB4E7CC /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9847439B702D3ED598394857B39C0682 /* UILayoutSupport+Extensions.swift */; }; - 704C378A35C7900922EDFF09F26817E4 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6B3BBE14225B91B0993251C69EB0A22 /* ConstraintRelation.swift */; }; - 716C8C47D45ED102DB9BC024A44213A2 /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DB6E2D790EBD5CF5EE51CFBD5911AD0 /* TransformOf.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - 73C30E155A6DB1AA54EAD0449CB79B91 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3E705C0DD8FF725A27C1E891EC65F40 /* ConstraintPriorityTarget.swift */; }; - 73E5A6236B40350EEBDDB55ED7593B48 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A7DD0DBF3F08A4FEA7B627CC4E8C93C /* ConstraintLayoutSupportDSL.swift */; }; - 78513DC37FF6CB74D99E968612BB951A /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB795E726E7B6B1EB3A283E93EF28064 /* ConstraintDescription.swift */; }; - 79756BB5901F4D9DD010F3C8702AD094 /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96EAA002DF440C2BAA54B8C77B8C65E5 /* EnumOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7987E13249DA37F251AFADA57F94C9D4 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD1CFCA279D074EB64267E4305BBDE2 /* ConstraintConstantTarget.swift */; }; + 74D7B56EE91ACB42EB352CEF073CF4BB /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4407949AC3731A6DB823F4AF9EF61775 /* MapError.swift */; }; + 765624085108240F1A2952486A60B66F /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3327B061DC126CD19E4FC5C4F1826AEF /* DataTransform.swift */; }; 7A85DDA82105465191090E1CD3FCDC00 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 240ED82E24015FEDB87313481DA586D0 /* UIKit.framework */; }; - 7ACB48756D90C0033E16742CE68BBC1B /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408A7880447E7D8F4282341975F29B68 /* ConstraintInsetTarget.swift */; }; - 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D3131756374F4DB6AA22BEF7104A046 /* SessionDelegate.swift */; }; - 7B9F6C9F17CCC0CA46BA273CEEACB452 /* RequestObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDABC0BAF6264598EE7FEE9E52055097 /* RequestObserver.swift */; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E4674395F7BFCC019135970225F51C /* SessionDelegate.swift */; }; + 7BE81D28BE233A47AC5BE1B3FA26FDB5 /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A926980C17DD40199B69119A9C509415 /* TransformOperators.swift */; }; + 7D0BBDC4A313D29872DBC771864C1EA9 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9965497669E92A1C49A4885E67D002D5 /* Configuration.swift */; }; 7D7E11AD1344976DB0D9DD68DB3C4058 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7352305CC3D682E1C03F79033FE54C8E /* Result.swift */; }; - 7DCB2E1C61B79A9E14F572454B221E18 /* BannerStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD2569F42665A500D4B1630B1391DBF /* BannerStyle.swift */; }; - 7F3085DC38B231A141F7363C25A66E95 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FB3185EC161138DA42954F9DC99C53 /* ConstraintMultiplierTarget.swift */; }; - 81757F684D084AC69DAE797488D314F2 /* MarqueeLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C966F45D1A726B608B3BAB2CEB59E4C1 /* MarqueeLabel-dummy.m */; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B7AF8321A4948FA662E845FE9308AD6 /* Result.swift */; }; + 8022FE8243222780F58CDFD44A49F311 /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C50DE45B27658F07368C610BAE9ECC6 /* ISO8601DateTransform.swift */; }; + 80FBD965D6160B82CF4B55FB3409C1FD /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A2ED985D5E4B453A3AE7BD106F6D658 /* Mappable.swift */; }; + 81757F684D084AC69DAE797488D314F2 /* MarqueeLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5758E180C266AB5FE0EA38594EAD8720 /* MarqueeLabel-dummy.m */; }; 82B33F223516A2AA7DA2985E5A954B88 /* ObjectMapper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 736C19A3D8AC31DE1A0E1EF31ECB0681 /* ObjectMapper.framework */; }; - 861BD735EE9F16DAE1C4BCDF60B452A2 /* BaseNotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7692286943819597B6B2C1986ECEC7B8 /* BaseNotificationBanner.swift */; }; + 8491440E494CAAAE6DB2EA1D8D215903 /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954BDAB2B126BCE1E7B43F4849C6F52D /* ImmutableMappable.swift */; }; + 87808D9B07A8C7E54A446F8D894C7069 /* NotificationBannerQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24F4370F54ACCCE4EBAE52878934F1E8 /* NotificationBannerQueue.swift */; }; 880CC76F98D10D4F3E068DD8F44C5CC4 /* Pods-Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3707349EB3DA0DA0DF950D5E096AC14C /* Pods-Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8B1DCAA3A596869078949E1534E60DB8 /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B344A0B98327D15CC9B32C93FE5FE3 /* DateFormatterTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8FB70B25925DD57A904EB6EAB8AF78C6 /* SnapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE97575F0FF18410D61A2FB604298685 /* SnapKit.framework */; }; - 9113FE1274F17B76B03DA0D5B3B335F3 /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 457A8D6B068F1D93E0D7D66C5D41E869 /* Mapper.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 94CB44FE1892C46B0C1E5AC6FF8FED67 /* URLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B6329A1438FA72014F0F599D9FFC18B /* URLProtocol.swift */; }; - 9598A62AD58FEC558A05BE31BEF38007 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFFD8E7C64DECEA41193C8DA35BEC831 /* ConstraintMakerEditable.swift */; }; - 9E9425338EB30BF3601B7552B7CFD40F /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7549FB918CA6AB03A77E505398FE4557 /* Constraint.swift */; }; - 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20405915A100221BCD6A6C23DE018526 /* AFError.swift */; }; - 9EE50A99F3EC271D4315836CBC2C0485 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1E556053691CD8FD111C974550CA187 /* URLTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 9F46AEDFD7CC94A04723B5F2CB5614EA /* KeyboardSpyAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCC227F962C4F82768DBCCD47347720A /* KeyboardSpyAgent.swift */; }; - A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BA8691EAE9D46C17F7F50FAAF9C3DBB /* NetworkReachabilityManager.swift */; }; - A54844A4EFDF4EDEDD1778FCFE61843B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DFD492DCACCDAB3A7457F00652900FDB /* SnapKit-dummy.m */; }; - A702D1A8C14D264AE7B38E898CE76382 /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A510203600BDC56DFE276234A27A0F1 /* ObjectMapper-dummy.m */; }; - A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3F656844C1D70D2C363DF7469104120 /* Alamofire-dummy.m */; }; - AAC91DDB15208691DA405505FB7EEF03 /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177E31F88957352F6BE2F20FF8110452 /* MapError.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - AB0362A9E4FD38119D228C2DA2770F7F /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FA28F854892EC9BAA1D0DDDC8E94D4 /* Operators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - ABE6EED7D1F8099A952FF55BC739866D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - ACECE9F41CC1F2423487F78054413525 /* AlamofireObjectMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A61B284A0785B1F318D4E56B6AFFA54 /* AlamofireObjectMapper.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3ADEC1EAE23970A845C6D67CFC4B7B1 /* SessionManager.swift */; }; - B049325161BC60CA2F6D35722DEFF467 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C561362C520CE425E7985D15657394 /* MultipartFormData.swift */; }; - B812F90DB775AFDF1DFA13480D844916 /* MarqueeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5330FB5356B99F868D2567EED392D444 /* MarqueeLabel.swift */; }; - BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AD19EC907ED4513E1502567F1CEDE39 /* Validation.swift */; }; - BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DEA782475C14A2EC9BD6D06F3E7381 /* ParameterEncoding.swift */; }; + 8CB13A95CE0597C93931A23CAAB9C040 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12CE3E0C27FAF4F4788DBC771C6FD1A2 /* ConstraintRelatableTarget.swift */; }; + 8F46A5E6F7671EA5EA201315E3A799E6 /* IntegerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1402D22515B1A5B72F549846B2547567 /* IntegerOperators.swift */; }; + 90F438528619977EE54D93F123FAAB85 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94CDFBC04E6E7BD3489A3DFA01950B3 /* ConstraintLayoutSupportDSL.swift */; }; + 91BA18956F6AA6D48D76E2EB0DEAD801 /* URLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3FD31A59FE206B1C02E43E58566A592 /* URLProtocol.swift */; }; + 923214FFA0FDFEE4156C940898DC7015 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98FCD404051D6CD9860C37A64A0E2A0B /* ConstraintConfig.swift */; }; + 974CF452F9D3FE6FF3E697DD864EBD13 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAC45D38FB076F604D9E399A564B21C1 /* UILayoutSupport+Extensions.swift */; }; + 9934F16C237A1A16241E331B0BB9342D /* BannerPositionFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8883A7B2FFADD8D29C76B43CBC4A26D4 /* BannerPositionFrame.swift */; }; + 9C655404E5C7D42907234439EF895BD5 /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735CEADA4B60187FC8C81CBB2D998299 /* TransformOf.swift */; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA8E434A88F87EB786D6E094402001E /* AFError.swift */; }; + 9F46AEDFD7CC94A04723B5F2CB5614EA /* KeyboardSpyAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3EC3E53F75709EF7A46C6A57CCEFD46 /* KeyboardSpyAgent.swift */; }; + A22566C71CFE2650BB542C4626477DAA /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D080F593F22B2E57A9772AED8E4A9D77 /* Mapper.swift */; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30528F18D3A5E4B4949486D121D2F7F9 /* NetworkReachabilityManager.swift */; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 266A0BB6BCBD0B9DA3FAFC5E9BF7C3E4 /* Alamofire-dummy.m */; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B856A1178A2C9D4432B1AFF6659C9D52 /* SessionManager.swift */; }; + AFD1EAC48C02F48CE6AA07D33AA5B356 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639AD8C681732DA940587597D4E1CCD1 /* ConstraintViewDSL.swift */; }; + B0438CAC2C1459719EC744B12F5C91DC /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 019583B68900DBF9788D91BD247A26DC /* DictionaryTransform.swift */; }; + B1DF58FE1558D4FFF491519D4E1BC598 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5543F8A30A2B6E2ADC230DF24D2F0E7D /* ConstraintLayoutGuide.swift */; }; + B3C99FE491A16B8E75CDC1F6454AAAB1 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BAEDA0DBD222F0B2CDE5C53FE05D069 /* ConstraintItem.swift */; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2445F24B383FD78461B337995844F597 /* MultipartFormData.swift */; }; + B67EFAEFCB60963095904E8B0EDB1167 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 337BB06AF4BF572FE954AC79741CD1CA /* LayoutConstraint.swift */; }; + B73D4607C1DB58B06986EF7182EE9D08 /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C6ABE7A32481D53FF6A7C8309407DB7 /* CustomDateFormatTransform.swift */; }; + B812F90DB775AFDF1DFA13480D844916 /* MarqueeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA46AD8FACF67459CD05E61C262D0542 /* MarqueeLabel.swift */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5525AEA713DDBC655FEAA2359F87EB29 /* Validation.swift */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE833DEC68B088E17A42AEB0E6A64912 /* ParameterEncoding.swift */; }; BE64F09C3FD8A8D6792060FA5E10381A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 337F17477890857227683FFB72EAE3AB /* QuartzCore.framework */; }; + BEA971ED37B4933878CC144B9BE28F87 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E7421F68B6551C34A522C63F930517 /* ConstraintAttributes.swift */; }; C024334DF397E2B75758C70701E88868 /* Pods-Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8380BFB009E5A320059E5EB736F7CF2A /* Pods-Tests-dummy.m */; }; - C2B96898CE97C3E3F2EA998755CA84F6 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D9642B2DC40E73853638167AAB7730C /* ConstraintRelatableTarget.swift */; }; - C3F4E6229589E098767CF9494472F76F /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7D0F8D2B8CAB4F31C7148DFBE2B2C60 /* ConstraintLayoutGuide+Extensions.swift */; }; - C43398F7BB6D22A9AEDC51AEC2FEE29F /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8DF593E8013697A14858E9E97491573 /* ConstraintViewDSL.swift */; }; - C549768BABBED1C32593ADDF2AB24272 /* KeyboardSpy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1982107650BD5CBC7EDF1A707CC8F6C /* KeyboardSpy.swift */; }; - C6B2D57336261F866F9287DABD47566C /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD80ACDAF7DE0DF5AC3658A41FDE6971 /* ConstraintMakerFinalizable.swift */; }; - C7486CE7EBA304CDC2159EA5081626D5 /* IntegerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EABFD5626F0FC494005A46DABDF7A38 /* IntegerOperators.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CB580B7DBF3EFB45311B144E84BC78EE /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46E0BC34DB68E70157EE235D22F9A95 /* Mappable.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CB60C7B21C4FFD9DE2DEE3BDE90862F8 /* NotificationBannerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B81A1F00A464EA7128288EDB2BC173AE /* NotificationBannerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA418C2AFA9707DFCD0988E2BBA1FF14 /* Response.swift */; }; - D41BD7BB82446C159530DBBD27CB0FC9 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A544A1B1DCDD0F61485144D8970AE334 /* ConstraintConfig.swift */; }; + C21277D26A696BF58393051D1F5909BE /* BaseNotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5F7E09E3793386EE5F1BAEC7DA78A /* BaseNotificationBanner.swift */; }; + C4121571F5F7C6242E4857715F615C4C /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70A8EF3A906A9A82DC7D865D8C12B0AA /* ConstraintMakerPriortizable.swift */; }; + C549768BABBED1C32593ADDF2AB24272 /* KeyboardSpy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774941DCEA1E4A1417963A0952B7F071 /* KeyboardSpy.swift */; }; + C866131CE9297DB0472B225BF953A697 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF623B7BE9315DD747CC1AC59394AFC /* ConstraintMakerExtendable.swift */; }; + C8BD10458C541DE11F5992B9C482F8B3 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D16987DB4D19C055D99A15C335A62E /* ConstraintView+Extensions.swift */; }; + C8EBAB053AEAF8D0DAB59CD52DE7DF3C /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AF08CEB142A5E3A53A32C376B4397AC /* ConstraintConstantTarget.swift */; }; + CA1E06CB00C147AD88B8A721BF00F8D5 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03DFF203D73ABA71D519009275EAFCBD /* NSDecimalNumberTransform.swift */; }; + CA2F35983F4B2670A0A195384FF21BD0 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6230182B8B816E46E6A108E6044D4F9D /* URLTransform.swift */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B1F7F65E1337EDB2B715EF9A9B8F13C /* Response.swift */; }; D458F9F4E24E033424CDCDBE278127A4 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7836D95EB469B95DF8F8B5BE4443560B /* Alamofire.framework */; }; - D6F0F2A12C0FD119B3C5FC25AAE735C9 /* MarqueeLabel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF79FD79AB36BA7231551F24ED27180C /* MarqueeLabel.framework */; }; - D84642151672CA4B5300D7C0012E6749 /* AlamoRecord-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D351DF9997142B930ACD074BF2BB35 /* AlamoRecord-dummy.m */; }; - D8657FD1C17D5FF9D326D87A0A6F18FC /* RequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDBFA492A64B86526E252FB1C3F3E418 /* RequestManager.swift */; }; + D4D32FFE1DCFC00C5C8D39D514A2BF57 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3556F61C409FD3741E78852B69C9DF93 /* ConstraintLayoutSupport.swift */; }; + D554B8F6AFDC65B862C5EBE7191A27BB /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = D25CF68D3952990493EA467FFAA2EEAE /* Constraint.swift */; }; + D557A57C35B2ADBE5CE31554D068DD7C /* ErrorParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED19B48EDB564499204C950DF4F51F8 /* ErrorParser.swift */; }; D98C801255CC4BFC7BF63C0B1A2B6F79 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - DB833B8FAD23384516AE3A829D703C55 /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971FA20CFE2205F6F1FA6D12AF70076D /* TransformType.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - DB923051D121B166B855AF1C0809BAEF /* MarqueeLabel-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E005ECF8C832BE0F5F13902E0336606 /* MarqueeLabel-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DCDA87CCDD90C96F9A6CFCFD83E5D35D /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54AFF9D5F52ED2541064C93144BDCB2 /* ConstraintInsets.swift */; }; - E098F5B79794FE581AFAA2725844AFC4 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92EF942F67F7681A72B1B37755B78602 /* ConstraintItem.swift */; }; + DB923051D121B166B855AF1C0809BAEF /* MarqueeLabel-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BAAA4F9732FBA9728B1B160AD55F2F9 /* MarqueeLabel-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; E12F2F4AB46F2B8AF5E38C1A05C89C0D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - E1FDB8EB49DCBA9C697BF5EE4103D28A /* AlamofireObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 961D18A7F487D496057D1586F4A7C6CC /* AlamofireObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2255C1CF40161E107499A05C05E4535 /* KeyboardSpy-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C8644B70D6432BAB52F76A3F2440D5D7 /* KeyboardSpy-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3A065E1C280E1A3D5C79D5BFB231DD9 /* BannerPositionFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BEBBC6D840336B0AA5C39DF4D7C1C1B /* BannerPositionFrame.swift */; }; - E4738A11A0BC860B83B0C6C5807FF67D /* NotificationBannerQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA186771DA3C2B03CB9B581E525EC69D /* NotificationBannerQueue.swift */; }; - E7D25B21874A54B0B88053B9B05BA4DB /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C7B7170E704E1E4859C1000FE545FA /* DataTransform.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E1FDB8EB49DCBA9C697BF5EE4103D28A /* AlamofireObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C43463A280DC393A05B8FD4A02D35CD0 /* AlamofireObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2255C1CF40161E107499A05C05E4535 /* KeyboardSpy-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D8ABC99A38ED22F79D5C4F92D6A27F1 /* KeyboardSpy-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E23841A7779278B2284EDC2B0715E8AE /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F886D03C6E63F47AD7800CB668B9871E /* ConstraintInsetTarget.swift */; }; + E2B172D4B630FCBD7D61A3FA14892658 /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 417F8BA06B7F98D1B0229670DC866F5E /* TransformType.swift */; }; + E8EB9655DC9F33E37F1E0055FAB54453 /* StatusBarNotificationBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 919933E2738679132500FB9D5D755B72 /* StatusBarNotificationBanner.swift */; }; EAC479EFEDD9ABF0FCBCE1959D4869DA /* AlamofireObjectMapper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28849CF212F5D9DA00865FA1E82C34B6 /* AlamofireObjectMapper.framework */; }; - EB68AD162D5568E1218F0AEC251F3F13 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9DF9796B83BD3EB1268AF6FCD16FAAE /* ConstraintLayoutSupport.swift */; }; + EC5F13C7C33DC6DD978B5D35013C16AA /* NotificationBannerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FB8D809793FFD4497F2883E55C9C7C5 /* NotificationBannerSwift-dummy.m */; }; EC93150019618D3B79D41A9E8DE710C0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - ED50AC6F94C79693E92917355602E05F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34BE00F99ED66DF28C072FDCD78EC6 /* ConstraintMakerRelatable.swift */; }; - EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7E03094DB3CECB7F88825A2110EFF52 /* Notifications.swift */; }; - F1911AC63E11F1DE07D57920EEDBF175 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90BE88982B2C84424F585A2985A5B944 /* ConstraintMaker.swift */; }; - F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A078B69556701C07A7240296E5CD8FC /* ResponseSerialization.swift */; }; - F6C7244470E241EDE3B63FF86C13F807 /* KeyboardSpyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7B2F7348D79A4375C9A94609A6608F /* KeyboardSpyEvent.swift */; }; - F7FBCB5046A9FB3FB929B8D794E1B47B /* BannerHapticGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5611269643133C048C8DE2D2E3025D1 /* BannerHapticGenerator.swift */; }; - F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835A2E17AC9C6374B23FCE408738CF56 /* Alamofire.swift */; }; + EEE17AEEEE036DA80B5DD375AA233454 /* BannerStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60AA063532BA145F6B1BB670C33D7FA1 /* BannerStyle.swift */; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF589B5A755BE94A4140753C03B2B71B /* Notifications.swift */; }; + F35C987287A460E550E405674861E9FB /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E707476DC4388F90BB603482213C55ED /* ConstraintView.swift */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB43758BD56B1AF5062D21D807B0C4B3 /* ResponseSerialization.swift */; }; + F6C7244470E241EDE3B63FF86C13F807 /* KeyboardSpyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847901FB0D3E839E1B4F3E2410629706 /* KeyboardSpyEvent.swift */; }; + F6C79EF0FC967B1A27B66AE134AC1A7D /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AF6D01FABB28313939AB9FC2155FDE2 /* ConstraintMakerFinalizable.swift */; }; + F78E669A0D4F3AA7CF646D975F3C4D46 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 586527BBAC515D02294D00F297051D92 /* ConstraintOffsetTarget.swift */; }; + F79E9BC1FE2EFEC5E96C61DE637466A0 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50027ECF1FDA2B93CFE1A77B6600E6DD /* ConstraintMultiplierTarget.swift */; }; + F81DC3B381B0C486CD86753F6682192C /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0818766ED525BDEE5F4FD7EC8D14605 /* ConstraintDSL.swift */; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF8B56AD2E2EB9395EE23F8C33446414 /* Alamofire.swift */; }; + F8DD79B53005ACAFA84FCA6B68E30C60 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3713ACABAB1CB4E4754A690CBD0048C9 /* SnapKit-dummy.m */; }; F9FF6E3FBD108A12B6C1B50DB678D132 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */; }; - FD2C323271CAD14AB43C8B8DF95EDCF2 /* AlamoRecordError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E886EA722A27102D88F6CB2EE36D0F /* AlamoRecordError.swift */; }; - FDDF6F972E957830EBE398B746A91348 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29D7A6BBABDE80094AFC0FD57EA2C461 /* LayoutConstraintItem.swift */; }; + FCE9C18F23B6C1252904F6982E1D42ED /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A03FA37D643EB2AEA220478836D787DB /* ConstraintMakerRelatable.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -170,7 +172,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C7E22BEB205BF5EDC7D383150E23BC40; + remoteGlobalIDString = BC662CBB66DFBF297E1AE8050DE699D2; remoteInfo = NotificationBannerSwift; }; 6FC6E286D2C8489DF7139567DD7EB523 /* PBXContainerItemProxy */ = { @@ -184,7 +186,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EAA88C5A4B6AEAC54C2772A9995B99C2; + remoteGlobalIDString = 16B66C4B0E5D35B2F1155B6262C42CF5; remoteInfo = SnapKit; }; 7607302DF6424101D111E37450A33A50 /* PBXContainerItemProxy */ = { @@ -222,6 +224,13 @@ remoteGlobalIDString = 9502FB01641FBABB78522037E882757B; remoteInfo = AlamofireObjectMapper; }; + 9C874BB51BD907BB0BC3823E0F3AF429 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 16B66C4B0E5D35B2F1155B6262C42CF5; + remoteInfo = SnapKit; + }; 9F2EF48BEEF4E27079B07CBBA596AA5E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -250,27 +259,20 @@ remoteGlobalIDString = 9502FB01641FBABB78522037E882757B; remoteInfo = AlamofireObjectMapper; }; - E35305B3C601B2D503EB188E01C771EB /* PBXContainerItemProxy */ = { + E73E1FD115F094F6BADDD3FBB258F6F0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EAA88C5A4B6AEAC54C2772A9995B99C2; - remoteInfo = SnapKit; + remoteGlobalIDString = 2F5622F3B18DF497981AB58C6D1FC72F; + remoteInfo = ObjectMapper; }; - E3659C08BE48A52F9311D432DAC8A382 /* PBXContainerItemProxy */ = { + F36A64D57F66A414BE1D7586FB873461 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 320AD47B0C6BA014D301395D3BFC8FB6; remoteInfo = MarqueeLabel; }; - E73E1FD115F094F6BADDD3FBB258F6F0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2F5622F3B18DF497981AB58C6D1FC72F; - remoteInfo = ObjectMapper; - }; FD67285C021AABFB42E3F1D4D777FFDE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -281,189 +283,191 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0033EE63827A3890F7146B603327CAEE /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; - 02544FC15F6C595F63FC9FE818E01734 /* AlamoRecord-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamoRecord-prefix.pch"; sourceTree = ""; }; + 00E7EE553D5E99E5D4AB5E3A8F731B84 /* KeyboardSpy.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = KeyboardSpy.modulemap; sourceTree = ""; }; + 019583B68900DBF9788D91BD247A26DC /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; + 01DBE33FF3F98CCFF84D062BBE1AAC71 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; + 0277AA4A341BBD567887900202E29625 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; 0395343D5043AEFB9E9115F8DC5C5B9A /* Pods-AlamoRecord_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AlamoRecord_Example-dummy.m"; sourceTree = ""; }; - 06111E9D6ADD78803561775FD8C15D7C /* BannerColors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerColors.swift; path = NotificationBanner/Classes/BannerColors.swift; sourceTree = ""; }; - 072D22EA7409A245A4044BA732E58D2D /* AlamoRecordObject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlamoRecordObject.swift; sourceTree = ""; }; + 03DFF203D73ABA71D519009275EAFCBD /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; + 04BE3CD20A08B4684E88C17950749B8D /* KeyboardSpyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyInfo.swift; path = KeyboardSpy/Classes/KeyboardSpyInfo.swift; sourceTree = ""; }; + 06FB948E2B61430185131FFEB5DA0EBE /* SnapKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.xcconfig; sourceTree = ""; }; 077F219ECFF87864E30599AF68A307AD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 0A8E643185672E622464E17DAEF8E079 /* NotificationBannerUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotificationBannerUtilities.swift; path = NotificationBanner/Classes/NotificationBannerUtilities.swift; sourceTree = ""; }; + 0AF6D01FABB28313939AB9FC2155FDE2 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + 0B14B48B487EEE4FF2A2152079F0E80F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0B335FD552102E881349FC3267846B65 /* Pods_AlamoRecord_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AlamoRecord_Example.framework; path = "Pods-AlamoRecord_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C9EFE77DD7B1BE05AA2B594A1A2A47C /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; - 0D5DDE9854FCEFF7D71FFF58068C0EA0 /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; - 0E34BE00F99ED66DF28C072FDCD78EC6 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; - 12F5ED61A205A964E0E0E1999EE25BE8 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; - 13237D07905129FB69C73791D8691AA4 /* MarqueeLabel.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = MarqueeLabel.modulemap; sourceTree = ""; }; + 0C616CD08A98BC45BBCAAD5A55F3B213 /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; + 0ED19B48EDB564499204C950DF4F51F8 /* ErrorParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorParser.swift; path = AlamoRecord/Classes/ErrorParser.swift; sourceTree = ""; }; + 0F6D96CAB0AC4116A7B3B466F12882B9 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; + 100781A01F52C8868DE7952995131BF4 /* BannerColors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerColors.swift; path = NotificationBanner/Classes/BannerColors.swift; sourceTree = ""; }; + 10C36CF83155F5B0A887E818E6F2CBC1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 122414F8B169027CF9597151DDE29A2E /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = ObjectMapper.modulemap; sourceTree = ""; }; + 12CE3E0C27FAF4F4788DBC771C6FD1A2 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; + 13E4674395F7BFCC019135970225F51C /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 1402D22515B1A5B72F549846B2547567 /* IntegerOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegerOperators.swift; path = Sources/IntegerOperators.swift; sourceTree = ""; }; + 145C13149F73E402EE2BFA1237FDB23A /* AlamoRecordObject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamoRecordObject.swift; path = AlamoRecord/Classes/AlamoRecordObject.swift; sourceTree = ""; }; 15611478C71B581438FBBC42A181863F /* Pods-AlamoRecord_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AlamoRecord_Example-resources.sh"; sourceTree = ""; }; - 177E31F88957352F6BE2F20FF8110452 /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; + 1760146A88784FC256F7A0BD1372D385 /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; + 19C16E9460FB2F2AB0C234F41751F0EB /* NotificationBannerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = NotificationBannerSwift.modulemap; sourceTree = ""; }; 1B0E062BBFDB1CB72FED0EA552D55E7A /* Pods-AlamoRecord_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AlamoRecord_Example-umbrella.h"; sourceTree = ""; }; - 1B8C4D2C34B2F84817235A713864A3F2 /* AlamofireObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireObjectMapper-prefix.pch"; sourceTree = ""; }; - 1BEBBC6D840336B0AA5C39DF4D7C1C1B /* BannerPositionFrame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerPositionFrame.swift; path = NotificationBanner/Classes/BannerPositionFrame.swift; sourceTree = ""; }; - 1D9642B2DC40E73853638167AAB7730C /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; + 1B1F7F65E1337EDB2B715EF9A9B8F13C /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + 1B7AF8321A4948FA662E845FE9308AD6 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; 1DA2154E9913DDB19AF36D5A0BBD1F13 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 20405915A100221BCD6A6C23DE018526 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 1F94AE28DD94B3DE6CAD1887DCD735BA /* BannerHapticGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerHapticGenerator.swift; path = NotificationBanner/Classes/BannerHapticGenerator.swift; sourceTree = ""; }; 240ED82E24015FEDB87313481DA586D0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 242690AB1DAA68CFF591DC7DCB3AFD30 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2445F24B383FD78461B337995844F597 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + 24F4370F54ACCCE4EBAE52878934F1E8 /* NotificationBannerQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotificationBannerQueue.swift; path = NotificationBanner/Classes/NotificationBannerQueue.swift; sourceTree = ""; }; + 25F825459003FC49BC6BE6A630244CA9 /* AlamoRecordError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamoRecordError.swift; path = AlamoRecord/Classes/AlamoRecordError.swift; sourceTree = ""; }; + 266A0BB6BCBD0B9DA3FAFC5E9BF7C3E4 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; 28348B438017DB9465EDD8AEA4D01FDE /* Pods-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Tests-resources.sh"; sourceTree = ""; }; + 2883B5440372D2D9350BE370073DD7F3 /* RequestObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestObserver.swift; path = AlamoRecord/Classes/RequestObserver.swift; sourceTree = ""; }; 28849CF212F5D9DA00865FA1E82C34B6 /* AlamofireObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AlamofireObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 29D7A6BBABDE80094AFC0FD57EA2C461 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; + 289331361BB424DB5E706F5DBEFCB9A8 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; 2AA29BE88A5E4E1A5E273BC500992B4A /* AlamoRecord.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AlamoRecord.framework; path = AlamoRecord.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2BA8691EAE9D46C17F7F50FAAF9C3DBB /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - 2DD1CFCA279D074EB64267E4305BBDE2 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; - 2E005ECF8C832BE0F5F13902E0336606 /* MarqueeLabel-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MarqueeLabel-umbrella.h"; sourceTree = ""; }; - 31D7F311BD5A1752F46077910F1D565B /* NotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotificationBanner.swift; path = NotificationBanner/Classes/NotificationBanner.swift; sourceTree = ""; }; + 2C6946792504A5A90EA9EA99FF70F663 /* KeyboardSpy-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KeyboardSpy-prefix.pch"; sourceTree = ""; }; + 2EDAC8F9EF06985427B687DEED07ADD9 /* AlamofireObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamofireObjectMapper-dummy.m"; sourceTree = ""; }; + 30528F18D3A5E4B4949486D121D2F7F9 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 3327B061DC126CD19E4FC5C4F1826AEF /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; + 337BB06AF4BF572FE954AC79741CD1CA /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; 337F17477890857227683FFB72EAE3AB /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 36310AC7382EA7065E76BDBC37E61108 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + 3556F61C409FD3741E78852B69C9DF93 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; + 36D46DF217C2ECD9123CCC10BFCD35A2 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; 3707349EB3DA0DA0DF950D5E096AC14C /* Pods-Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Tests-umbrella.h"; sourceTree = ""; }; - 3AD081614A765697D6EA73DD719495D7 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; - 3B0BA9ADB115C9E1DB514F6878B8903B /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; - 3B6329A1438FA72014F0F599D9FFC18B /* URLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = URLProtocol.swift; sourceTree = ""; }; - 408A7880447E7D8F4282341975F29B68 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; - 42CE39928CAEA26BA9C63B2A6D98449F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 44484B73C817517F9CA420362D0D980A /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; - 457A8D6B068F1D93E0D7D66C5D41E869 /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; - 487659475BA1E1265E159DD06B65B7C2 /* AlamofireObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamofireObjectMapper-dummy.m"; sourceTree = ""; }; - 49D09BEF70884D770552CB1E177A0EF3 /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = ObjectMapper.modulemap; sourceTree = ""; }; - 4A61B284A0785B1F318D4E56B6AFFA54 /* AlamofireObjectMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireObjectMapper.swift; path = AlamofireObjectMapper/AlamofireObjectMapper.swift; sourceTree = ""; }; - 4AD19EC907ED4513E1502567F1CEDE39 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 4B1913B65E3C345B7516E1BE79E849E4 /* KeyboardSpy-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KeyboardSpy-dummy.m"; sourceTree = ""; }; - 4F7B2F7348D79A4375C9A94609A6608F /* KeyboardSpyEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyEvent.swift; path = KeyboardSpy/Classes/KeyboardSpyEvent.swift; sourceTree = ""; }; + 3713ACABAB1CB4E4754A690CBD0048C9 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; + 3886AEA9046D5DB77A4DD62A102C046B /* NotificationBannerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NotificationBannerSwift-prefix.pch"; sourceTree = ""; }; + 38D7DD357C93EB8DBEDFF7299E7E400A /* AlamoRecord.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamoRecord.xcconfig; sourceTree = ""; }; + 396E83A76E74FA5454F107102381BE01 /* AlamofireObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireObjectMapper.xcconfig; sourceTree = ""; }; + 3A42C21CBC22B103DD5B6F4C464C3499 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; + 3AF08CEB142A5E3A53A32C376B4397AC /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; + 3BAAA4F9732FBA9728B1B160AD55F2F9 /* MarqueeLabel-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MarqueeLabel-umbrella.h"; sourceTree = ""; }; + 3E735700E8FA4BC6AF0C2F57FB9A966C /* AlamoRecord-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamoRecord-prefix.pch"; sourceTree = ""; }; + 3F19D319F1F61851857C161D7CA51751 /* RequestManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestManager.swift; path = AlamoRecord/Classes/RequestManager.swift; sourceTree = ""; }; + 417F8BA06B7F98D1B0229670DC866F5E /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; + 43DF20DD34AFEE690E46D82DCC906CE1 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; + 4407949AC3731A6DB823F4AF9EF61775 /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; + 4CE77C5F34B3A294B5F612A2E2A3E58C /* KeyboardSpy-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KeyboardSpy-dummy.m"; sourceTree = ""; }; 4FB18664D2C0EEBB023E4EF4680DE7ED /* Pods-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Tests-frameworks.sh"; sourceTree = ""; }; - 50E886EA722A27102D88F6CB2EE36D0F /* AlamoRecordError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlamoRecordError.swift; sourceTree = ""; }; + 50027ECF1FDA2B93CFE1A77B6600E6DD /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; 512AA99B5B18491FFA3E10A86DA4DB8E /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.release.xcconfig"; sourceTree = ""; }; - 517465F8715660F2B0F4225EB47D901E /* NotificationBannerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NotificationBannerSwift-prefix.pch"; sourceTree = ""; }; - 5330FB5356B99F868D2567EED392D444 /* MarqueeLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MarqueeLabel.swift; path = Sources/Swift/MarqueeLabel.swift; sourceTree = ""; }; - 53C7B7170E704E1E4859C1000FE545FA /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; - 558F5437BEC8B8D256D0F82517D2AA31 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; - 580EE1FDBE4CFEFD80C93D465358CD4A /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; - 5A078B69556701C07A7240296E5CD8FC /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 5B51F67E8F169A477A62AFCF7F1F451A /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; - 5F127809778D6CEEB128BC55FD093B73 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; - 61C561362C520CE425E7985D15657394 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - 6355BC87FB2BD56909BE4CE85717D129 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 65BCAD83D49CE612B45896EB53256D66 /* NotificationBannerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = NotificationBannerSwift.modulemap; sourceTree = ""; }; - 66B7E19C4FAE81485C792BEF4A46E5E3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 677DDC00ED0C44677C59A785D0F1A3D1 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - 6BDA82732F06816E5EAB6942F2A5406F /* StatusCodeObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StatusCodeObserver.swift; sourceTree = ""; }; - 6C21864E1F4DB2ADE22CA7E6574086A7 /* StatusBarNotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StatusBarNotificationBanner.swift; path = NotificationBanner/Classes/StatusBarNotificationBanner.swift; sourceTree = ""; }; - 6E867A44F6DBB5AB70F82C7894DA8B9D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 71FA28F854892EC9BAA1D0DDDC8E94D4 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; - 7352305CC3D682E1C03F79033FE54C8E /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + 527A3CEA352085C744B4D13101CB22CF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 53A9A1323B03781C0089FCB929494BDD /* NotificationBannerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NotificationBannerSwift-umbrella.h"; sourceTree = ""; }; + 541C8120C23FEB9F7EB275B3DE6C0DF8 /* AlamoRecord-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamoRecord-umbrella.h"; sourceTree = ""; }; + 5525AEA713DDBC655FEAA2359F87EB29 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 5543F8A30A2B6E2ADC230DF24D2F0E7D /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; + 55E7421F68B6551C34A522C63F930517 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; + 55ECFAFFC2B54EE81155F2D8B5C1C0E0 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; + 5758E180C266AB5FE0EA38594EAD8720 /* MarqueeLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MarqueeLabel-dummy.m"; sourceTree = ""; }; + 586527BBAC515D02294D00F297051D92 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 58FC624D52D08CFB96247988E65ABEEE /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; + 5A2ED985D5E4B453A3AE7BD106F6D658 /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; + 5A4E71F4F3512AE7E0D80A3FA3E96B45 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; + 5C50DE45B27658F07368C610BAE9ECC6 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; + 5D8ABC99A38ED22F79D5C4F92D6A27F1 /* KeyboardSpy-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KeyboardSpy-umbrella.h"; sourceTree = ""; }; + 5E460476119990E43F7CF12844EF1109 /* AlamoRecord.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = AlamoRecord.modulemap; sourceTree = ""; }; + 5FD05063B8E05AF1A51E3412E9D0716F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 60AA063532BA145F6B1BB670C33D7FA1 /* BannerStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerStyle.swift; path = NotificationBanner/Classes/BannerStyle.swift; sourceTree = ""; }; + 61650354959EE750270139458CDF37DB /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 6230182B8B816E46E6A108E6044D4F9D /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; + 638062B78F8741EBBA5E87C095F6AD26 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; + 639978246C6C663456D3B55A6DA7A428 /* MarqueeLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MarqueeLabel-prefix.pch"; sourceTree = ""; }; + 639AD8C681732DA940587597D4E1CCD1 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; + 6A8E9907244EDBF4D0112EA77E694F8A /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; + 6B28E72BE3978CC2568DED2EF22D7020 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + 6C6ABE7A32481D53FF6A7C8309407DB7 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; + 6EB5F7E09E3793386EE5F1BAEC7DA78A /* BaseNotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BaseNotificationBanner.swift; path = NotificationBanner/Classes/BaseNotificationBanner.swift; sourceTree = ""; }; + 6ECECE6A64F0A57825F7C0891D885B59 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SnapKit.modulemap; sourceTree = ""; }; + 70A8EF3A906A9A82DC7D865D8C12B0AA /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; + 717F7D517EAA9CFA54BB7893AC5F0482 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + 72208DE78565D3CBAB32321F13F86833 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; + 735CEADA4B60187FC8C81CBB2D998299 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; 736C19A3D8AC31DE1A0E1EF31ECB0681 /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 73AE14CBF44DD88CC2D1B50CE4606878 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; - 73B344A0B98327D15CC9B32C93FE5FE3 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; - 73FB3185EC161138DA42954F9DC99C53 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - 7549FB918CA6AB03A77E505398FE4557 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; - 7692286943819597B6B2C1986ECEC7B8 /* BaseNotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BaseNotificationBanner.swift; path = NotificationBanner/Classes/BaseNotificationBanner.swift; sourceTree = ""; }; - 77DC8BF89E225FA8470CBBF83B7000E1 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; + 762C0F8CBDD1A83F9506F3873C46AEB1 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; + 76569BA9AE6151CC15A575BA906A6F60 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 774941DCEA1E4A1417963A0952B7F071 /* KeyboardSpy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpy.swift; path = KeyboardSpy/Classes/KeyboardSpy.swift; sourceTree = ""; }; 7836D95EB469B95DF8F8B5BE4443560B /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 785B52E7FA259C2A8CE1C81D9DEFB2AD /* AlamofireObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = AlamofireObjectMapper.modulemap; sourceTree = ""; }; 7917D62F79B3C99B41EE9D5E528DCDCC /* Pods-AlamoRecord_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AlamoRecord_Example.release.xcconfig"; sourceTree = ""; }; + 798199B19F5F3F24121509E64B9AE157 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + 79B14869640BB201233B676309CFCFC7 /* StatusCodeObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StatusCodeObserver.swift; path = AlamoRecord/Classes/StatusCodeObserver.swift; sourceTree = ""; }; 7A37CD5253FA2D2C6039043A849EF548 /* NotificationBannerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = NotificationBannerSwift.framework; path = NotificationBannerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7A7DD0DBF3F08A4FEA7B627CC4E8C93C /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; - 7CB1E7DA8BF624791DFAD1DB314378D0 /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; - 7DB6E2D790EBD5CF5EE51CFBD5911AD0 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; - 7EA7B4E2CDD2E9A4C705FEA3D53ED182 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + 7DA8E434A88F87EB786D6E094402001E /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; 7EC9813475447D8461C3BCAEFAAC17BC /* Pods-Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Tests.modulemap"; sourceTree = ""; }; + 7EF4BD8E225D1AFFAB6A36179A95EE31 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 7FB8D809793FFD4497F2883E55C9C7C5 /* NotificationBannerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NotificationBannerSwift-dummy.m"; sourceTree = ""; }; + 800307D41E3A3801D65F4BB84C46726E /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; 811E56E17BC4B2BD1FFDF111E661A94D /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8178E95E42FD5A209CE3CF5BB27DE6E1 /* NotificationBannerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NotificationBannerSwift-dummy.m"; sourceTree = ""; }; - 828F24AEA3192E77B3A63075F3397A33 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 835A2E17AC9C6374B23FCE408738CF56 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; 8380BFB009E5A320059E5EB736F7CF2A /* Pods-Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Tests-dummy.m"; sourceTree = ""; }; - 860CD9B2D29D8E3B0487895B88A1E9DC /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 8A510203600BDC56DFE276234A27A0F1 /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; - 8BD6B4C7EA1DA39F9AD2F041B3CB23D4 /* MarqueeLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MarqueeLabel-prefix.pch"; sourceTree = ""; }; - 8EABFD5626F0FC494005A46DABDF7A38 /* IntegerOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegerOperators.swift; path = Sources/IntegerOperators.swift; sourceTree = ""; }; - 90BE88982B2C84424F585A2985A5B944 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; - 90E1D9682E426D96A2D3936D86B6D68B /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; - 92EF942F67F7681A72B1B37755B78602 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; + 847901FB0D3E839E1B4F3E2410629706 /* KeyboardSpyEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyEvent.swift; path = KeyboardSpy/Classes/KeyboardSpyEvent.swift; sourceTree = ""; }; + 867AE19B26D60FEA6D3BCBE46DCF4C90 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = AlamoRecord/Classes/Logger.swift; sourceTree = ""; }; + 8883A7B2FFADD8D29C76B43CBC4A26D4 /* BannerPositionFrame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerPositionFrame.swift; path = NotificationBanner/Classes/BannerPositionFrame.swift; sourceTree = ""; }; + 898D46D5151C024EDA532A382525D07F /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + 8DC8B39123D9509C60891467A3482765 /* MarqueeLabel.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = MarqueeLabel.modulemap; sourceTree = ""; }; + 919933E2738679132500FB9D5D755B72 /* StatusBarNotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StatusBarNotificationBanner.swift; path = NotificationBanner/Classes/StatusBarNotificationBanner.swift; sourceTree = ""; }; + 91EF5DDF327661F3EFDE7A9C8F544076 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 93E66E4AC48D174089C8A3019BD60FC3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 94BBF326678D922A70546D16BCADF6A7 /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; - 94E978B222D010FE7BA7971FE81A3744 /* KeyboardSpy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KeyboardSpy.xcconfig; sourceTree = ""; }; - 95FC89EF9A38ED58473E2E6758FB9A36 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 961D18A7F487D496057D1586F4A7C6CC /* AlamofireObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireObjectMapper-umbrella.h"; sourceTree = ""; }; - 96EAA002DF440C2BAA54B8C77B8C65E5 /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; - 971FA20CFE2205F6F1FA6D12AF70076D /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; - 9847439B702D3ED598394857B39C0682 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; - 989C375BF6A1EC66482AF77275C78EFB /* AlamoRecord.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamoRecord.xcconfig; sourceTree = ""; }; + 954BDAB2B126BCE1E7B43F4849C6F52D /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; + 95D36B28ABBE7BBC12C0EF30488076C9 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 98FCD404051D6CD9860C37A64A0E2A0B /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; + 9965497669E92A1C49A4885E67D002D5 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = AlamoRecord/Classes/Configuration.swift; sourceTree = ""; }; 996E690A9CFC71CABC081FFEDE32673A /* Pods-Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Tests-acknowledgements.plist"; sourceTree = ""; }; - 997BDF25871C24038CB914F39C2CAC3B /* MarqueeLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MarqueeLabel.xcconfig; sourceTree = ""; }; + 9BAEDA0DBD222F0B2CDE5C53FE05D069 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; 9C8B0DFBF2BAB8733EF7DB74F0667B10 /* MarqueeLabel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MarqueeLabel.framework; path = MarqueeLabel.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D3131756374F4DB6AA22BEF7104A046 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; 9D53F6DD94C48EB4A0EDA9773BA9740A /* Pods-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.debug.xcconfig"; sourceTree = ""; }; - 9D6DB9C4ECA52C48FF9EF6BB90559B19 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; 9D9EBAC1277C5ECA19481F268CE12F05 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit.framework; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9FC57D168F8A17EBE7A0F87DC57F8FF6 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; - A02B384DCD138B3C596D5EC15C1489B8 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; - A0A53652BE5DF743549B60D9F187B1EC /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SnapKit.modulemap; sourceTree = ""; }; - A0B17AC519D2456A47C1ED414E5B7928 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; + A03FA37D643EB2AEA220478836D787DB /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; + A054FB02F2F1C6F9BC046D6716C94417 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; A169AF74C5BB148462A1FE4E01938600 /* Pods-AlamoRecord_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AlamoRecord_Example.debug.xcconfig"; sourceTree = ""; }; - A394F606A91F2327B18890C31D7E323F /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; - A544A1B1DCDD0F61485144D8970AE334 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; - A54AFF9D5F52ED2541064C93144BDCB2 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; + A4E4812453FA990163B2D741FD690320 /* AlamofireObjectMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireObjectMapper.swift; path = AlamofireObjectMapper/AlamofireObjectMapper.swift; sourceTree = ""; }; A54E321E1F502A3FD05A86E4B50CB61C /* AlamofireObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AlamofireObjectMapper.framework; path = AlamofireObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A5591E598AD9925A364B061391CEE9D8 /* AlamoRecord.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = AlamoRecord.modulemap; sourceTree = ""; }; A8050A9689C217FEB2D3A22EB12B960E /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ObjectMapper.framework; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A8DF593E8013697A14858E9E97491573 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; - AA6A33EC00986C7A2572A311F9818D4F /* NotificationBannerSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NotificationBannerSwift.xcconfig; sourceTree = ""; }; - AA7516754E7EE4374BCE1DB08D4EA8FB /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - AE7CE4BD447AA68E8868F1266ABFE5A6 /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; + A80CBE70918D0688746A2CDA9ED11E75 /* AlamofireObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireObjectMapper-prefix.pch"; sourceTree = ""; }; + A926980C17DD40199B69119A9C509415 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; + ABCA1411DCA96F4D40749379169EE856 /* NotificationBannerSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NotificationBannerSwift.xcconfig; sourceTree = ""; }; AF2B153C0E5746EE0311B4BA867C8982 /* Pods_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Tests.framework; path = "Pods-Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - AFFD8E7C64DECEA41193C8DA35BEC831 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; - B314518118F768B77EA67393064B247B /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; - B3AB3999ADA37ED7D528E2356F002F05 /* ObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.xcconfig; sourceTree = ""; }; - B6D351DF9997142B930ACD074BF2BB35 /* AlamoRecord-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamoRecord-dummy.m"; sourceTree = ""; }; - B81A1F00A464EA7128288EDB2BC173AE /* NotificationBannerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NotificationBannerSwift-umbrella.h"; sourceTree = ""; }; - B9FADF66E44FB9D67CCD110EE5FE0E90 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; - BA186771DA3C2B03CB9B581E525EC69D /* NotificationBannerQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotificationBannerQueue.swift; path = NotificationBanner/Classes/NotificationBannerQueue.swift; sourceTree = ""; }; - BB7E65DB3D844A8DA3A2E470D7F7163D /* ErrorParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ErrorParser.swift; sourceTree = ""; }; - BC9B062612E9C1012840385711300DB7 /* AlamofireObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireObjectMapper.xcconfig; sourceTree = ""; }; + B3FD31A59FE206B1C02E43E58566A592 /* URLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLProtocol.swift; path = AlamoRecord/Classes/URLProtocol.swift; sourceTree = ""; }; + B851B64BE0E31DE86FDF3A8B97FE64ED /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + B856A1178A2C9D4432B1AFF6659C9D52 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + BA533ED22D72595B9EB760A693F72D3F /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; + BA9969E7962044BEB3D4BF1B9A285B0D /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; + BCBFC6CAC750013A8F47E024ECB178CD /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; + BE833DEC68B088E17A42AEB0E6A64912 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; BE97575F0FF18410D61A2FB604298685 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0DEA782475C14A2EC9BD6D06F3E7381 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - C1982107650BD5CBC7EDF1A707CC8F6C /* KeyboardSpy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpy.swift; path = KeyboardSpy/Classes/KeyboardSpy.swift; sourceTree = ""; }; - C1E556053691CD8FD111C974550CA187 /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; + C07157734EC1A37EDC10156FD1CEA08D /* AlamofireObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = AlamofireObjectMapper.modulemap; sourceTree = ""; }; C3007F15BAD902AFD0BFC7C1276F094C /* Pods-AlamoRecord_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-AlamoRecord_Example.modulemap"; sourceTree = ""; }; - C32C6AC220DF5DD64A63D3544FEAEFB3 /* KeyboardSpy-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KeyboardSpy-prefix.pch"; sourceTree = ""; }; - C39FAAA9CD88BCFAE45C0BF372224702 /* SnapKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.xcconfig; sourceTree = ""; }; - C3F656844C1D70D2C363DF7469104120 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - C8644B70D6432BAB52F76A3F2440D5D7 /* KeyboardSpy-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KeyboardSpy-umbrella.h"; sourceTree = ""; }; - C966F45D1A726B608B3BAB2CEB59E4C1 /* MarqueeLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MarqueeLabel-dummy.m"; sourceTree = ""; }; - C9DFCD3F0E2BFA26C9F3D7320C8CEC2C /* KeyboardSpy.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = KeyboardSpy.modulemap; sourceTree = ""; }; - CA6A3394D2139DA7C16EBD4D258A9279 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + C43463A280DC393A05B8FD4A02D35CD0 /* AlamofireObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireObjectMapper-umbrella.h"; sourceTree = ""; }; + C947564271E8A8ECE95152FA4993F1F5 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; + C94CDFBC04E6E7BD3489A3DFA01950B3 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; CA9AE6B5FF30E7625FD7A4C9522FDE4A /* Pods-AlamoRecord_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AlamoRecord_Example-acknowledgements.plist"; sourceTree = ""; }; - CCC227F962C4F82768DBCCD47347720A /* KeyboardSpyAgent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyAgent.swift; path = KeyboardSpy/Classes/KeyboardSpyAgent.swift; sourceTree = ""; }; - CD80ACDAF7DE0DF5AC3658A41FDE6971 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + CABEE22DD2B4482749B821774C625E94 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D080F593F22B2E57A9772AED8E4A9D77 /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; + D0818766ED525BDEE5F4FD7EC8D14605 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; + D25CF68D3952990493EA467FFAA2EEAE /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; + D27A9573248B5DEA1E84C6081E8D7D9C /* MarqueeLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MarqueeLabel.xcconfig; sourceTree = ""; }; D32FED2D18417B668CB128727C6C75D4 /* KeyboardSpy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = KeyboardSpy.framework; path = KeyboardSpy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D46E0BC34DB68E70157EE235D22F9A95 /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; - D732B44A40D56430E20E8667E27A8EC8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DAFCDA96480CB4A0D34168B654AB9B8B /* KeyboardSpyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyInfo.swift; path = KeyboardSpy/Classes/KeyboardSpyInfo.swift; sourceTree = ""; }; + D3EC3E53F75709EF7A46C6A57CCEFD46 /* KeyboardSpyAgent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyboardSpyAgent.swift; path = KeyboardSpy/Classes/KeyboardSpyAgent.swift; sourceTree = ""; }; + D5D16987DB4D19C055D99A15C335A62E /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; + DAC45D38FB076F604D9E399A564B21C1 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + DB43758BD56B1AF5062D21D807B0C4B3 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; DBA176F967B78AD9ABEDB8249A084F9A /* Pods-AlamoRecord_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AlamoRecord_Example-acknowledgements.markdown"; sourceTree = ""; }; - DDABC0BAF6264598EE7FEE9E52055097 /* RequestObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RequestObserver.swift; sourceTree = ""; }; - DDBFA492A64B86526E252FB1C3F3E418 /* RequestManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RequestManager.swift; sourceTree = ""; }; DF79FD79AB36BA7231551F24ED27180C /* MarqueeLabel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MarqueeLabel.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DFBEF0E77597E072087CF559103CDA5E /* Pods-Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Tests-acknowledgements.markdown"; sourceTree = ""; }; - DFD2569F42665A500D4B1630B1391DBF /* BannerStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerStyle.swift; path = NotificationBanner/Classes/BannerStyle.swift; sourceTree = ""; }; - DFD492DCACCDAB3A7457F00652900FDB /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - E07FF8483465DFC443015EDAA9F3F9B6 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; - E1521A3CB040CB1818ED615D75FDE339 /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; - E393CC2F4B43D9FC67AFD36B638B8827 /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; - E3ADEC1EAE23970A845C6D67CFC4B7B1 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - E4424C9F49C12E32DBDF73F5014C0640 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; - E493CDDAE2477CBEA5242E79F244FD78 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6645419F602A9597E5296EC88A706E4 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - E7E03094DB3CECB7F88825A2110EFF52 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - ED0F6A13A0D6E90EF93303C53CE67204 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; - F092BC642087EA51188E66721D8C4861 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; - F3E705C0DD8FF725A27C1E891EC65F40 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; - F5611269643133C048C8DE2D2E3025D1 /* BannerHapticGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BannerHapticGenerator.swift; path = NotificationBanner/Classes/BannerHapticGenerator.swift; sourceTree = ""; }; - F6B3BBE14225B91B0993251C69EB0A22 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; - F7C71E2B1F09707FCD9B2E4ECA86B9CD /* AlamoRecord-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamoRecord-umbrella.h"; sourceTree = ""; }; - F7D0F8D2B8CAB4F31C7148DFBE2B2C60 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; - F8E9DD29477EABF6EA1CF62BF56D09E7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F9DF9796B83BD3EB1268AF6FCD16FAAE /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; - FA418C2AFA9707DFCD0988E2BBA1FF14 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - FB795E726E7B6B1EB3A283E93EF28064 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; + E0923A3FA407D17646A9070C54431C7D /* KeyboardSpy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KeyboardSpy.xcconfig; sourceTree = ""; }; + E636B35CD55FA78624E5610CF7F72095 /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; + E707476DC4388F90BB603482213C55ED /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; + E779B8F35A77DC1ED97CCCCE8620957D /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; + EA46AD8FACF67459CD05E61C262D0542 /* MarqueeLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MarqueeLabel.swift; path = Sources/Swift/MarqueeLabel.swift; sourceTree = ""; }; + EE2CB537F1F6C74F67CFDFF94832BECC /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; + EEF623B7BE9315DD747CC1AC59394AFC /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; + EF7332E13DB8EE35D258AAD6CF01DA96 /* NotificationBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotificationBanner.swift; path = NotificationBanner/Classes/NotificationBanner.swift; sourceTree = ""; }; + F2F5526B5E8CEFB1161BAE3A899600C7 /* AlamoRecord-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamoRecord-dummy.m"; sourceTree = ""; }; + F6152E6D6C5FF74D399E8E49ADD6EA4D /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; + F886D03C6E63F47AD7800CB668B9871E /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; + F8BF48FED987623FAD39C0D9608740B3 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; FBAF9A91A3ECD1DC4CB67E656EC5F21A /* Pods-AlamoRecord_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AlamoRecord_Example-frameworks.sh"; sourceTree = ""; }; - FD4F0A8A303F69113EFD9412871958F0 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + FD4378F1F0159B7AC9D1C60B1D7BF7DA /* ObjectMapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.xcconfig; sourceTree = ""; }; + FF589B5A755BE94A4140753C03B2B71B /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + FF8B56AD2E2EB9395EE23F8C33446414 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -478,14 +482,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 68AE33662CD2BCE1B88E3666DC638024 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ABE6EED7D1F8099A952FF55BC739866D /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 8562E6EA2DA88FF69C44B2AF77E3EDDD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -502,13 +498,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9FF2B1BF4259901656339F1F791574F9 /* Frameworks */ = { + CC5223C0CB0508368363F1D4E858C988 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B049325161BC60CA2F6D35722DEFF467 /* Foundation.framework in Frameworks */, - D6F0F2A12C0FD119B3C5FC25AAE735C9 /* MarqueeLabel.framework in Frameworks */, - 8FB70B25925DD57A904EB6EAB8AF78C6 /* SnapKit.framework in Frameworks */, + 284A6ED51E9FC88DA9146E0D19955A38 /* Foundation.framework in Frameworks */, + 3495CF98F4BD677FD65CF8D6E18BAB07 /* MarqueeLabel.framework in Frameworks */, + 41EB21CC9E40671FD59A92C931DE69BF /* SnapKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -522,6 +518,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA46EE51849FC74AB0341C8AF2756F85 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 341295F59AF123C0C53B486E47F02B5C /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F5881BC4ADA6E767FAC6CDFC9A796C14 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -559,117 +563,149 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1FECD02260D5772CD174488BE05E1FEB /* Classes */ = { - isa = PBXGroup; - children = ( - 50E886EA722A27102D88F6CB2EE36D0F /* AlamoRecordError.swift */, - 072D22EA7409A245A4044BA732E58D2D /* AlamoRecordObject.swift */, - 12F5ED61A205A964E0E0E1999EE25BE8 /* Configuration.swift */, - BB7E65DB3D844A8DA3A2E470D7F7163D /* ErrorParser.swift */, - 3AD081614A765697D6EA73DD719495D7 /* Logger.swift */, - DDBFA492A64B86526E252FB1C3F3E418 /* RequestManager.swift */, - DDABC0BAF6264598EE7FEE9E52055097 /* RequestObserver.swift */, - 6BDA82732F06816E5EAB6942F2A5406F /* StatusCodeObserver.swift */, - 3B6329A1438FA72014F0F599D9FFC18B /* URLProtocol.swift */, - ); - name = Classes; - path = Classes; - sourceTree = ""; - }; - 2034BC67FF68C20ED3C0FBF7651EB592 /* KeyboardSpy */ = { + 072FD846D34F53053E8AC0DF6E1D96E5 /* Support Files */ = { isa = PBXGroup; children = ( - C1982107650BD5CBC7EDF1A707CC8F6C /* KeyboardSpy.swift */, - CCC227F962C4F82768DBCCD47347720A /* KeyboardSpyAgent.swift */, - 4F7B2F7348D79A4375C9A94609A6608F /* KeyboardSpyEvent.swift */, - DAFCDA96480CB4A0D34168B654AB9B8B /* KeyboardSpyInfo.swift */, - F2830C7E74A43D1D10BE60C27D8B90F5 /* Support Files */, + 76569BA9AE6151CC15A575BA906A6F60 /* Info.plist */, + 6ECECE6A64F0A57825F7C0891D885B59 /* SnapKit.modulemap */, + 06FB948E2B61430185131FFEB5DA0EBE /* SnapKit.xcconfig */, + 3713ACABAB1CB4E4754A690CBD0048C9 /* SnapKit-dummy.m */, + 36D46DF217C2ECD9123CCC10BFCD35A2 /* SnapKit-prefix.pch */, + 91EF5DDF327661F3EFDE7A9C8F544076 /* SnapKit-umbrella.h */, ); - name = KeyboardSpy; - path = KeyboardSpy; + name = "Support Files"; + path = "../Target Support Files/SnapKit"; sourceTree = ""; }; - 23BA8547C127382BD6993121FF219A9C /* Support Files */ = { + 075E1EEE47C06FDB51CC3F2BC710D5C8 /* SnapKit */ = { isa = PBXGroup; children = ( - 42CE39928CAEA26BA9C63B2A6D98449F /* Info.plist */, - 13237D07905129FB69C73791D8691AA4 /* MarqueeLabel.modulemap */, - 997BDF25871C24038CB914F39C2CAC3B /* MarqueeLabel.xcconfig */, - C966F45D1A726B608B3BAB2CEB59E4C1 /* MarqueeLabel-dummy.m */, - 8BD6B4C7EA1DA39F9AD2F041B3CB23D4 /* MarqueeLabel-prefix.pch */, - 2E005ECF8C832BE0F5F13902E0336606 /* MarqueeLabel-umbrella.h */, + D25CF68D3952990493EA467FFAA2EEAE /* Constraint.swift */, + 55E7421F68B6551C34A522C63F930517 /* ConstraintAttributes.swift */, + 98FCD404051D6CD9860C37A64A0E2A0B /* ConstraintConfig.swift */, + 3AF08CEB142A5E3A53A32C376B4397AC /* ConstraintConstantTarget.swift */, + 638062B78F8741EBBA5E87C095F6AD26 /* ConstraintDescription.swift */, + D0818766ED525BDEE5F4FD7EC8D14605 /* ConstraintDSL.swift */, + 43DF20DD34AFEE690E46D82DCC906CE1 /* ConstraintInsets.swift */, + F886D03C6E63F47AD7800CB668B9871E /* ConstraintInsetTarget.swift */, + 9BAEDA0DBD222F0B2CDE5C53FE05D069 /* ConstraintItem.swift */, + 5543F8A30A2B6E2ADC230DF24D2F0E7D /* ConstraintLayoutGuide.swift */, + 58FC624D52D08CFB96247988E65ABEEE /* ConstraintLayoutGuide+Extensions.swift */, + 798199B19F5F3F24121509E64B9AE157 /* ConstraintLayoutGuideDSL.swift */, + 3556F61C409FD3741E78852B69C9DF93 /* ConstraintLayoutSupport.swift */, + C94CDFBC04E6E7BD3489A3DFA01950B3 /* ConstraintLayoutSupportDSL.swift */, + BA533ED22D72595B9EB760A693F72D3F /* ConstraintMaker.swift */, + 289331361BB424DB5E706F5DBEFCB9A8 /* ConstraintMakerEditable.swift */, + EEF623B7BE9315DD747CC1AC59394AFC /* ConstraintMakerExtendable.swift */, + 0AF6D01FABB28313939AB9FC2155FDE2 /* ConstraintMakerFinalizable.swift */, + 70A8EF3A906A9A82DC7D865D8C12B0AA /* ConstraintMakerPriortizable.swift */, + A03FA37D643EB2AEA220478836D787DB /* ConstraintMakerRelatable.swift */, + 50027ECF1FDA2B93CFE1A77B6600E6DD /* ConstraintMultiplierTarget.swift */, + 586527BBAC515D02294D00F297051D92 /* ConstraintOffsetTarget.swift */, + 01DBE33FF3F98CCFF84D062BBE1AAC71 /* ConstraintPriority.swift */, + EE2CB537F1F6C74F67CFDFF94832BECC /* ConstraintPriorityTarget.swift */, + 12CE3E0C27FAF4F4788DBC771C6FD1A2 /* ConstraintRelatableTarget.swift */, + F6152E6D6C5FF74D399E8E49ADD6EA4D /* ConstraintRelation.swift */, + E707476DC4388F90BB603482213C55ED /* ConstraintView.swift */, + D5D16987DB4D19C055D99A15C335A62E /* ConstraintView+Extensions.swift */, + 639AD8C681732DA940587597D4E1CCD1 /* ConstraintViewDSL.swift */, + 0F6D96CAB0AC4116A7B3B466F12882B9 /* Debugging.swift */, + 337BB06AF4BF572FE954AC79741CD1CA /* LayoutConstraint.swift */, + 3A42C21CBC22B103DD5B6F4C464C3499 /* LayoutConstraintItem.swift */, + C947564271E8A8ECE95152FA4993F1F5 /* Typealiases.swift */, + DAC45D38FB076F604D9E399A564B21C1 /* UILayoutSupport+Extensions.swift */, + 072FD846D34F53053E8AC0DF6E1D96E5 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/MarqueeLabel"; + name = SnapKit; + path = SnapKit; sourceTree = ""; }; - 259A01C9DF64AE10865ED81C959DF44C /* Support Files */ = { + 0EDC3B4215F6B3AF6A8B152E763537B4 /* Support Files */ = { isa = PBXGroup; children = ( - D732B44A40D56430E20E8667E27A8EC8 /* Info.plist */, - A0A53652BE5DF743549B60D9F187B1EC /* SnapKit.modulemap */, - C39FAAA9CD88BCFAE45C0BF372224702 /* SnapKit.xcconfig */, - DFD492DCACCDAB3A7457F00652900FDB /* SnapKit-dummy.m */, - 9FC57D168F8A17EBE7A0F87DC57F8FF6 /* SnapKit-prefix.pch */, - AA7516754E7EE4374BCE1DB08D4EA8FB /* SnapKit-umbrella.h */, + 527A3CEA352085C744B4D13101CB22CF /* Info.plist */, + 00E7EE553D5E99E5D4AB5E3A8F731B84 /* KeyboardSpy.modulemap */, + E0923A3FA407D17646A9070C54431C7D /* KeyboardSpy.xcconfig */, + 4CE77C5F34B3A294B5F612A2E2A3E58C /* KeyboardSpy-dummy.m */, + 2C6946792504A5A90EA9EA99FF70F663 /* KeyboardSpy-prefix.pch */, + 5D8ABC99A38ED22F79D5C4F92D6A27F1 /* KeyboardSpy-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SnapKit"; + path = "../Target Support Files/KeyboardSpy"; sourceTree = ""; }; - 2A8641B5FEA99519314257A2681534BB /* Swift */ = { + 16C51AD81F32437BC2553FDDAD56BE8D /* Swift */ = { isa = PBXGroup; children = ( - 5330FB5356B99F868D2567EED392D444 /* MarqueeLabel.swift */, + EA46AD8FACF67459CD05E61C262D0542 /* MarqueeLabel.swift */, ); name = Swift; sourceTree = ""; }; - 2E189ADFD6D78F7F206531B48E8512AC /* Support Files */ = { + 3B06A34330E5434E3D16AFB5D8F9D3D5 /* AlamofireObjectMapper */ = { isa = PBXGroup; children = ( - 6355BC87FB2BD56909BE4CE85717D129 /* Info.plist */, - 65BCAD83D49CE612B45896EB53256D66 /* NotificationBannerSwift.modulemap */, - AA6A33EC00986C7A2572A311F9818D4F /* NotificationBannerSwift.xcconfig */, - 8178E95E42FD5A209CE3CF5BB27DE6E1 /* NotificationBannerSwift-dummy.m */, - 517465F8715660F2B0F4225EB47D901E /* NotificationBannerSwift-prefix.pch */, - B81A1F00A464EA7128288EDB2BC173AE /* NotificationBannerSwift-umbrella.h */, + A4E4812453FA990163B2D741FD690320 /* AlamofireObjectMapper.swift */, + E01ADE3AB8AEA347E3DD2572D6C9E7E2 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/NotificationBannerSwift"; + name = AlamofireObjectMapper; + path = AlamofireObjectMapper; sourceTree = ""; }; - 34CBE5A0EA706207E4741D24C0C21A21 /* AlamoRecord */ = { + 422AC81716914E2D48E12BBC4479E1E7 /* Support Files */ = { isa = PBXGroup; children = ( - 35BE1073F59012D092205AD74F794810 /* AlamoRecord */, - A3923A502FABB71D6D7A72848BBE96CF /* Support Files */, + 762C0F8CBDD1A83F9506F3873C46AEB1 /* Alamofire.modulemap */, + 717F7D517EAA9CFA54BB7893AC5F0482 /* Alamofire.xcconfig */, + 266A0BB6BCBD0B9DA3FAFC5E9BF7C3E4 /* Alamofire-dummy.m */, + 800307D41E3A3801D65F4BB84C46726E /* Alamofire-prefix.pch */, + 898D46D5151C024EDA532A382525D07F /* Alamofire-umbrella.h */, + 242690AB1DAA68CFF591DC7DCB3AFD30 /* Info.plist */, ); - name = AlamoRecord; - path = ../..; + name = "Support Files"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - 35BE1073F59012D092205AD74F794810 /* AlamoRecord */ = { + 43E5094AB24BBAC78C2BAB9D8F472E5A /* ObjectMapper */ = { isa = PBXGroup; children = ( - 1FECD02260D5772CD174488BE05E1FEB /* Classes */, + 6C6ABE7A32481D53FF6A7C8309407DB7 /* CustomDateFormatTransform.swift */, + 3327B061DC126CD19E4FC5C4F1826AEF /* DataTransform.swift */, + 0277AA4A341BBD567887900202E29625 /* DateFormatterTransform.swift */, + 5A4E71F4F3512AE7E0D80A3FA3E96B45 /* DateTransform.swift */, + 019583B68900DBF9788D91BD247A26DC /* DictionaryTransform.swift */, + 0C616CD08A98BC45BBCAAD5A55F3B213 /* EnumOperators.swift */, + BA9969E7962044BEB3D4BF1B9A285B0D /* EnumTransform.swift */, + 6A8E9907244EDBF4D0112EA77E694F8A /* FromJSON.swift */, + 72208DE78565D3CBAB32321F13F86833 /* HexColorTransform.swift */, + 954BDAB2B126BCE1E7B43F4849C6F52D /* ImmutableMappable.swift */, + 1402D22515B1A5B72F549846B2547567 /* IntegerOperators.swift */, + 5C50DE45B27658F07368C610BAE9ECC6 /* ISO8601DateTransform.swift */, + BCBFC6CAC750013A8F47E024ECB178CD /* Map.swift */, + 4407949AC3731A6DB823F4AF9EF61775 /* MapError.swift */, + 5A2ED985D5E4B453A3AE7BD106F6D658 /* Mappable.swift */, + D080F593F22B2E57A9772AED8E4A9D77 /* Mapper.swift */, + 03DFF203D73ABA71D519009275EAFCBD /* NSDecimalNumberTransform.swift */, + F8BF48FED987623FAD39C0D9608740B3 /* Operators.swift */, + E779B8F35A77DC1ED97CCCCE8620957D /* ToJSON.swift */, + 735CEADA4B60187FC8C81CBB2D998299 /* TransformOf.swift */, + A926980C17DD40199B69119A9C509415 /* TransformOperators.swift */, + 417F8BA06B7F98D1B0229670DC866F5E /* TransformType.swift */, + 6230182B8B816E46E6A108E6044D4F9D /* URLTransform.swift */, + BC64B3DB224AC2C0DE8905F3AFB36400 /* Support Files */, ); - name = AlamoRecord; - path = AlamoRecord; + name = ObjectMapper; + path = ObjectMapper; sourceTree = ""; }; - 5B7CBB4C58AEB106AC574DF3F81BF977 /* Support Files */ = { + 4DA66B843E26F43787CFDB1BCF83C3E2 /* MarqueeLabel */ = { isa = PBXGroup; children = ( - 95FC89EF9A38ED58473E2E6758FB9A36 /* Info.plist */, - 49D09BEF70884D770552CB1E177A0EF3 /* ObjectMapper.modulemap */, - B3AB3999ADA37ED7D528E2356F002F05 /* ObjectMapper.xcconfig */, - 8A510203600BDC56DFE276234A27A0F1 /* ObjectMapper-dummy.m */, - 73AE14CBF44DD88CC2D1B50CE4606878 /* ObjectMapper-prefix.pch */, - B314518118F768B77EA67393064B247B /* ObjectMapper-umbrella.h */, + 8764FF14F95AB8637DC9E742C2042B49 /* Support Files */, + 16C51AD81F32437BC2553FDDAD56BE8D /* Swift */, ); - name = "Support Files"; - path = "../Target Support Files/ObjectMapper"; + name = MarqueeLabel; + path = MarqueeLabel; sourceTree = ""; }; 67AB60F712FE63C8FBFF5090069CEA07 /* Targets Support Files */ = { @@ -681,45 +717,24 @@ name = "Targets Support Files"; sourceTree = ""; }; - 6B16B3EAD8A57161F1E4E9A93EA6DBFD /* Development Pods */ = { - isa = PBXGroup; - children = ( - 34CBE5A0EA706207E4741D24C0C21A21 /* AlamoRecord */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 718F79970FBF3FC38A5EA6FE432BB2EF /* NotificationBannerSwift */ = { + 72FBF812C280DA2D87FF3B8E206E2B2D /* NotificationBannerSwift */ = { isa = PBXGroup; children = ( - 06111E9D6ADD78803561775FD8C15D7C /* BannerColors.swift */, - F5611269643133C048C8DE2D2E3025D1 /* BannerHapticGenerator.swift */, - 1BEBBC6D840336B0AA5C39DF4D7C1C1B /* BannerPositionFrame.swift */, - DFD2569F42665A500D4B1630B1391DBF /* BannerStyle.swift */, - 7692286943819597B6B2C1986ECEC7B8 /* BaseNotificationBanner.swift */, - 31D7F311BD5A1752F46077910F1D565B /* NotificationBanner.swift */, - BA186771DA3C2B03CB9B581E525EC69D /* NotificationBannerQueue.swift */, - 6C21864E1F4DB2ADE22CA7E6574086A7 /* StatusBarNotificationBanner.swift */, - 2E189ADFD6D78F7F206531B48E8512AC /* Support Files */, + 100781A01F52C8868DE7952995131BF4 /* BannerColors.swift */, + 1F94AE28DD94B3DE6CAD1887DCD735BA /* BannerHapticGenerator.swift */, + 8883A7B2FFADD8D29C76B43CBC4A26D4 /* BannerPositionFrame.swift */, + 60AA063532BA145F6B1BB670C33D7FA1 /* BannerStyle.swift */, + 6EB5F7E09E3793386EE5F1BAEC7DA78A /* BaseNotificationBanner.swift */, + EF7332E13DB8EE35D258AAD6CF01DA96 /* NotificationBanner.swift */, + 24F4370F54ACCCE4EBAE52878934F1E8 /* NotificationBannerQueue.swift */, + 0A8E643185672E622464E17DAEF8E079 /* NotificationBannerUtilities.swift */, + 919933E2738679132500FB9D5D755B72 /* StatusBarNotificationBanner.swift */, + B14C6C20ED250F2FEA2A6776F0ADA8E6 /* Support Files */, ); name = NotificationBannerSwift; path = NotificationBannerSwift; sourceTree = ""; }; - 741E88033DF6BE0C7D1904C24660C322 /* Support Files */ = { - isa = PBXGroup; - children = ( - E07FF8483465DFC443015EDAA9F3F9B6 /* Alamofire.modulemap */, - 7EA7B4E2CDD2E9A4C705FEA3D53ED182 /* Alamofire.xcconfig */, - C3F656844C1D70D2C363DF7469104120 /* Alamofire-dummy.m */, - 677DDC00ED0C44677C59A785D0F1A3D1 /* Alamofire-prefix.pch */, - 860CD9B2D29D8E3B0487895B88A1E9DC /* Alamofire-umbrella.h */, - 66B7E19C4FAE81485C792BEF4A46E5E3 /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; - sourceTree = ""; - }; 7B5A66818470832D6CEA0EA7E5919668 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -737,40 +752,26 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 6B16B3EAD8A57161F1E4E9A93EA6DBFD /* Development Pods */, + E16454AF2D8F350EC424D0077081A88D /* Development Pods */, 7B5A66818470832D6CEA0EA7E5919668 /* Frameworks */, - E4F5541D4AD8EC101F6C029866016CEA /* Pods */, + E0EB047F119AF75EFF562C8C5481FDA1 /* Pods */, DC811545F11C78FA7BE56AA175A70973 /* Products */, 67AB60F712FE63C8FBFF5090069CEA07 /* Targets Support Files */, ); sourceTree = ""; }; - 870E94DC63C9CBC5F18FD615DF61A2B1 /* Support Files */ = { - isa = PBXGroup; - children = ( - 785B52E7FA259C2A8CE1C81D9DEFB2AD /* AlamofireObjectMapper.modulemap */, - BC9B062612E9C1012840385711300DB7 /* AlamofireObjectMapper.xcconfig */, - 487659475BA1E1265E159DD06B65B7C2 /* AlamofireObjectMapper-dummy.m */, - 1B8C4D2C34B2F84817235A713864A3F2 /* AlamofireObjectMapper-prefix.pch */, - 961D18A7F487D496057D1586F4A7C6CC /* AlamofireObjectMapper-umbrella.h */, - F8E9DD29477EABF6EA1CF62BF56D09E7 /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/AlamofireObjectMapper"; - sourceTree = ""; - }; - A3923A502FABB71D6D7A72848BBE96CF /* Support Files */ = { + 8764FF14F95AB8637DC9E742C2042B49 /* Support Files */ = { isa = PBXGroup; children = ( - A5591E598AD9925A364B061391CEE9D8 /* AlamoRecord.modulemap */, - 989C375BF6A1EC66482AF77275C78EFB /* AlamoRecord.xcconfig */, - B6D351DF9997142B930ACD074BF2BB35 /* AlamoRecord-dummy.m */, - 02544FC15F6C595F63FC9FE818E01734 /* AlamoRecord-prefix.pch */, - F7C71E2B1F09707FCD9B2E4ECA86B9CD /* AlamoRecord-umbrella.h */, - 6E867A44F6DBB5AB70F82C7894DA8B9D /* Info.plist */, + 5FD05063B8E05AF1A51E3412E9D0716F /* Info.plist */, + 8DC8B39123D9509C60891467A3482765 /* MarqueeLabel.modulemap */, + D27A9573248B5DEA1E84C6081E8D7D9C /* MarqueeLabel.xcconfig */, + 5758E180C266AB5FE0EA38594EAD8720 /* MarqueeLabel-dummy.m */, + 639978246C6C663456D3B55A6DA7A428 /* MarqueeLabel-prefix.pch */, + 3BAAA4F9732FBA9728B1B160AD55F2F9 /* MarqueeLabel-umbrella.h */, ); name = "Support Files"; - path = "Example/Pods/Target Support Files/AlamoRecord"; + path = "../Target Support Files/MarqueeLabel"; sourceTree = ""; }; A56AF80300F38EDB86BBB45554EE7D04 /* iOS */ = { @@ -783,114 +784,85 @@ name = iOS; sourceTree = ""; }; - B5D1F98C8067E3B2F0F41AD1E7903ED1 /* AlamofireObjectMapper */ = { + AC4B7B50FEB0571F5853972358695160 /* Support Files */ = { isa = PBXGroup; children = ( - 4A61B284A0785B1F318D4E56B6AFFA54 /* AlamofireObjectMapper.swift */, - 870E94DC63C9CBC5F18FD615DF61A2B1 /* Support Files */, + 5E460476119990E43F7CF12844EF1109 /* AlamoRecord.modulemap */, + 38D7DD357C93EB8DBEDFF7299E7E400A /* AlamoRecord.xcconfig */, + F2F5526B5E8CEFB1161BAE3A899600C7 /* AlamoRecord-dummy.m */, + 3E735700E8FA4BC6AF0C2F57FB9A966C /* AlamoRecord-prefix.pch */, + 541C8120C23FEB9F7EB275B3DE6C0DF8 /* AlamoRecord-umbrella.h */, + A054FB02F2F1C6F9BC046D6716C94417 /* Info.plist */, ); - name = AlamofireObjectMapper; - path = AlamofireObjectMapper; + name = "Support Files"; + path = "Example/Pods/Target Support Files/AlamoRecord"; sourceTree = ""; }; - B634B1655A5606AC379DC45656B94AD0 /* SnapKit */ = { + B14C6C20ED250F2FEA2A6776F0ADA8E6 /* Support Files */ = { isa = PBXGroup; children = ( - 7549FB918CA6AB03A77E505398FE4557 /* Constraint.swift */, - 5F127809778D6CEEB128BC55FD093B73 /* ConstraintAttributes.swift */, - A544A1B1DCDD0F61485144D8970AE334 /* ConstraintConfig.swift */, - 2DD1CFCA279D074EB64267E4305BBDE2 /* ConstraintConstantTarget.swift */, - FB795E726E7B6B1EB3A283E93EF28064 /* ConstraintDescription.swift */, - B9FADF66E44FB9D67CCD110EE5FE0E90 /* ConstraintDSL.swift */, - A54AFF9D5F52ED2541064C93144BDCB2 /* ConstraintInsets.swift */, - 408A7880447E7D8F4282341975F29B68 /* ConstraintInsetTarget.swift */, - 92EF942F67F7681A72B1B37755B78602 /* ConstraintItem.swift */, - 580EE1FDBE4CFEFD80C93D465358CD4A /* ConstraintLayoutGuide.swift */, - F7D0F8D2B8CAB4F31C7148DFBE2B2C60 /* ConstraintLayoutGuide+Extensions.swift */, - 36310AC7382EA7065E76BDBC37E61108 /* ConstraintLayoutGuideDSL.swift */, - F9DF9796B83BD3EB1268AF6FCD16FAAE /* ConstraintLayoutSupport.swift */, - 7A7DD0DBF3F08A4FEA7B627CC4E8C93C /* ConstraintLayoutSupportDSL.swift */, - 90BE88982B2C84424F585A2985A5B944 /* ConstraintMaker.swift */, - AFFD8E7C64DECEA41193C8DA35BEC831 /* ConstraintMakerEditable.swift */, - 3B0BA9ADB115C9E1DB514F6878B8903B /* ConstraintMakerExtendable.swift */, - CD80ACDAF7DE0DF5AC3658A41FDE6971 /* ConstraintMakerFinalizable.swift */, - AE7CE4BD447AA68E8868F1266ABFE5A6 /* ConstraintMakerPriortizable.swift */, - 0E34BE00F99ED66DF28C072FDCD78EC6 /* ConstraintMakerRelatable.swift */, - 73FB3185EC161138DA42954F9DC99C53 /* ConstraintMultiplierTarget.swift */, - 5B51F67E8F169A477A62AFCF7F1F451A /* ConstraintOffsetTarget.swift */, - A0B17AC519D2456A47C1ED414E5B7928 /* ConstraintPriority.swift */, - F3E705C0DD8FF725A27C1E891EC65F40 /* ConstraintPriorityTarget.swift */, - 1D9642B2DC40E73853638167AAB7730C /* ConstraintRelatableTarget.swift */, - F6B3BBE14225B91B0993251C69EB0A22 /* ConstraintRelation.swift */, - 558F5437BEC8B8D256D0F82517D2AA31 /* ConstraintView.swift */, - 9D6DB9C4ECA52C48FF9EF6BB90559B19 /* ConstraintView+Extensions.swift */, - A8DF593E8013697A14858E9E97491573 /* ConstraintViewDSL.swift */, - A394F606A91F2327B18890C31D7E323F /* Debugging.swift */, - E4424C9F49C12E32DBDF73F5014C0640 /* LayoutConstraint.swift */, - 29D7A6BBABDE80094AFC0FD57EA2C461 /* LayoutConstraintItem.swift */, - 9847439B702D3ED598394857B39C0682 /* UILayoutSupport+Extensions.swift */, - 259A01C9DF64AE10865ED81C959DF44C /* Support Files */, + CABEE22DD2B4482749B821774C625E94 /* Info.plist */, + 19C16E9460FB2F2AB0C234F41751F0EB /* NotificationBannerSwift.modulemap */, + ABCA1411DCA96F4D40749379169EE856 /* NotificationBannerSwift.xcconfig */, + 7FB8D809793FFD4497F2883E55C9C7C5 /* NotificationBannerSwift-dummy.m */, + 3886AEA9046D5DB77A4DD62A102C046B /* NotificationBannerSwift-prefix.pch */, + 53A9A1323B03781C0089FCB929494BDD /* NotificationBannerSwift-umbrella.h */, ); - name = SnapKit; - path = SnapKit; + name = "Support Files"; + path = "../Target Support Files/NotificationBannerSwift"; sourceTree = ""; }; - B695409271C854C646FBC2416C8C299A /* Alamofire */ = { + B2512C71BC0A57588E0E897955A32628 /* Alamofire */ = { isa = PBXGroup; children = ( - 20405915A100221BCD6A6C23DE018526 /* AFError.swift */, - 835A2E17AC9C6374B23FCE408738CF56 /* Alamofire.swift */, - CA6A3394D2139DA7C16EBD4D258A9279 /* DispatchQueue+Alamofire.swift */, - 61C561362C520CE425E7985D15657394 /* MultipartFormData.swift */, - 2BA8691EAE9D46C17F7F50FAAF9C3DBB /* NetworkReachabilityManager.swift */, - E7E03094DB3CECB7F88825A2110EFF52 /* Notifications.swift */, - C0DEA782475C14A2EC9BD6D06F3E7381 /* ParameterEncoding.swift */, - 828F24AEA3192E77B3A63075F3397A33 /* Request.swift */, - FA418C2AFA9707DFCD0988E2BBA1FF14 /* Response.swift */, - 5A078B69556701C07A7240296E5CD8FC /* ResponseSerialization.swift */, - 7352305CC3D682E1C03F79033FE54C8E /* Result.swift */, - F092BC642087EA51188E66721D8C4861 /* ServerTrustPolicy.swift */, - 9D3131756374F4DB6AA22BEF7104A046 /* SessionDelegate.swift */, - E3ADEC1EAE23970A845C6D67CFC4B7B1 /* SessionManager.swift */, - E6645419F602A9597E5296EC88A706E4 /* TaskDelegate.swift */, - FD4F0A8A303F69113EFD9412871958F0 /* Timeline.swift */, - 4AD19EC907ED4513E1502567F1CEDE39 /* Validation.swift */, - 741E88033DF6BE0C7D1904C24660C322 /* Support Files */, + 7DA8E434A88F87EB786D6E094402001E /* AFError.swift */, + FF8B56AD2E2EB9395EE23F8C33446414 /* Alamofire.swift */, + 61650354959EE750270139458CDF37DB /* DispatchQueue+Alamofire.swift */, + 2445F24B383FD78461B337995844F597 /* MultipartFormData.swift */, + 30528F18D3A5E4B4949486D121D2F7F9 /* NetworkReachabilityManager.swift */, + FF589B5A755BE94A4140753C03B2B71B /* Notifications.swift */, + BE833DEC68B088E17A42AEB0E6A64912 /* ParameterEncoding.swift */, + 7EF4BD8E225D1AFFAB6A36179A95EE31 /* Request.swift */, + 1B1F7F65E1337EDB2B715EF9A9B8F13C /* Response.swift */, + DB43758BD56B1AF5062D21D807B0C4B3 /* ResponseSerialization.swift */, + 1B7AF8321A4948FA662E845FE9308AD6 /* Result.swift */, + 95D36B28ABBE7BBC12C0EF30488076C9 /* ServerTrustPolicy.swift */, + 13E4674395F7BFCC019135970225F51C /* SessionDelegate.swift */, + B856A1178A2C9D4432B1AFF6659C9D52 /* SessionManager.swift */, + 6B28E72BE3978CC2568DED2EF22D7020 /* TaskDelegate.swift */, + B851B64BE0E31DE86FDF3A8B97FE64ED /* Timeline.swift */, + 5525AEA713DDBC655FEAA2359F87EB29 /* Validation.swift */, + 422AC81716914E2D48E12BBC4479E1E7 /* Support Files */, ); name = Alamofire; path = Alamofire; sourceTree = ""; }; - C260D0192E8B021BEF7AFBC7F29C134E /* ObjectMapper */ = { + BC64B3DB224AC2C0DE8905F3AFB36400 /* Support Files */ = { isa = PBXGroup; children = ( - 44484B73C817517F9CA420362D0D980A /* CustomDateFormatTransform.swift */, - 53C7B7170E704E1E4859C1000FE545FA /* DataTransform.swift */, - 73B344A0B98327D15CC9B32C93FE5FE3 /* DateFormatterTransform.swift */, - ED0F6A13A0D6E90EF93303C53CE67204 /* DateTransform.swift */, - 7CB1E7DA8BF624791DFAD1DB314378D0 /* DictionaryTransform.swift */, - 96EAA002DF440C2BAA54B8C77B8C65E5 /* EnumOperators.swift */, - 94BBF326678D922A70546D16BCADF6A7 /* EnumTransform.swift */, - E393CC2F4B43D9FC67AFD36B638B8827 /* FromJSON.swift */, - 0033EE63827A3890F7146B603327CAEE /* HexColorTransform.swift */, - E1521A3CB040CB1818ED615D75FDE339 /* ImmutableMappable.swift */, - 8EABFD5626F0FC494005A46DABDF7A38 /* IntegerOperators.swift */, - 90E1D9682E426D96A2D3936D86B6D68B /* ISO8601DateTransform.swift */, - 77DC8BF89E225FA8470CBBF83B7000E1 /* Map.swift */, - 177E31F88957352F6BE2F20FF8110452 /* MapError.swift */, - D46E0BC34DB68E70157EE235D22F9A95 /* Mappable.swift */, - 457A8D6B068F1D93E0D7D66C5D41E869 /* Mapper.swift */, - 0D5DDE9854FCEFF7D71FFF58068C0EA0 /* NSDecimalNumberTransform.swift */, - 71FA28F854892EC9BAA1D0DDDC8E94D4 /* Operators.swift */, - 0C9EFE77DD7B1BE05AA2B594A1A2A47C /* ToJSON.swift */, - 7DB6E2D790EBD5CF5EE51CFBD5911AD0 /* TransformOf.swift */, - A02B384DCD138B3C596D5EC15C1489B8 /* TransformOperators.swift */, - 971FA20CFE2205F6F1FA6D12AF70076D /* TransformType.swift */, - C1E556053691CD8FD111C974550CA187 /* URLTransform.swift */, - 5B7CBB4C58AEB106AC574DF3F81BF977 /* Support Files */, + 0B14B48B487EEE4FF2A2152079F0E80F /* Info.plist */, + 122414F8B169027CF9597151DDE29A2E /* ObjectMapper.modulemap */, + FD4378F1F0159B7AC9D1C60B1D7BF7DA /* ObjectMapper.xcconfig */, + 1760146A88784FC256F7A0BD1372D385 /* ObjectMapper-dummy.m */, + 55ECFAFFC2B54EE81155F2D8B5C1C0E0 /* ObjectMapper-prefix.pch */, + E636B35CD55FA78624E5610CF7F72095 /* ObjectMapper-umbrella.h */, ); - name = ObjectMapper; - path = ObjectMapper; + name = "Support Files"; + path = "../Target Support Files/ObjectMapper"; + sourceTree = ""; + }; + BFFC4688D4ADF8A3B99AF206332A48FD /* KeyboardSpy */ = { + isa = PBXGroup; + children = ( + 774941DCEA1E4A1417963A0952B7F071 /* KeyboardSpy.swift */, + D3EC3E53F75709EF7A46C6A57CCEFD46 /* KeyboardSpyAgent.swift */, + 847901FB0D3E839E1B4F3E2410629706 /* KeyboardSpyEvent.swift */, + 04BE3CD20A08B4684E88C17950749B8D /* KeyboardSpyInfo.swift */, + 0EDC3B4215F6B3AF6A8B152E763537B4 /* Support Files */, + ); + name = KeyboardSpy; + path = KeyboardSpy; sourceTree = ""; }; CD07782F0F32D3E0B944717508121663 /* Pods-Tests */ = { @@ -946,55 +918,63 @@ name = Products; sourceTree = ""; }; - DD0E5E3279C0B027F2E127792B3E0211 /* MarqueeLabel */ = { + E01ADE3AB8AEA347E3DD2572D6C9E7E2 /* Support Files */ = { isa = PBXGroup; children = ( - 23BA8547C127382BD6993121FF219A9C /* Support Files */, - 2A8641B5FEA99519314257A2681534BB /* Swift */, + C07157734EC1A37EDC10156FD1CEA08D /* AlamofireObjectMapper.modulemap */, + 396E83A76E74FA5454F107102381BE01 /* AlamofireObjectMapper.xcconfig */, + 2EDAC8F9EF06985427B687DEED07ADD9 /* AlamofireObjectMapper-dummy.m */, + A80CBE70918D0688746A2CDA9ED11E75 /* AlamofireObjectMapper-prefix.pch */, + C43463A280DC393A05B8FD4A02D35CD0 /* AlamofireObjectMapper-umbrella.h */, + 10C36CF83155F5B0A887E818E6F2CBC1 /* Info.plist */, ); - name = MarqueeLabel; - path = MarqueeLabel; + name = "Support Files"; + path = "../Target Support Files/AlamofireObjectMapper"; sourceTree = ""; }; - E4F5541D4AD8EC101F6C029866016CEA /* Pods */ = { + E0EB047F119AF75EFF562C8C5481FDA1 /* Pods */ = { isa = PBXGroup; children = ( - B695409271C854C646FBC2416C8C299A /* Alamofire */, - B5D1F98C8067E3B2F0F41AD1E7903ED1 /* AlamofireObjectMapper */, - 2034BC67FF68C20ED3C0FBF7651EB592 /* KeyboardSpy */, - DD0E5E3279C0B027F2E127792B3E0211 /* MarqueeLabel */, - 718F79970FBF3FC38A5EA6FE432BB2EF /* NotificationBannerSwift */, - C260D0192E8B021BEF7AFBC7F29C134E /* ObjectMapper */, - B634B1655A5606AC379DC45656B94AD0 /* SnapKit */, + B2512C71BC0A57588E0E897955A32628 /* Alamofire */, + 3B06A34330E5434E3D16AFB5D8F9D3D5 /* AlamofireObjectMapper */, + BFFC4688D4ADF8A3B99AF206332A48FD /* KeyboardSpy */, + 4DA66B843E26F43787CFDB1BCF83C3E2 /* MarqueeLabel */, + 72FBF812C280DA2D87FF3B8E206E2B2D /* NotificationBannerSwift */, + 43E5094AB24BBAC78C2BAB9D8F472E5A /* ObjectMapper */, + 075E1EEE47C06FDB51CC3F2BC710D5C8 /* SnapKit */, ); name = Pods; sourceTree = ""; }; - F2830C7E74A43D1D10BE60C27D8B90F5 /* Support Files */ = { + E16454AF2D8F350EC424D0077081A88D /* Development Pods */ = { isa = PBXGroup; children = ( - E493CDDAE2477CBEA5242E79F244FD78 /* Info.plist */, - C9DFCD3F0E2BFA26C9F3D7320C8CEC2C /* KeyboardSpy.modulemap */, - 94E978B222D010FE7BA7971FE81A3744 /* KeyboardSpy.xcconfig */, - 4B1913B65E3C345B7516E1BE79E849E4 /* KeyboardSpy-dummy.m */, - C32C6AC220DF5DD64A63D3544FEAEFB3 /* KeyboardSpy-prefix.pch */, - C8644B70D6432BAB52F76A3F2440D5D7 /* KeyboardSpy-umbrella.h */, + F13280CEEAD894A52FDE0175A3A60E36 /* AlamoRecord */, ); - name = "Support Files"; - path = "../Target Support Files/KeyboardSpy"; + name = "Development Pods"; + sourceTree = ""; + }; + F13280CEEAD894A52FDE0175A3A60E36 /* AlamoRecord */ = { + isa = PBXGroup; + children = ( + 25F825459003FC49BC6BE6A630244CA9 /* AlamoRecordError.swift */, + 145C13149F73E402EE2BFA1237FDB23A /* AlamoRecordObject.swift */, + 9965497669E92A1C49A4885E67D002D5 /* Configuration.swift */, + 0ED19B48EDB564499204C950DF4F51F8 /* ErrorParser.swift */, + 867AE19B26D60FEA6D3BCBE46DCF4C90 /* Logger.swift */, + 3F19D319F1F61851857C161D7CA51751 /* RequestManager.swift */, + 2883B5440372D2D9350BE370073DD7F3 /* RequestObserver.swift */, + 79B14869640BB201233B676309CFCFC7 /* StatusCodeObserver.swift */, + B3FD31A59FE206B1C02E43E58566A592 /* URLProtocol.swift */, + AC4B7B50FEB0571F5853972358695160 /* Support Files */, + ); + name = AlamoRecord; + path = ../..; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 261694C515321586CE9C783E9DEB229A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 003693634D109BB566829FA997252ECE /* SnapKit-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 40525DBEA709B3604A6104CC0B90697B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1003,14 +983,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 53B6E7678138BC648AC0FA0D9BCFE95A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CB60C7B21C4FFD9DE2DEE3BDE90862F8 /* NotificationBannerSwift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 69733E5393499983143C2AB0FC6215ED /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1035,6 +1007,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 89A1B20459098F207B4AA0F3E8F9BE57 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 29A3B5C0505F684217B49C8C3D9E9833 /* NotificationBannerSwift-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9730BBEF42721C56E039687C8F9C5D7D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1067,9 +1047,34 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FC26CA4227ECB5E8207F625C780A4B55 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 285A5E2E0E65AD99D88AEF999D9CB135 /* SnapKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 16B66C4B0E5D35B2F1155B6262C42CF5 /* SnapKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 41080EFC9A72590CDE51AECF389F7CEC /* Build configuration list for PBXNativeTarget "SnapKit" */; + buildPhases = ( + 011B369B953189971F31A470393ADA01 /* Sources */, + DA46EE51849FC74AB0341C8AF2756F85 /* Frameworks */, + FC26CA4227ECB5E8207F625C780A4B55 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SnapKit; + productName = SnapKit; + productReference = 9D9EBAC1277C5ECA19481F268CE12F05 /* SnapKit.framework */; + productType = "com.apple.product-type.framework"; + }; 26CEB4E19105952B48CF8A1F85DF0B0D /* Pods-AlamoRecord_Example */ = { isa = PBXNativeTarget; buildConfigurationList = A909C2039B3C88CC47B10D44321AE223 /* Build configuration list for PBXNativeTarget "Pods-AlamoRecord_Example" */; @@ -1099,7 +1104,7 @@ isa = PBXNativeTarget; buildConfigurationList = EFC80F30E9F21DF4B195270284D4B34F /* Build configuration list for PBXNativeTarget "ObjectMapper" */; buildPhases = ( - CF3F7AB3C7E6BFF2210A6A0C76FE1A19 /* Sources */, + 95DC01AC865B065A1EEF08BAB0CF8450 /* Sources */, 8562E6EA2DA88FF69C44B2AF77E3EDDD /* Frameworks */, 7A65A8BC5FC8E2F6178E85C852BD5A45 /* Headers */, ); @@ -1167,7 +1172,7 @@ isa = PBXNativeTarget; buildConfigurationList = C422E6D5D4D1CBA93636F30E9C630E16 /* Build configuration list for PBXNativeTarget "AlamofireObjectMapper" */; buildPhases = ( - EC260FF3F4F35AA2530094D33C6A416B /* Sources */, + C929734BCFEB7DD628FE897257FF605D /* Sources */, D55863AC11CD93D729F336D4A1837D9C /* Frameworks */, 7DC72D11FA8668EB9BAD6F82FE7F75DF /* Headers */, ); @@ -1182,19 +1187,19 @@ productReference = A54E321E1F502A3FD05A86E4B50CB61C /* AlamofireObjectMapper.framework */; productType = "com.apple.product-type.framework"; }; - C7E22BEB205BF5EDC7D383150E23BC40 /* NotificationBannerSwift */ = { + BC662CBB66DFBF297E1AE8050DE699D2 /* NotificationBannerSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = E2363F617A2C34EEE73931E80FA69837 /* Build configuration list for PBXNativeTarget "NotificationBannerSwift" */; + buildConfigurationList = 85F33EFC2A1C562D57BEA6DD2C4C12FD /* Build configuration list for PBXNativeTarget "NotificationBannerSwift" */; buildPhases = ( - 05516F8165E92203A011CDEBD29CAB26 /* Sources */, - 9FF2B1BF4259901656339F1F791574F9 /* Frameworks */, - 53B6E7678138BC648AC0FA0D9BCFE95A /* Headers */, + E7DB9AEE94C3F71EC9F6D7DF604AAD60 /* Sources */, + CC5223C0CB0508368363F1D4E858C988 /* Frameworks */, + 89A1B20459098F207B4AA0F3E8F9BE57 /* Headers */, ); buildRules = ( ); dependencies = ( - A866F0D5265EC1FB80F5828499F17284 /* PBXTargetDependency */, - 82A24B979FC0D16CF16876E08779F00A /* PBXTargetDependency */, + 669EA66A29D12AB6C97884DD4AF18FF6 /* PBXTargetDependency */, + 3F61B91A1EB8F0503F8DDC1B180D3C00 /* PBXTargetDependency */, ); name = NotificationBannerSwift; productName = NotificationBannerSwift; @@ -1222,28 +1227,11 @@ productReference = AF2B153C0E5746EE0311B4BA867C8982 /* Pods_Tests.framework */; productType = "com.apple.product-type.framework"; }; - EAA88C5A4B6AEAC54C2772A9995B99C2 /* SnapKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = F4F4C60836814C496E5B5D45AF596B1D /* Build configuration list for PBXNativeTarget "SnapKit" */; - buildPhases = ( - CDAE50944EE99430356042835DB2166B /* Sources */, - 68AE33662CD2BCE1B88E3666DC638024 /* Frameworks */, - 261694C515321586CE9C783E9DEB229A /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SnapKit; - productName = SnapKit; - productReference = 9D9EBAC1277C5ECA19481F268CE12F05 /* SnapKit.framework */; - productType = "com.apple.product-type.framework"; - }; FFC2303D4708BD90ED4525797666E56F /* AlamoRecord */ = { isa = PBXNativeTarget; buildConfigurationList = 8FBAD7C991BC81C6CF2A2F53F95DF4B8 /* Build configuration list for PBXNativeTarget "AlamoRecord" */; buildPhases = ( - 15F7BDBAE4AC02D6ABBB586CC8757BBE /* Sources */, + CFA76F2F511943FA02B41061AE10D80D /* Sources */, 3BB4EB84A6B5FF2AC1F4F1AB3F54943B /* Frameworks */, D0AF3BCC19008F80CFE56871D012D3B3 /* Headers */, ); @@ -1285,46 +1273,55 @@ FFC2303D4708BD90ED4525797666E56F /* AlamoRecord */, 8303ECB6B90CFF1D24DA6ADA7CAFD334 /* KeyboardSpy */, 320AD47B0C6BA014D301395D3BFC8FB6 /* MarqueeLabel */, - C7E22BEB205BF5EDC7D383150E23BC40 /* NotificationBannerSwift */, + BC662CBB66DFBF297E1AE8050DE699D2 /* NotificationBannerSwift */, 2F5622F3B18DF497981AB58C6D1FC72F /* ObjectMapper */, 26CEB4E19105952B48CF8A1F85DF0B0D /* Pods-AlamoRecord_Example */, DF9F69CFCC91129593E59354EAA3E4ED /* Pods-Tests */, - EAA88C5A4B6AEAC54C2772A9995B99C2 /* SnapKit */, + 16B66C4B0E5D35B2F1155B6262C42CF5 /* SnapKit */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 05516F8165E92203A011CDEBD29CAB26 /* Sources */ = { + 011B369B953189971F31A470393ADA01 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4368074C159C79A9B125BD4392B5CEBF /* BannerColors.swift in Sources */, - F7FBCB5046A9FB3FB929B8D794E1B47B /* BannerHapticGenerator.swift in Sources */, - E3A065E1C280E1A3D5C79D5BFB231DD9 /* BannerPositionFrame.swift in Sources */, - 7DCB2E1C61B79A9E14F572454B221E18 /* BannerStyle.swift in Sources */, - 861BD735EE9F16DAE1C4BCDF60B452A2 /* BaseNotificationBanner.swift in Sources */, - 3780FF5B7DA57CACE802579B798496DB /* NotificationBanner.swift in Sources */, - E4738A11A0BC860B83B0C6C5807FF67D /* NotificationBannerQueue.swift in Sources */, - 47080EB66BF29BDEF701B36D1E20967E /* NotificationBannerSwift-dummy.m in Sources */, - 64D8D0BF60DBE74D9B2532596112F6AF /* StatusBarNotificationBanner.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 15F7BDBAE4AC02D6ABBB586CC8757BBE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D84642151672CA4B5300D7C0012E6749 /* AlamoRecord-dummy.m in Sources */, - FD2C323271CAD14AB43C8B8DF95EDCF2 /* AlamoRecordError.swift in Sources */, - 4A4C9E3E1AB5F81DAC18EC1D01C8CA67 /* AlamoRecordObject.swift in Sources */, - 167722A2E2EAC454440BBDF255598D1F /* Configuration.swift in Sources */, - 32333B61680FF87D575739D0C3BF0A6A /* ErrorParser.swift in Sources */, - 2BFCF42F1301687015400C8C9E6F2956 /* Logger.swift in Sources */, - D8657FD1C17D5FF9D326D87A0A6F18FC /* RequestManager.swift in Sources */, - 7B9F6C9F17CCC0CA46BA273CEEACB452 /* RequestObserver.swift in Sources */, - 3C085039F92DDF6BAE072FBF51CB0778 /* StatusCodeObserver.swift in Sources */, - 94CB44FE1892C46B0C1E5AC6FF8FED67 /* URLProtocol.swift in Sources */, + D554B8F6AFDC65B862C5EBE7191A27BB /* Constraint.swift in Sources */, + BEA971ED37B4933878CC144B9BE28F87 /* ConstraintAttributes.swift in Sources */, + 923214FFA0FDFEE4156C940898DC7015 /* ConstraintConfig.swift in Sources */, + C8EBAB053AEAF8D0DAB59CD52DE7DF3C /* ConstraintConstantTarget.swift in Sources */, + 254389332A82BEA45992F661F5B3DD56 /* ConstraintDescription.swift in Sources */, + F81DC3B381B0C486CD86753F6682192C /* ConstraintDSL.swift in Sources */, + 2B889FAA739FD519B71E01A37AA8B0EA /* ConstraintInsets.swift in Sources */, + E23841A7779278B2284EDC2B0715E8AE /* ConstraintInsetTarget.swift in Sources */, + B3C99FE491A16B8E75CDC1F6454AAAB1 /* ConstraintItem.swift in Sources */, + 3D0941637832D2ABCFB4FCE55DFA75BF /* ConstraintLayoutGuide+Extensions.swift in Sources */, + B1DF58FE1558D4FFF491519D4E1BC598 /* ConstraintLayoutGuide.swift in Sources */, + 3A2B89595BDE2A936B16A0BF577A13B9 /* ConstraintLayoutGuideDSL.swift in Sources */, + D4D32FFE1DCFC00C5C8D39D514A2BF57 /* ConstraintLayoutSupport.swift in Sources */, + 90F438528619977EE54D93F123FAAB85 /* ConstraintLayoutSupportDSL.swift in Sources */, + 27EBB2018CBCA7FAD1784A4FFA1B09F5 /* ConstraintMaker.swift in Sources */, + 1EED1CBCAA8DDEE44D2BA3A95240E929 /* ConstraintMakerEditable.swift in Sources */, + C866131CE9297DB0472B225BF953A697 /* ConstraintMakerExtendable.swift in Sources */, + F6C79EF0FC967B1A27B66AE134AC1A7D /* ConstraintMakerFinalizable.swift in Sources */, + C4121571F5F7C6242E4857715F615C4C /* ConstraintMakerPriortizable.swift in Sources */, + FCE9C18F23B6C1252904F6982E1D42ED /* ConstraintMakerRelatable.swift in Sources */, + F79E9BC1FE2EFEC5E96C61DE637466A0 /* ConstraintMultiplierTarget.swift in Sources */, + F78E669A0D4F3AA7CF646D975F3C4D46 /* ConstraintOffsetTarget.swift in Sources */, + 27D54A2B7F73E61E6F3DC8B0F41939FA /* ConstraintPriority.swift in Sources */, + 4692387FDE49B5CBC9D1339E1636EB6A /* ConstraintPriorityTarget.swift in Sources */, + 8CB13A95CE0597C93931A23CAAB9C040 /* ConstraintRelatableTarget.swift in Sources */, + 58BC968278BF35B00F9A574D79D2B8CD /* ConstraintRelation.swift in Sources */, + C8BD10458C541DE11F5992B9C482F8B3 /* ConstraintView+Extensions.swift in Sources */, + F35C987287A460E550E405674861E9FB /* ConstraintView.swift in Sources */, + AFD1EAC48C02F48CE6AA07D33AA5B356 /* ConstraintViewDSL.swift in Sources */, + 50DE060C2698A7433C9EC43AD83C863C /* Debugging.swift in Sources */, + B67EFAEFCB60963095904E8B0EDB1167 /* LayoutConstraint.swift in Sources */, + 451410B462A1BD80EE492CA014D3774D /* LayoutConstraintItem.swift in Sources */, + F8DD79B53005ACAFA84FCA6B68E30C60 /* SnapKit-dummy.m in Sources */, + 068E8FEEEF03C90C4FE9520009B3A016 /* Typealiases.swift in Sources */, + 974CF452F9D3FE6FF3E697DD864EBD13 /* UILayoutSupport+Extensions.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1373,75 +1370,60 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CDAE50944EE99430356042835DB2166B /* Sources */ = { + 95DC01AC865B065A1EEF08BAB0CF8450 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B73D4607C1DB58B06986EF7182EE9D08 /* CustomDateFormatTransform.swift in Sources */, + 765624085108240F1A2952486A60B66F /* DataTransform.swift in Sources */, + 028F7BF3F13D9D6CD093BE577808B1B1 /* DateFormatterTransform.swift in Sources */, + 6561EFAAAFE0E3FB560D8B87D50C0414 /* DateTransform.swift in Sources */, + B0438CAC2C1459719EC744B12F5C91DC /* DictionaryTransform.swift in Sources */, + 6140699B499701C95C16CA9E10A60B10 /* EnumOperators.swift in Sources */, + 35AFBFB34DA1956EF7FCB64BC50946D8 /* EnumTransform.swift in Sources */, + 375AD5B4037B367C74B348C0644C0509 /* FromJSON.swift in Sources */, + 54334A036232F3AD1BD3D9D682EA702D /* HexColorTransform.swift in Sources */, + 8491440E494CAAAE6DB2EA1D8D215903 /* ImmutableMappable.swift in Sources */, + 8F46A5E6F7671EA5EA201315E3A799E6 /* IntegerOperators.swift in Sources */, + 8022FE8243222780F58CDFD44A49F311 /* ISO8601DateTransform.swift in Sources */, + 375698920E797E91DBDB8A3249B56B0E /* Map.swift in Sources */, + 74D7B56EE91ACB42EB352CEF073CF4BB /* MapError.swift in Sources */, + 80FBD965D6160B82CF4B55FB3409C1FD /* Mappable.swift in Sources */, + A22566C71CFE2650BB542C4626477DAA /* Mapper.swift in Sources */, + CA1E06CB00C147AD88B8A721BF00F8D5 /* NSDecimalNumberTransform.swift in Sources */, + 4863B9B382D2BA7A07C414A91E1DD6B0 /* ObjectMapper-dummy.m in Sources */, + 05CB6B5B3A5024A0678959CCBFC2A0F7 /* Operators.swift in Sources */, + 5BEC65F1E64F4BC3B0AD838E60E1C4A9 /* ToJSON.swift in Sources */, + 9C655404E5C7D42907234439EF895BD5 /* TransformOf.swift in Sources */, + 7BE81D28BE233A47AC5BE1B3FA26FDB5 /* TransformOperators.swift in Sources */, + E2B172D4B630FCBD7D61A3FA14892658 /* TransformType.swift in Sources */, + CA2F35983F4B2670A0A195384FF21BD0 /* URLTransform.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C929734BCFEB7DD628FE897257FF605D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9E9425338EB30BF3601B7552B7CFD40F /* Constraint.swift in Sources */, - 462187166E725C306E56BC2BA36DE4C4 /* ConstraintAttributes.swift in Sources */, - D41BD7BB82446C159530DBBD27CB0FC9 /* ConstraintConfig.swift in Sources */, - 7987E13249DA37F251AFADA57F94C9D4 /* ConstraintConstantTarget.swift in Sources */, - 78513DC37FF6CB74D99E968612BB951A /* ConstraintDescription.swift in Sources */, - 260F5A453834DFDCC8B7CAB57F2EDD23 /* ConstraintDSL.swift in Sources */, - DCDA87CCDD90C96F9A6CFCFD83E5D35D /* ConstraintInsets.swift in Sources */, - 7ACB48756D90C0033E16742CE68BBC1B /* ConstraintInsetTarget.swift in Sources */, - E098F5B79794FE581AFAA2725844AFC4 /* ConstraintItem.swift in Sources */, - C3F4E6229589E098767CF9494472F76F /* ConstraintLayoutGuide+Extensions.swift in Sources */, - 14D8B276D45767BC4D226E5267D687A9 /* ConstraintLayoutGuide.swift in Sources */, - 68661BD99D060500934A96CC0759FA24 /* ConstraintLayoutGuideDSL.swift in Sources */, - EB68AD162D5568E1218F0AEC251F3F13 /* ConstraintLayoutSupport.swift in Sources */, - 73E5A6236B40350EEBDDB55ED7593B48 /* ConstraintLayoutSupportDSL.swift in Sources */, - F1911AC63E11F1DE07D57920EEDBF175 /* ConstraintMaker.swift in Sources */, - 9598A62AD58FEC558A05BE31BEF38007 /* ConstraintMakerEditable.swift in Sources */, - 5FC613C6B2AA3067736F6694F8C5E2AC /* ConstraintMakerExtendable.swift in Sources */, - C6B2D57336261F866F9287DABD47566C /* ConstraintMakerFinalizable.swift in Sources */, - 4890B0B6BF0CA1B16443C7442DDB9BFB /* ConstraintMakerPriortizable.swift in Sources */, - ED50AC6F94C79693E92917355602E05F /* ConstraintMakerRelatable.swift in Sources */, - 7F3085DC38B231A141F7363C25A66E95 /* ConstraintMultiplierTarget.swift in Sources */, - 1820E6B39BE2280FBCD82BE8A442C364 /* ConstraintOffsetTarget.swift in Sources */, - 250D8952499E6F0A38E9FCEE351CE9B4 /* ConstraintPriority.swift in Sources */, - 73C30E155A6DB1AA54EAD0449CB79B91 /* ConstraintPriorityTarget.swift in Sources */, - C2B96898CE97C3E3F2EA998755CA84F6 /* ConstraintRelatableTarget.swift in Sources */, - 704C378A35C7900922EDFF09F26817E4 /* ConstraintRelation.swift in Sources */, - 68E04C91029E3A6EB0EEE511DB1A9FC0 /* ConstraintView+Extensions.swift in Sources */, - 6DC573B3A28D92360BB82B8FFB9A1049 /* ConstraintView.swift in Sources */, - C43398F7BB6D22A9AEDC51AEC2FEE29F /* ConstraintViewDSL.swift in Sources */, - 5FEC678FBAB3B0AB9F4C1652AA2E7465 /* Debugging.swift in Sources */, - 27FAB80E7BF1D66A70858A9E0CD36DE1 /* LayoutConstraint.swift in Sources */, - FDDF6F972E957830EBE398B746A91348 /* LayoutConstraintItem.swift in Sources */, - A54844A4EFDF4EDEDD1778FCFE61843B /* SnapKit-dummy.m in Sources */, - 6E0717670D9E8076718C9FB0FBB4E7CC /* UILayoutSupport+Extensions.swift in Sources */, + 260112ED9612CF82C0D3B42913FE73BC /* AlamofireObjectMapper-dummy.m in Sources */, + 3EB9DC3783A4296C8BAAB07AC36C05F3 /* AlamofireObjectMapper.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CF3F7AB3C7E6BFF2210A6A0C76FE1A19 /* Sources */ = { + CFA76F2F511943FA02B41061AE10D80D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4A5B15F5BD365B620EA6445F1AC559DE /* CustomDateFormatTransform.swift in Sources */, - E7D25B21874A54B0B88053B9B05BA4DB /* DataTransform.swift in Sources */, - 8B1DCAA3A596869078949E1534E60DB8 /* DateFormatterTransform.swift in Sources */, - 50497589C9F33A33FFBA4C2D50B335D3 /* DateTransform.swift in Sources */, - 173E0DDB57B8665C8A31804018C38B22 /* DictionaryTransform.swift in Sources */, - 79756BB5901F4D9DD010F3C8702AD094 /* EnumOperators.swift in Sources */, - 659179EFC4D883F90CCFCD9AF4029E72 /* EnumTransform.swift in Sources */, - 0DF54EF6561E1295B8765B88B6579241 /* FromJSON.swift in Sources */, - 25A8E544EE7288222A45CDD100453BE7 /* HexColorTransform.swift in Sources */, - 43335DB8AF71F2E9545B2BA43285E287 /* ImmutableMappable.swift in Sources */, - C7486CE7EBA304CDC2159EA5081626D5 /* IntegerOperators.swift in Sources */, - 4CE57BA9F3209F2E5D730F35361D112D /* ISO8601DateTransform.swift in Sources */, - 623FA388F76C743809099881B070081D /* Map.swift in Sources */, - AAC91DDB15208691DA405505FB7EEF03 /* MapError.swift in Sources */, - CB580B7DBF3EFB45311B144E84BC78EE /* Mappable.swift in Sources */, - 9113FE1274F17B76B03DA0D5B3B335F3 /* Mapper.swift in Sources */, - 24553927300B10F87D89BA7360BD4D7F /* NSDecimalNumberTransform.swift in Sources */, - A702D1A8C14D264AE7B38E898CE76382 /* ObjectMapper-dummy.m in Sources */, - AB0362A9E4FD38119D228C2DA2770F7F /* Operators.swift in Sources */, - 52E1BABD8927CBAB89E0DFBD65D086A1 /* ToJSON.swift in Sources */, - 716C8C47D45ED102DB9BC024A44213A2 /* TransformOf.swift in Sources */, - 6469BCC88D68905136CBB2FC47F590DB /* TransformOperators.swift in Sources */, - DB833B8FAD23384516AE3A829D703C55 /* TransformType.swift in Sources */, - 9EE50A99F3EC271D4315836CBC2C0485 /* URLTransform.swift in Sources */, + 2B8A5BFFADF158FD5A7760A6308D2F35 /* AlamoRecord-dummy.m in Sources */, + 6AACEFD12135C9DEA33E55F29E135047 /* AlamoRecordError.swift in Sources */, + 3AF81E39DB87065BBF28C375A5D63EB3 /* AlamoRecordObject.swift in Sources */, + 7D0BBDC4A313D29872DBC771864C1EA9 /* Configuration.swift in Sources */, + D557A57C35B2ADBE5CE31554D068DD7C /* ErrorParser.swift in Sources */, + 560FE660E022A6A604F1669E682E7523 /* Logger.swift in Sources */, + 4EEB11FBC1DFADD32142D7F2CFDA95CD /* RequestManager.swift in Sources */, + 04E60488FC2739F1F05F5C62033523AE /* RequestObserver.swift in Sources */, + 3F007A9D204D7A452AB345815E3B8D76 /* StatusCodeObserver.swift in Sources */, + 91BA18956F6AA6D48D76E2EB0DEAD801 /* URLProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1462,12 +1444,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EC260FF3F4F35AA2530094D33C6A416B /* Sources */ = { + E7DB9AEE94C3F71EC9F6D7DF604AAD60 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 249BEC20A95460C784F48DF9AC00A302 /* AlamofireObjectMapper-dummy.m in Sources */, - ACECE9F41CC1F2423487F78054413525 /* AlamofireObjectMapper.swift in Sources */, + 5CB6F6D84ABC9285380AED9DB4B14CE7 /* BannerColors.swift in Sources */, + 6131918F7D68D9CF4F7F72C2EECB4FB0 /* BannerHapticGenerator.swift in Sources */, + 9934F16C237A1A16241E331B0BB9342D /* BannerPositionFrame.swift in Sources */, + EEE17AEEEE036DA80B5DD375AA233454 /* BannerStyle.swift in Sources */, + C21277D26A696BF58393051D1F5909BE /* BaseNotificationBanner.swift in Sources */, + 682A5E479FA6529BEED24DC43BBD685C /* NotificationBanner.swift in Sources */, + 87808D9B07A8C7E54A446F8D894C7069 /* NotificationBannerQueue.swift in Sources */, + EC5F13C7C33DC6DD978B5D35013C16AA /* NotificationBannerSwift-dummy.m in Sources */, + 53B967810C9AEBFF2E908D089E88A8D9 /* NotificationBannerUtilities.swift in Sources */, + E8EB9655DC9F33E37F1E0055FAB54453 /* StatusBarNotificationBanner.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1486,6 +1476,12 @@ target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; targetProxy = 2288F0F0155E2314595C73BB3B3DEBB4 /* PBXContainerItemProxy */; }; + 3F61B91A1EB8F0503F8DDC1B180D3C00 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapKit; + target = 16B66C4B0E5D35B2F1155B6262C42CF5 /* SnapKit */; + targetProxy = 9C874BB51BD907BB0BC3823E0F3AF429 /* PBXContainerItemProxy */; + }; 479BAD7F36021FC1A927A6667A0D901D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AlamoRecord; @@ -1498,6 +1494,12 @@ target = 2F5622F3B18DF497981AB58C6D1FC72F /* ObjectMapper */; targetProxy = C2A743750D8435124390DA2CA737665B /* PBXContainerItemProxy */; }; + 669EA66A29D12AB6C97884DD4AF18FF6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = MarqueeLabel; + target = 320AD47B0C6BA014D301395D3BFC8FB6 /* MarqueeLabel */; + targetProxy = F36A64D57F66A414BE1D7586FB873461 /* PBXContainerItemProxy */; + }; 6C478F1A4042D73A669BA9B6CD104DA4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AlamofireObjectMapper; @@ -1522,12 +1524,6 @@ target = 8303ECB6B90CFF1D24DA6ADA7CAFD334 /* KeyboardSpy */; targetProxy = 6FC6E286D2C8489DF7139567DD7EB523 /* PBXContainerItemProxy */; }; - 82A24B979FC0D16CF16876E08779F00A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SnapKit; - target = EAA88C5A4B6AEAC54C2772A9995B99C2 /* SnapKit */; - targetProxy = E35305B3C601B2D503EB188E01C771EB /* PBXContainerItemProxy */; - }; 8F2CAD8E2492E7DCAF2F2CAAFD7B8987 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ObjectMapper; @@ -1537,13 +1533,13 @@ 93D2004CABD51E3F8E0812B6ECE1C380 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SnapKit; - target = EAA88C5A4B6AEAC54C2772A9995B99C2 /* SnapKit */; + target = 16B66C4B0E5D35B2F1155B6262C42CF5 /* SnapKit */; targetProxy = 723D3F3CEB93C47F32E9C391AC7B9085 /* PBXContainerItemProxy */; }; 974E17041179A64C9E210C7A165BC814 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = NotificationBannerSwift; - target = C7E22BEB205BF5EDC7D383150E23BC40 /* NotificationBannerSwift */; + target = BC662CBB66DFBF297E1AE8050DE699D2 /* NotificationBannerSwift */; targetProxy = 64173C610F709530254659FF89EC1DA4 /* PBXContainerItemProxy */; }; 98235C4BCA516C9911E228A502FE834A /* PBXTargetDependency */ = { @@ -1552,12 +1548,6 @@ target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; targetProxy = A04F064E4A878D0A36386C26C1925C4F /* PBXContainerItemProxy */; }; - A866F0D5265EC1FB80F5828499F17284 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = MarqueeLabel; - target = 320AD47B0C6BA014D301395D3BFC8FB6 /* MarqueeLabel */; - targetProxy = E3659C08BE48A52F9311D432DAC8A382 /* PBXContainerItemProxy */; - }; BD0B92FA74021F8F0F7C6E7A2826AA1D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Alamofire; @@ -1630,9 +1620,9 @@ }; name = Debug; }; - 04F81ABF880030C75857FF4D9D58DC72 /* Debug */ = { + 1BD4A1CE36BE8DBF7EE0BBDB53C79FF9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 94E978B222D010FE7BA7971FE81A3744 /* KeyboardSpy.xcconfig */; + baseConfigurationReference = 38D7DD357C93EB8DBEDFF7299E7E400A /* AlamoRecord.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1646,28 +1636,63 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/KeyboardSpy/KeyboardSpy-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/KeyboardSpy/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AlamoRecord/AlamoRecord-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AlamoRecord/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/KeyboardSpy/KeyboardSpy.modulemap"; + MODULEMAP_FILE = "Target Support Files/AlamoRecord/AlamoRecord.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = KeyboardSpy; + PRODUCT_NAME = AlamoRecord; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 1F2871FBAD34BF7476D4F164BD9A1F67 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ABCA1411DCA96F4D40749379169EE856 /* NotificationBannerSwift.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/NotificationBannerSwift/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = NotificationBannerSwift; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 32E4132E9D7000066247C1FC71F69EB0 /* Release */ = { + 1FAD9CECD0108E071894D37220977532 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC9B062612E9C1012840385711300DB7 /* AlamofireObjectMapper.xcconfig */; + baseConfigurationReference = ABCA1411DCA96F4D40749379169EE856 /* NotificationBannerSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1681,18 +1706,19 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AlamofireObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/NotificationBannerSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper.modulemap"; + MODULEMAP_FILE = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = AlamofireObjectMapper; + PRODUCT_NAME = NotificationBannerSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1738,92 +1764,44 @@ }; name = Debug; }; - 378ED72615883DEE18EE04CA05717FED /* Debug */ = { + 441300C5FC4B5A08DA02C97A98A9AC30 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA6A33EC00986C7A2572A311F9818D4F /* NotificationBannerSwift.xcconfig */; + baseConfigurationReference = 717F7D517EAA9CFA54BB7893AC5F0482 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/NotificationBannerSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = NotificationBannerSwift; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - 4E487F173E6C9664F4E9E26B9635D23C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; + name = Release; }; - 5F4BB85B35670C53E82013C40A1042E5 /* Release */ = { + 4A5EB70369DC5A188D234DBA3AC8AD00 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3AB3999ADA37ED7D528E2356F002F05 /* ObjectMapper.xcconfig */; + baseConfigurationReference = 38D7DD357C93EB8DBEDFF7299E7E400A /* AlamoRecord.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1837,65 +1815,63 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AlamoRecord/AlamoRecord-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AlamoRecord/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; + MODULEMAP_FILE = "Target Support Files/AlamoRecord/AlamoRecord.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = ObjectMapper; + PRODUCT_NAME = AlamoRecord; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 74FFAB1D715CCCF3739926863BB2FF0F /* Release */ = { + 5EE5518AC97CAB962505AB4802BC1C7D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7917D62F79B3C99B41EE9D5E528DCDCC /* Pods-AlamoRecord_Example.release.xcconfig */; + baseConfigurationReference = 06FB948E2B61430185131FFEB5DA0EBE /* SnapKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-AlamoRecord_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SnapKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_AlamoRecord_Example; + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = SnapKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 7A2C10848BE2450C409554DE12CE52F3 /* Release */ = { + 69819DAA5CD9D60A38F6A55EE17190E5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA6A33EC00986C7A2572A311F9818D4F /* NotificationBannerSwift.xcconfig */; + baseConfigurationReference = FD4378F1F0159B7AC9D1C60B1D7BF7DA /* ObjectMapper.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1909,61 +1885,63 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/NotificationBannerSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/NotificationBannerSwift/NotificationBannerSwift.modulemap"; + MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = NotificationBannerSwift; + PRODUCT_NAME = ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 7D072D0D174F12EAACC1862DA756E67A /* Release */ = { + 6A530FE65A454ACB25F617A90E78CDBD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EA7B4E2CDD2E9A4C705FEA3D53ED182 /* Alamofire.xcconfig */; + baseConfigurationReference = E0923A3FA407D17646A9070C54431C7D /* KeyboardSpy.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/KeyboardSpy/KeyboardSpy-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/KeyboardSpy/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; 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_NAME = Alamofire; + MODULEMAP_FILE = "Target Support Files/KeyboardSpy/KeyboardSpy.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = KeyboardSpy; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 7E8F0888E58A831E093468B37C436692 /* Release */ = { + 74FFAB1D715CCCF3739926863BB2FF0F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 997BDF25871C24038CB914F39C2CAC3B /* MarqueeLabel.xcconfig */; + baseConfigurationReference = 7917D62F79B3C99B41EE9D5E528DCDCC /* Pods-AlamoRecord_Example.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1977,14 +1955,18 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/MarqueeLabel/MarqueeLabel-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MarqueeLabel/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-AlamoRecord_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/MarqueeLabel/MarqueeLabel.modulemap"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = MarqueeLabel; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_AlamoRecord_Example; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -1995,9 +1977,9 @@ }; name = Release; }; - 810496E4C91FAE6308618823BBA00CC1 /* Debug */ = { + 7BAF99050FE2FCE19E42A8175F4B96F0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 989C375BF6A1EC66482AF77275C78EFB /* AlamoRecord.xcconfig */; + baseConfigurationReference = 396E83A76E74FA5454F107102381BE01 /* AlamofireObjectMapper.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2011,63 +1993,63 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/AlamoRecord/AlamoRecord-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AlamoRecord/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AlamofireObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AlamoRecord/AlamoRecord.modulemap"; + MODULEMAP_FILE = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = AlamoRecord; + PRODUCT_NAME = AlamofireObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8498AB073C5C300F0AF8AEC53624E3CB /* Debug */ = { + 7C640273F46BBC14AEE0B88DDA280CB0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3AB3999ADA37ED7D528E2356F002F05 /* ObjectMapper.xcconfig */; + baseConfigurationReference = D27A9573248B5DEA1E84C6081E8D7D9C /* MarqueeLabel.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MarqueeLabel/MarqueeLabel-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MarqueeLabel/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = ObjectMapper; + MODULEMAP_FILE = "Target Support Files/MarqueeLabel/MarqueeLabel.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = MarqueeLabel; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 924EC7857D7DC07A62A4F014928C73DA /* Debug */ = { + 8BF33BE1E765FEFAD8630ABAB489798C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC9B062612E9C1012840385711300DB7 /* AlamofireObjectMapper.xcconfig */; + baseConfigurationReference = FD4378F1F0159B7AC9D1C60B1D7BF7DA /* ObjectMapper.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2081,64 +2063,26 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AlamofireObjectMapper/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper.modulemap"; + MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = AlamofireObjectMapper; + PRODUCT_NAME = ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - ACD7EEF1EAB71FC5D4218806A751CEF1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 512AA99B5B18491FFA3E10A86DA4DB8E /* Pods-Tests.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-Tests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Tests/Pods-Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - BDD0139D6EB93FA375F887ABD62DAB2E /* Release */ = { + 97803B46811A9BDB5E70FA1303AFBFFE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2161,13 +2105,17 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -2175,16 +2123,17 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + ONLY_ACTIVE_ARCH = YES; PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - C9660A42FEDD040185578ADA021EC8E0 /* Debug */ = { + A516FB1A3CF0C0E38E6E12023BE62772 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EA7B4E2CDD2E9A4C705FEA3D53ED182 /* Alamofire.xcconfig */; + baseConfigurationReference = 717F7D517EAA9CFA54BB7893AC5F0482 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2208,53 +2157,100 @@ PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - D734D7B062D374CE89FADBD8CA5989B7 /* Debug */ = { + ACD7EEF1EAB71FC5D4218806A751CEF1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C39FAAA9CD88BCFAE45C0BF372224702 /* SnapKit.xcconfig */; + baseConfigurationReference = 512AA99B5B18491FFA3E10A86DA4DB8E /* Pods-Tests.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SnapKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SnapKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Tests/Pods-Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - DC60D96EE6A674B322A07420DD56F260 /* Release */ = { + BDD0139D6EB93FA375F887ABD62DAB2E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 989C375BF6A1EC66482AF77275C78EFB /* AlamoRecord.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + C943BDEB1DE5D8F99805E2B03EB91D46 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E0923A3FA407D17646A9070C54431C7D /* KeyboardSpy.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2268,27 +2264,28 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/AlamoRecord/AlamoRecord-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AlamoRecord/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/KeyboardSpy/KeyboardSpy-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/KeyboardSpy/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AlamoRecord/AlamoRecord.modulemap"; + MODULEMAP_FILE = "Target Support Files/KeyboardSpy/KeyboardSpy.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = AlamoRecord; + PRODUCT_NAME = KeyboardSpy; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - E44ACDAFB0BB12F7EC311223F6C51B6B /* Release */ = { + CBEA931584B4C8A6C72BF5CBEE8C91DF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C39FAAA9CD88BCFAE45C0BF372224702 /* SnapKit.xcconfig */; + baseConfigurationReference = 06FB948E2B61430185131FFEB5DA0EBE /* SnapKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2312,17 +2309,18 @@ PRODUCT_NAME = SnapKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - EF6FE6EC259A10038EFDD8188E9CE779 /* Release */ = { + F835A6430CD8B9BBB5F1FB335FBB4361 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 94E978B222D010FE7BA7971FE81A3744 /* KeyboardSpy.xcconfig */; + baseConfigurationReference = 396E83A76E74FA5454F107102381BE01 /* AlamofireObjectMapper.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2336,27 +2334,28 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/KeyboardSpy/KeyboardSpy-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/KeyboardSpy/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AlamofireObjectMapper/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/KeyboardSpy/KeyboardSpy.modulemap"; + MODULEMAP_FILE = "Target Support Files/AlamofireObjectMapper/AlamofireObjectMapper.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = KeyboardSpy; + PRODUCT_NAME = AlamofireObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - F80A7DAD64C73E73C5DCB5C0B09F9618 /* Debug */ = { + FD8FE5597DF3651360C3A026E8426176 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 997BDF25871C24038CB914F39C2CAC3B /* MarqueeLabel.xcconfig */; + baseConfigurationReference = D27A9573248B5DEA1E84C6081E8D7D9C /* MarqueeLabel.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2380,9 +2379,9 @@ PRODUCT_NAME = MarqueeLabel; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -2404,80 +2403,80 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4E487F173E6C9664F4E9E26B9635D23C /* Debug */, + 97803B46811A9BDB5E70FA1303AFBFFE /* Debug */, BDD0139D6EB93FA375F887ABD62DAB2E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 41080EFC9A72590CDE51AECF389F7CEC /* Build configuration list for PBXNativeTarget "SnapKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - C9660A42FEDD040185578ADA021EC8E0 /* Debug */, - 7D072D0D174F12EAACC1862DA756E67A /* Release */, + 5EE5518AC97CAB962505AB4802BC1C7D /* Debug */, + CBEA931584B4C8A6C72BF5CBEE8C91DF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8FBAD7C991BC81C6CF2A2F53F95DF4B8 /* Build configuration list for PBXNativeTarget "AlamoRecord" */ = { + 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - 810496E4C91FAE6308618823BBA00CC1 /* Debug */, - DC60D96EE6A674B322A07420DD56F260 /* Release */, + A516FB1A3CF0C0E38E6E12023BE62772 /* Debug */, + 441300C5FC4B5A08DA02C97A98A9AC30 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A909C2039B3C88CC47B10D44321AE223 /* Build configuration list for PBXNativeTarget "Pods-AlamoRecord_Example" */ = { + 85F33EFC2A1C562D57BEA6DD2C4C12FD /* Build configuration list for PBXNativeTarget "NotificationBannerSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04B4A9BDD140ACCF29F1DE0094C0A22C /* Debug */, - 74FFAB1D715CCCF3739926863BB2FF0F /* Release */, + 1F2871FBAD34BF7476D4F164BD9A1F67 /* Debug */, + 1FAD9CECD0108E071894D37220977532 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AB93BA3C12E3426B5019CB531E1C08DC /* Build configuration list for PBXNativeTarget "MarqueeLabel" */ = { + 8FBAD7C991BC81C6CF2A2F53F95DF4B8 /* Build configuration list for PBXNativeTarget "AlamoRecord" */ = { isa = XCConfigurationList; buildConfigurations = ( - F80A7DAD64C73E73C5DCB5C0B09F9618 /* Debug */, - 7E8F0888E58A831E093468B37C436692 /* Release */, + 1BD4A1CE36BE8DBF7EE0BBDB53C79FF9 /* Debug */, + 4A5EB70369DC5A188D234DBA3AC8AD00 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C422E6D5D4D1CBA93636F30E9C630E16 /* Build configuration list for PBXNativeTarget "AlamofireObjectMapper" */ = { + A909C2039B3C88CC47B10D44321AE223 /* Build configuration list for PBXNativeTarget "Pods-AlamoRecord_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 924EC7857D7DC07A62A4F014928C73DA /* Debug */, - 32E4132E9D7000066247C1FC71F69EB0 /* Release */, + 04B4A9BDD140ACCF29F1DE0094C0A22C /* Debug */, + 74FFAB1D715CCCF3739926863BB2FF0F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E2363F617A2C34EEE73931E80FA69837 /* Build configuration list for PBXNativeTarget "NotificationBannerSwift" */ = { + AB93BA3C12E3426B5019CB531E1C08DC /* Build configuration list for PBXNativeTarget "MarqueeLabel" */ = { isa = XCConfigurationList; buildConfigurations = ( - 378ED72615883DEE18EE04CA05717FED /* Debug */, - 7A2C10848BE2450C409554DE12CE52F3 /* Release */, + FD8FE5597DF3651360C3A026E8426176 /* Debug */, + 7C640273F46BBC14AEE0B88DDA280CB0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EFC80F30E9F21DF4B195270284D4B34F /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { + C422E6D5D4D1CBA93636F30E9C630E16 /* Build configuration list for PBXNativeTarget "AlamofireObjectMapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8498AB073C5C300F0AF8AEC53624E3CB /* Debug */, - 5F4BB85B35670C53E82013C40A1042E5 /* Release */, + 7BAF99050FE2FCE19E42A8175F4B96F0 /* Debug */, + F835A6430CD8B9BBB5F1FB335FBB4361 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F4F4C60836814C496E5B5D45AF596B1D /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + EFC80F30E9F21DF4B195270284D4B34F /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - D734D7B062D374CE89FADBD8CA5989B7 /* Debug */, - E44ACDAFB0BB12F7EC311223F6C51B6B /* Release */, + 8BF33BE1E765FEFAD8630ABAB489798C /* Debug */, + 69819DAA5CD9D60A38F6A55EE17190E5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2485,8 +2484,8 @@ F6233B77EAE4FF06285D36C1A9B98162 /* Build configuration list for PBXNativeTarget "KeyboardSpy" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04F81ABF880030C75857FF4D9D58DC72 /* Debug */, - EF6FE6EC259A10038EFDD8188E9CE779 /* Release */, + 6A530FE65A454ACB25F617A90E78CDBD /* Debug */, + C943BDEB1DE5D8F99805E2B03EB91D46 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/SnapKit/README.md b/Example/Pods/SnapKit/README.md index f1a83ad..fed2133 100644 --- a/Example/Pods/SnapKit/README.md +++ b/Example/Pods/SnapKit/README.md @@ -7,8 +7,8 @@ SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. [![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://cocoapods.org/pods/SnapKit) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -#### ⚠️ **To use with Swift 2.x please ensure you are using == 0.22.0** ⚠️ #### ⚠️ **To use with Swift 3.x please ensure you are using >= 3.0.0** ⚠️ +#### ⚠️ **To use with Swift 4.x please ensure you are using >= 4.0.0** ⚠️ ## Contents @@ -23,13 +23,9 @@ SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. ## Requirements - iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+ -- Xcode 8.0+ +- Xcode 9.0+ - Swift 3.0+ -## Migration Guides - -- [SnapKit 3.0 Migration Guide](https://github.com/SnapKit/SnapKit/blob/master/Documentation/SnapKit%203.0%20Migration%20Guide.md) - ## Communication - If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit') @@ -49,7 +45,7 @@ SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. $ gem install cocoapods ``` -> CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. +> CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+. To integrate SnapKit into your Xcode project using CocoaPods, specify it in your `Podfile`: @@ -59,7 +55,7 @@ platform :ios, '10.0' use_frameworks! target '' do - pod 'SnapKit', '~> 3.2.0' + pod 'SnapKit', '~> 4.0.0' end ``` @@ -83,7 +79,7 @@ $ brew install carthage To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "SnapKit/SnapKit" ~> 3.2.0 +github "SnapKit/SnapKit" ~> 4.0.0 ``` Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project. diff --git a/Example/Pods/SnapKit/Source/Constraint.swift b/Example/Pods/SnapKit/Source/Constraint.swift index a4ec7f1..2720745 100644 --- a/Example/Pods/SnapKit/Source/Constraint.swift +++ b/Example/Pods/SnapKit/Source/Constraint.swift @@ -89,7 +89,7 @@ public final class Constraint { for layoutFromAttribute in layoutFromAttributes { // get layout to attribute - let layoutToAttribute: NSLayoutAttribute + let layoutToAttribute: LayoutAttribute #if os(iOS) || os(tvOS) if layoutToAttributes.count > 0 { if self.from.attributes == .edges && self.to.attributes == .margins { @@ -166,7 +166,7 @@ public final class Constraint { layoutConstraint.label = self.label // set priority - layoutConstraint.priority = self.priority.constraintPriorityTargetValue + layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) // set constraint layoutConstraint.constraint = self @@ -243,8 +243,8 @@ public final class Constraint { layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute) let requiredPriority = ConstraintPriority.required.value - if (layoutConstraint.priority < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) { - layoutConstraint.priority = self.priority.constraintPriorityTargetValue + if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) { + layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) } } } diff --git a/Example/Pods/SnapKit/Source/ConstraintAttributes.swift b/Example/Pods/SnapKit/Source/ConstraintAttributes.swift index 4083235..10bddb1 100644 --- a/Example/Pods/SnapKit/Source/ConstraintAttributes.swift +++ b/Example/Pods/SnapKit/Source/ConstraintAttributes.swift @@ -103,8 +103,8 @@ internal struct ConstraintAttributes : OptionSet { @available(iOS 8.0, *) internal static var centerWithinMargins: ConstraintAttributes { return self.init(786432) } - internal var layoutAttributes:[NSLayoutAttribute] { - var attrs = [NSLayoutAttribute]() + internal var layoutAttributes:[LayoutAttribute] { + var attrs = [LayoutAttribute]() if (self.contains(ConstraintAttributes.left)) { attrs.append(.left) } diff --git a/Example/Pods/SnapKit/Source/ConstraintConstantTarget.swift b/Example/Pods/SnapKit/Source/ConstraintConstantTarget.swift index 801bb79..bc6d596 100644 --- a/Example/Pods/SnapKit/Source/ConstraintConstantTarget.swift +++ b/Example/Pods/SnapKit/Source/ConstraintConstantTarget.swift @@ -42,7 +42,7 @@ extension ConstraintInsets: ConstraintConstantTarget { extension ConstraintConstantTarget { - internal func constraintConstantTargetValueFor(layoutAttribute: NSLayoutAttribute) -> CGFloat { + internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat { if let value = self as? CGFloat { return value } diff --git a/Example/Pods/SnapKit/Source/ConstraintDSL.swift b/Example/Pods/SnapKit/Source/ConstraintDSL.swift index ed7b7e5..a7e1798 100644 --- a/Example/Pods/SnapKit/Source/ConstraintDSL.swift +++ b/Example/Pods/SnapKit/Source/ConstraintDSL.swift @@ -39,10 +39,10 @@ public protocol ConstraintDSL { extension ConstraintDSL { public func setLabel(_ value: String?) { - objc_setAssociatedObject(self.target, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC) + objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC) } public func label() -> String? { - return objc_getAssociatedObject(self.target, &labelKey) as? String + return objc_getAssociatedObject(self.target as Any, &labelKey) as? String } } diff --git a/Example/Pods/SnapKit/Source/ConstraintInsets.swift b/Example/Pods/SnapKit/Source/ConstraintInsets.swift index 6ecac6b..738ca05 100644 --- a/Example/Pods/SnapKit/Source/ConstraintInsets.swift +++ b/Example/Pods/SnapKit/Source/ConstraintInsets.swift @@ -31,5 +31,5 @@ #if os(iOS) || os(tvOS) public typealias ConstraintInsets = UIEdgeInsets #else - public typealias ConstraintInsets = EdgeInsets + public typealias ConstraintInsets = NSEdgeInsets #endif diff --git a/Example/Pods/SnapKit/Source/ConstraintPriority.swift b/Example/Pods/SnapKit/Source/ConstraintPriority.swift index 7299fa9..f9dab16 100644 --- a/Example/Pods/SnapKit/Source/ConstraintPriority.swift +++ b/Example/Pods/SnapKit/Source/ConstraintPriority.swift @@ -27,8 +27,7 @@ import AppKit #endif - -public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable { +public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable { public typealias FloatLiteralType = Float public let value: Float @@ -65,4 +64,14 @@ public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable { public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool { return lhs.value == rhs.value } + + // MARK: Strideable + + public func advanced(by n: FloatLiteralType) -> ConstraintPriority { + return ConstraintPriority(floatLiteral: value + n) + } + + public func distance(to other: ConstraintPriority) -> FloatLiteralType { + return other.value - value + } } diff --git a/Example/Pods/SnapKit/Source/ConstraintRelation.swift b/Example/Pods/SnapKit/Source/ConstraintRelation.swift index d53bb3b..446aaf7 100644 --- a/Example/Pods/SnapKit/Source/ConstraintRelation.swift +++ b/Example/Pods/SnapKit/Source/ConstraintRelation.swift @@ -33,7 +33,7 @@ internal enum ConstraintRelation : Int { case lessThanOrEqual case greaterThanOrEqual - internal var layoutRelation: NSLayoutRelation { + internal var layoutRelation: LayoutRelation { get { switch(self) { case .equal: diff --git a/Example/Pods/SnapKit/Source/ConstraintViewDSL.swift b/Example/Pods/SnapKit/Source/ConstraintViewDSL.swift index 8b38d32..298bdb1 100644 --- a/Example/Pods/SnapKit/Source/ConstraintViewDSL.swift +++ b/Example/Pods/SnapKit/Source/ConstraintViewDSL.swift @@ -53,37 +53,37 @@ public struct ConstraintViewDSL: ConstraintAttributesDSL { public var contentHuggingHorizontalPriority: Float { get { - return self.view.contentHuggingPriority(for: .horizontal) + return self.view.contentHuggingPriority(for: .horizontal).rawValue } set { - self.view.setContentHuggingPriority(newValue, for: .horizontal) + self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal) } } public var contentHuggingVerticalPriority: Float { get { - return self.view.contentHuggingPriority(for: .vertical) + return self.view.contentHuggingPriority(for: .vertical).rawValue } set { - self.view.setContentHuggingPriority(newValue, for: .vertical) + self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical) } } public var contentCompressionResistanceHorizontalPriority: Float { get { - return self.view.contentCompressionResistancePriority(for: .horizontal) + return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue } set { - self.view.setContentCompressionResistancePriority(newValue, for: .horizontal) + self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal) } } public var contentCompressionResistanceVerticalPriority: Float { get { - return self.view.contentCompressionResistancePriority(for: .vertical) + return self.view.contentCompressionResistancePriority(for: .vertical).rawValue } set { - self.view.setContentCompressionResistancePriority(newValue, for: .vertical) + self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical) } } diff --git a/Example/Pods/SnapKit/Source/Debugging.swift b/Example/Pods/SnapKit/Source/Debugging.swift index fdc505d..55f5b87 100644 --- a/Example/Pods/SnapKit/Source/Debugging.swift +++ b/Example/Pods/SnapKit/Source/Debugging.swift @@ -66,7 +66,7 @@ public extension LayoutConstraint { } } - if self.priority != 1000.0 { + if self.priority.rawValue != 1000.0 { description += " ^\(self.priority)" } @@ -77,7 +77,7 @@ public extension LayoutConstraint { } -private func descriptionForRelation(_ relation: NSLayoutRelation) -> String { +private func descriptionForRelation(_ relation: LayoutRelation) -> String { switch relation { case .equal: return "==" case .greaterThanOrEqual: return ">=" @@ -85,7 +85,7 @@ private func descriptionForRelation(_ relation: NSLayoutRelation) -> String { } } -private func descriptionForAttribute(_ attribute: NSLayoutAttribute) -> String { +private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String { #if os(iOS) || os(tvOS) switch attribute { case .notAnAttribute: return "notAnAttribute" diff --git a/Example/Pods/SnapKit/Source/Typealiases.swift b/Example/Pods/SnapKit/Source/Typealiases.swift new file mode 100644 index 0000000..8a44151 --- /dev/null +++ b/Example/Pods/SnapKit/Source/Typealiases.swift @@ -0,0 +1,37 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +#if os(iOS) || os(tvOS) + import UIKit + typealias LayoutRelation = NSLayoutRelation + typealias LayoutAttribute = NSLayoutAttribute + typealias LayoutPriority = UILayoutPriority +#else + import AppKit + typealias LayoutRelation = NSLayoutConstraint.Relation + typealias LayoutAttribute = NSLayoutConstraint.Attribute + typealias LayoutPriority = NSLayoutConstraint.Priority +#endif + diff --git a/Example/Pods/Target Support Files/AlamoRecord/Info.plist b/Example/Pods/Target Support Files/AlamoRecord/Info.plist index 2243fe6..2660a93 100644 --- a/Example/Pods/Target Support Files/AlamoRecord/Info.plist +++ b/Example/Pods/Target Support Files/AlamoRecord/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 1.0.4 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Alamofire/Info.plist b/Example/Pods/Target Support Files/Alamofire/Info.plist index df27649..eaa7c2e 100644 --- a/Example/Pods/Target Support Files/Alamofire/Info.plist +++ b/Example/Pods/Target Support Files/Alamofire/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.4.0 + 4.5.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/AlamofireObjectMapper/Info.plist b/Example/Pods/Target Support Files/AlamofireObjectMapper/Info.plist index c26f36f..e2771ff 100644 --- a/Example/Pods/Target Support Files/AlamofireObjectMapper/Info.plist +++ b/Example/Pods/Target Support Files/AlamofireObjectMapper/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.1.0 + 5.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/KeyboardSpy/Info.plist b/Example/Pods/Target Support Files/KeyboardSpy/Info.plist index 2243fe6..21a30b4 100644 --- a/Example/Pods/Target Support Files/KeyboardSpy/Info.plist +++ b/Example/Pods/Target Support Files/KeyboardSpy/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 1.1.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/MarqueeLabel/Info.plist b/Example/Pods/Target Support Files/MarqueeLabel/Info.plist index 90db36a..8b511bb 100644 --- a/Example/Pods/Target Support Files/MarqueeLabel/Info.plist +++ b/Example/Pods/Target Support Files/MarqueeLabel/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.1.0 + 3.1.3 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/NotificationBannerSwift/Info.plist b/Example/Pods/Target Support Files/NotificationBannerSwift/Info.plist index 7b6b52a..b53fe91 100644 --- a/Example/Pods/Target Support Files/NotificationBannerSwift/Info.plist +++ b/Example/Pods/Target Support Files/NotificationBannerSwift/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.4.0 + 1.5.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/ObjectMapper/Info.plist b/Example/Pods/Target Support Files/ObjectMapper/Info.plist index ce4ba6f..4522675 100644 --- a/Example/Pods/Target Support Files/ObjectMapper/Info.plist +++ b/Example/Pods/Target Support Files/ObjectMapper/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.2.5 + 3.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig index c2b8915..b86b80f 100644 --- a/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig +++ b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig @@ -8,4 +8,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/ObjectMapper PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_VERSION = 3.0 +SWIFT_VERSION = 4.0 diff --git a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.markdown index d2fa460..55bd030 100644 --- a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.markdown @@ -26,7 +26,7 @@ THE SOFTWARE. ## Alamofire -Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.plist index cdbe8b4..2ac7b64 100644 --- a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-acknowledgements.plist @@ -43,7 +43,7 @@ THE SOFTWARE. FooterText - Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) + Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-frameworks.sh index d699c86..fb9dc0d 100755 --- a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-frameworks.sh @@ -6,6 +6,10 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,9 +27,9 @@ install_framework() source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" @@ -54,6 +58,15 @@ install_framework() fi } +# Copies the dSYM of a vendored framework +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + fi +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then @@ -76,7 +89,7 @@ strip_invalid_archs() { archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" stripped="" for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 stripped="$stripped $arch" @@ -89,24 +102,24 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/AlamoRecord/AlamoRecord.framework" - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/AlamofireObjectMapper/AlamofireObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/KeyboardSpy/KeyboardSpy.framework" - install_framework "$BUILT_PRODUCTS_DIR/MarqueeLabel/MarqueeLabel.framework" - install_framework "$BUILT_PRODUCTS_DIR/NotificationBannerSwift/NotificationBannerSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/ObjectMapper/ObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/KeyboardSpy/KeyboardSpy.framework" + install_framework "${BUILT_PRODUCTS_DIR}/MarqueeLabel/MarqueeLabel.framework" + install_framework "${BUILT_PRODUCTS_DIR}/NotificationBannerSwift/NotificationBannerSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/AlamoRecord/AlamoRecord.framework" - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/AlamofireObjectMapper/AlamofireObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/KeyboardSpy/KeyboardSpy.framework" - install_framework "$BUILT_PRODUCTS_DIR/MarqueeLabel/MarqueeLabel.framework" - install_framework "$BUILT_PRODUCTS_DIR/NotificationBannerSwift/NotificationBannerSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/ObjectMapper/ObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/KeyboardSpy/KeyboardSpy.framework" + install_framework "${BUILT_PRODUCTS_DIR}/MarqueeLabel/MarqueeLabel.framework" + install_framework "${BUILT_PRODUCTS_DIR}/NotificationBannerSwift/NotificationBannerSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-resources.sh b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-resources.sh index aed060f..a7df440 100755 --- a/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-AlamoRecord_Example/Pods-AlamoRecord_Example-resources.sh @@ -8,6 +8,10 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + case "${TARGETED_DEVICE_FAMILY}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" @@ -44,29 +48,29 @@ EOM fi case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) @@ -74,7 +78,7 @@ EOM XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; *) - echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" || true echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown index b1d7a63..19fc55f 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown @@ -26,7 +26,7 @@ THE SOFTWARE. ## Alamofire -Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist index dc7e4b9..3e8c234 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist @@ -43,7 +43,7 @@ THE SOFTWARE. FooterText - Copyright (c) 2014-2016 Alamofire Software Foundation (http://alamofire.org/) + Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh index 695c912..1982d4e 100755 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh @@ -6,6 +6,10 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,9 +27,9 @@ install_framework() source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" @@ -54,6 +58,15 @@ install_framework() fi } +# Copies the dSYM of a vendored framework +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" + fi +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then @@ -76,7 +89,7 @@ strip_invalid_archs() { archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" stripped="" for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place lipo -remove "$arch" -output "$binary" "$binary" || exit 1 stripped="$stripped $arch" @@ -89,16 +102,16 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/AlamoRecord/AlamoRecord.framework" - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/AlamofireObjectMapper/AlamofireObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/ObjectMapper/ObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/AlamoRecord/AlamoRecord.framework" - install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" - install_framework "$BUILT_PRODUCTS_DIR/AlamofireObjectMapper/AlamofireObjectMapper.framework" - install_framework "$BUILT_PRODUCTS_DIR/ObjectMapper/ObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamoRecord/AlamoRecord.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" + install_framework "${BUILT_PRODUCTS_DIR}/AlamofireObjectMapper/AlamofireObjectMapper.framework" + install_framework "${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh index aed060f..a7df440 100755 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh @@ -8,6 +8,10 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + case "${TARGETED_DEVICE_FAMILY}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" @@ -44,29 +48,29 @@ EOM fi case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) @@ -74,7 +78,7 @@ EOM XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; *) - echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" || true echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac diff --git a/Example/Pods/Target Support Files/SnapKit/Info.plist b/Example/Pods/Target Support Files/SnapKit/Info.plist index 9ae03a0..3424ca6 100644 --- a/Example/Pods/Target Support Files/SnapKit/Info.plist +++ b/Example/Pods/Target Support Files/SnapKit/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.0 + 4.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Tests/Post.swift b/Example/Tests/Post.swift index e34a21e..5ee6deb 100644 --- a/Example/Tests/Post.swift +++ b/Example/Tests/Post.swift @@ -27,10 +27,6 @@ class Post: AlamoRecordObject { super.init(map: map) } - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - override func mapping(map: Map) { super.mapping(map: map) userId <- map["userId"] diff --git a/README.md b/README.md index 4174431..21c756e 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,26 @@ [![Version](https://img.shields.io/cocoapods/v/AlamoRecord.svg?style=flat)](http://cocoapods.org/pods/AlamoRecord) [![Platform](https://img.shields.io/cocoapods/p/AlamoRecord.svg?style=flat)](http://cocoapods.org/pods/AlamoRecord) -Language: Swift +Language: Swift [![License](https://img.shields.io/cocoapods/l/AlamoRecord.svg?style=flat)](http://cocoapods.org/pods/AlamoRecord) -## Written in Swift 3 +## Written in Swift 4 AlamoRecord is a powerful yet simple framework that eliminates the often complex networking layer that exists between your networking framework and your application. AlamoRecord uses the power of [AlamoFire](https://github.com/Alamofire/Alamofire), [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) and the concepts behind the [ActiveRecord](http://guides.rubyonrails.org/active_record_basics.html) pattern to create a networking layer that makes interacting with your API easier than ever. ## Requirements - iOS 9.0+ / macOS 10.11+ / tvOS 9.0+ / watchOS 2.0+ -- Xcode 8.1+ -- Swift 3.0+ +- Xcode 9.0+ +- Swift 4.0+ + +## Installation + +AlamoRecord is available through [CocoaPods](http://cocoapods.org). To install +it, simply add the following line to your Podfile: + +```ruby +pod 'AlamoRecord' +``` ## Getting Started