diff --git a/.gitignore b/.gitignore
index 6da0a26..2d10971 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,42 @@
-# Created by https://www.gitignore.io/api/xcode
+# Created by https://www.gitignore.io/api/macos,xcode,swift,swiftpm,cocoapods,swiftpackagemanager
-### Xcode ###
+### CocoaPods ###
+## CocoaPods GitIgnore Template
+
+# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
+# - Also handy if you have a lage number of dependant pods
+# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGONRE THE LOCK FILE
+Pods/
+
+### macOS ###
+*.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
@@ -25,3 +60,74 @@ xcuserdata/
*.moved-aside
*.xccheckout
*.xcscmblueprint
+
+## Obj-C/Swift specific
+*.hmap
+*.ipa
+*.dSYM.zip
+*.dSYM
+
+## Playgrounds
+timeline.xctimeline
+playground.xcworkspace
+
+# Swift Package Manager
+#
+# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
+# Packages/
+# Package.pins
+.build/
+
+### CocoaPods ###
+## CocoaPods GitIgnore Template
+
+# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
+# - Also handy if you have a lage number of dependant pods
+# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGONRE THE LOCK FILE
+#Pods/
+
+### Carthage ###
+# Carthage
+#
+# Add this line if you want to avoid checking in source code from Carthage dependencies.
+# Carthage/Checkouts
+
+Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+
+### SwiftPackageManager ###
+Packages
+xcuserdata
+
+### SwiftPM ###
+
+### Xcode ###
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+
+## Various settings
+
+## Other
+
+### Xcode Patch ###
+*.xcodeproj/*
+!*.xcodeproj/project.pbxproj
+!*.xcodeproj/xcshareddata/
+!*.xcworkspace/contents.xcworkspacedata
+/*.gcno
+
+# End of https://www.gitignore.io/api/macos,xcode,swift,swiftpm,cocoapods,swiftpackagemanager
diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj
index 973febb..b90cabd 100644
--- a/Example/Pods/Pods.xcodeproj/project.pbxproj
+++ b/Example/Pods/Pods.xcodeproj/project.pbxproj
@@ -919,6 +919,23 @@
attributes = {
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 0700;
+ TargetAttributes = {
+ 2F5622F3B18DF497981AB58C6D1FC72F = {
+ LastSwiftMigration = 0920;
+ };
+ 86D3A845DF1104BD501C3315FDD927F6 = {
+ LastSwiftMigration = 0920;
+ };
+ 88E9EC28B8B46C3631E6B242B50F4442 = {
+ LastSwiftMigration = 0920;
+ };
+ 9502FB01641FBABB78522037E882757B = {
+ LastSwiftMigration = 0920;
+ };
+ 9AEDF73774BD7A665E65D88B96FC03BA = {
+ LastSwiftMigration = 0920;
+ };
+ };
};
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
@@ -1163,7 +1180,8 @@
PRODUCT_NAME = Alamofire;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1239,7 +1257,8 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1271,7 +1290,8 @@
PRODUCT_NAME = ObjectMapper;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1378,7 +1398,8 @@
PRODUCT_NAME = AlamofireObjectMapper;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1411,7 +1432,8 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1444,7 +1466,8 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1476,7 +1499,8 @@
PRODUCT_NAME = PromiseKit;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1509,7 +1533,8 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1578,7 +1603,8 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1611,7 +1637,8 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Pods/Pods.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..b73f074
--- /dev/null
+++ b/Example/Pods/Pods.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,39 @@
+
+
+
+
+ SchemeUserState
+
+ Alamofire.xcscheme
+
+ orderHint
+ 0
+
+ AlamofireObjectMapper.xcscheme
+
+ orderHint
+ 2
+
+ ObjectMapper.xcscheme
+
+ orderHint
+ 3
+
+ Pods-PokemonKit-Example.xcscheme
+
+ orderHint
+ 4
+
+ PokemonKit.xcscheme
+
+ orderHint
+ 5
+
+ PromiseKit.xcscheme
+
+ orderHint
+ 6
+
+
+
+
diff --git a/Example/Pods/PromiseKit/Extensions/UIKit/Sources/PMKAlertController.swift b/Example/Pods/PromiseKit/Extensions/UIKit/Sources/PMKAlertController.swift
index 3ebc581..fc3c452 100644
--- a/Example/Pods/PromiseKit/Extensions/UIKit/Sources/PMKAlertController.swift
+++ b/Example/Pods/PromiseKit/Extensions/UIKit/Sources/PMKAlertController.swift
@@ -88,7 +88,7 @@ extension UIViewController {
public func promise(_ vc: PMKAlertController, animated: Bool = true, completion: (() -> Void)? = nil) -> Promise {
vc.retainCycle = vc
present(vc.UIAlertController, animated: animated, completion: completion)
- _ = vc.promise.always { _ -> Void in
+ _ = vc.promise.always {
vc.retainCycle = nil
}
return vc.promise
diff --git a/Example/PokemonKit-Example.xcodeproj/project.pbxproj b/Example/PokemonKit-Example.xcodeproj/project.pbxproj
index 6240898..98ff074 100644
--- a/Example/PokemonKit-Example.xcodeproj/project.pbxproj
+++ b/Example/PokemonKit-Example.xcodeproj/project.pbxproj
@@ -434,6 +434,7 @@
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = "";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -475,6 +476,7 @@
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = "";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
@@ -491,7 +493,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-Example";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Debug;
};
@@ -506,7 +508,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-Example";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Release;
};
@@ -518,7 +520,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-ExampleTests";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PokemonKit-Example.app/PokemonKit-Example";
};
name = Debug;
@@ -531,7 +533,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-ExampleTests";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PokemonKit-Example.app/PokemonKit-Example";
};
name = Release;
@@ -543,7 +545,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-ExampleUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TEST_TARGET_NAME = "PokemonKit-Example";
};
name = Debug;
@@ -555,7 +557,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-ExampleUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TEST_TARGET_NAME = "PokemonKit-Example";
};
name = Release;
diff --git a/Example/PokemonKit-Example.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/PokemonKit-Example.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..985acf1
--- /dev/null
+++ b/Example/PokemonKit-Example.xcodeproj/xcuserdata/eugenio.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,14 @@
+
+
+
+
+ SchemeUserState
+
+ PokemonKit-Example.xcscheme
+
+ orderHint
+ 1
+
+
+
+
diff --git a/Example/PokemonKit-Example.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate b/Example/PokemonKit-Example.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..36c72ad
Binary files /dev/null and b/Example/PokemonKit-Example.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/PokemonKit.framework.zip b/PokemonKit.framework.zip
deleted file mode 100644
index 29e3f1d..0000000
Binary files a/PokemonKit.framework.zip and /dev/null differ
diff --git a/PokemonKit.xcodeproj/project.pbxproj b/PokemonKit.xcodeproj/project.pbxproj
index 6658e28..3d6c99b 100644
--- a/PokemonKit.xcodeproj/project.pbxproj
+++ b/PokemonKit.xcodeproj/project.pbxproj
@@ -761,7 +761,7 @@
PRODUCT_NAME = PokemonKit;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Debug;
};
@@ -784,7 +784,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.darkcl.PokemonKit;
PRODUCT_NAME = PokemonKit;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Release;
};
@@ -795,7 +795,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.darkcl.PokemonKitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Debug;
};
@@ -806,7 +806,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.darkcl.PokemonKitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
};
name = Release;
};
@@ -830,6 +830,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = watchos;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.2;
};
@@ -855,6 +856,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = watchos;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.2;
};
@@ -879,6 +881,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = appletvos;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
@@ -903,6 +906,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = appletvos;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
@@ -916,6 +920,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
+ SWIFT_VERSION = 4.0;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
name = Debug;
@@ -928,6 +933,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
+ SWIFT_VERSION = 4.0;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
name = Release;
@@ -954,6 +960,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = macosx;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
};
name = Debug;
};
@@ -979,6 +986,7 @@
PRODUCT_NAME = PokemonKit;
SDKROOT = macosx;
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 4.0;
};
name = Release;
};
@@ -993,6 +1001,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-OSXTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
+ SWIFT_VERSION = 4.0;
};
name = Debug;
};
@@ -1007,6 +1016,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.darkcl.PokemonKit-OSXTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
+ SWIFT_VERSION = 4.0;
};
name = Release;
};
diff --git a/PokemonKit.xcodeproj/project.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate b/PokemonKit.xcodeproj/project.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..f385f71
Binary files /dev/null and b/PokemonKit.xcodeproj/project.xcworkspace/xcuserdata/eugenio.xcuserdatad/UserInterfaceState.xcuserstate differ