diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 9542208..68e7839 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - SwiftLuhn (0.1.0) + - SwiftLuhn (0.2.1) DEPENDENCIES: - SwiftLuhn (from `../`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - SwiftLuhn: d3d68f95622f904b53d72839b701247ad15c15b5 + SwiftLuhn: c6aab770b8097186f906675fd970f6772220a417 PODFILE CHECKSUM: 9e1dbb60127e514c2f28a3f720501ce3568de03f diff --git a/Example/Pods/Local Podspecs/SwiftLuhn.podspec.json b/Example/Pods/Local Podspecs/SwiftLuhn.podspec.json index c4512b0..0fa3cba 100644 --- a/Example/Pods/Local Podspecs/SwiftLuhn.podspec.json +++ b/Example/Pods/Local Podspecs/SwiftLuhn.podspec.json @@ -1,22 +1,21 @@ { "name": "SwiftLuhn", - "version": "0.1.0", - "summary": "A short description of SwiftLuhn.", - "description": "TODO: Add long description of the pod here.", - "homepage": "https://github.com//SwiftLuhn", - "license": { - "type": "MIT", - "file": "LICENSE" - }, + "version": "0.2.1", + "summary": "SwiftLuhn is a port of the Luhn algorithm, used for validating debit/credit card details.", + "description": "This is a port of the Luhn Algorithm, generally used for validating debit/credit card details, to Swift.\n\nObjective-C port can be found at [https://github.com/MaxKramer/ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn).", + "homepage": "https://github.com/MaxKramer/SwiftLuhn", + "license": "MIT", "authors": { "Max Kramer": "max@maxkramer.co" }, "source": { - "git": "https://github.com//SwiftLuhn.git", - "tag": "0.1.0" + "git": "https://github.com/maxkramer/SwiftLuhn.git", + "tag": "0.2.1" }, + "social_media_url": "https://twitter.com/maxkramer", "platforms": { "ios": "8.0" }, + "requires_arc": true, "source_files": "SwiftLuhn/Classes/**/*" } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 9542208..68e7839 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - SwiftLuhn (0.1.0) + - SwiftLuhn (0.2.1) DEPENDENCIES: - SwiftLuhn (from `../`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - SwiftLuhn: d3d68f95622f904b53d72839b701247ad15c15b5 + SwiftLuhn: c6aab770b8097186f906675fd970f6772220a417 PODFILE CHECKSUM: 9e1dbb60127e514c2f28a3f720501ce3568de03f diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index b743e6c..4f87306 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -1,721 +1,1645 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 3F29A7F8F78CEA1E16DADA7D5B3CA5A7 /* Pods-SwiftLuhn_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2506B9F0F21714A4ABBD68F3466867AA /* Pods-SwiftLuhn_Example-dummy.m */; }; - 41126D8E0F639490667AD23B29CBF8A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; - 501D07741E1446AE000E09A5 /* String+SwiftLuhn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 501D07721E1446AE000E09A5 /* String+SwiftLuhn.swift */; }; - 501D07751E1446AE000E09A5 /* SwiftLuhn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 501D07731E1446AE000E09A5 /* SwiftLuhn.swift */; }; - 6F10EFF427816EC0FD6300A415E74E7A /* Pods-SwiftLuhn_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F1D4F0A702CEE2ADFE0F37BD71D7598 /* Pods-SwiftLuhn_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 71BD138D2D5ED96BBA9412A2CECF093D /* SwiftLuhn-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 97FC7C7281FA9B89045E377C0ECF7B92 /* SwiftLuhn-dummy.m */; }; - 748E1C0BF44BD6CDB010A05300D28AB7 /* Pods-SwiftLuhn_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DF6839F20BB0120C19F2BE798E4D714 /* Pods-SwiftLuhn_Tests-dummy.m */; }; - 83947882C5E2DB575182A9DFD209875D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; - A88A22C7ED0C50F430FFABBD5B993A26 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; - B9159BC8FFD2955A03897E16BE37A0B1 /* Pods-SwiftLuhn_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 807F1D3C325859E21BC118C7C1014DB9 /* Pods-SwiftLuhn_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0B3EB5262C6F8F1AB75842A0793BE59 /* SwiftLuhn-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 24DE9FC772A65345179041F27F5A4559 /* SwiftLuhn-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 16BBDB0CA905F203B47B9A080C585EE1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = FD216F00596C45B2B49C1B59E717145C; - remoteInfo = SwiftLuhn; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 0FB68CDA85DD28484F0CBFDB3F0A8DA0 /* Pods-SwiftLuhn_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftLuhn_Example.debug.xcconfig"; sourceTree = ""; }; - 198DE2F513FBA55FA5C23DCECA7F2EBA /* Pods_SwiftLuhn_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftLuhn_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1A6ECFF23B3F75CB4E0A1210F99F15AD /* Pods-SwiftLuhn_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftLuhn_Example-resources.sh"; sourceTree = ""; }; - 1BBBF1F8AB4763DBC89C2053AE4C9703 /* Pods-SwiftLuhn_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftLuhn_Tests.debug.xcconfig"; sourceTree = ""; }; - 24DE9FC772A65345179041F27F5A4559 /* SwiftLuhn-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftLuhn-umbrella.h"; sourceTree = ""; }; - 2506B9F0F21714A4ABBD68F3466867AA /* Pods-SwiftLuhn_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftLuhn_Example-dummy.m"; sourceTree = ""; }; - 29A428A69D0F7195673C6A9147249D12 /* Pods_SwiftLuhn_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftLuhn_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2AF68C35E0C1946A2B9D2D37DEC91523 /* Pods-SwiftLuhn_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-SwiftLuhn_Tests.modulemap"; sourceTree = ""; }; - 3F1D4F0A702CEE2ADFE0F37BD71D7598 /* Pods-SwiftLuhn_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftLuhn_Example-umbrella.h"; sourceTree = ""; }; - 501D07721E1446AE000E09A5 /* String+SwiftLuhn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+SwiftLuhn.swift"; sourceTree = ""; }; - 501D07731E1446AE000E09A5 /* SwiftLuhn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftLuhn.swift; sourceTree = ""; }; - 53E6DF9DCBA3AFA9D6F9F4D785981195 /* Pods-SwiftLuhn_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftLuhn_Tests-resources.sh"; sourceTree = ""; }; - 6DF6839F20BB0120C19F2BE798E4D714 /* Pods-SwiftLuhn_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftLuhn_Tests-dummy.m"; sourceTree = ""; }; - 7BA68546CA98E437FEE8875A30498195 /* SwiftLuhn-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftLuhn-prefix.pch"; sourceTree = ""; }; - 807F1D3C325859E21BC118C7C1014DB9 /* Pods-SwiftLuhn_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftLuhn_Tests-umbrella.h"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 97FC7C7281FA9B89045E377C0ECF7B92 /* SwiftLuhn-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftLuhn-dummy.m"; sourceTree = ""; }; - 9B343E0909D0FA6AB2A6F1CA5697C9EB /* Pods-SwiftLuhn_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftLuhn_Example-acknowledgements.markdown"; sourceTree = ""; }; - 9B7496579FF22E4189ED35B237A6B141 /* Pods-SwiftLuhn_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftLuhn_Example-acknowledgements.plist"; sourceTree = ""; }; - A7ADB97BEC35A889C286F4F43709F9A5 /* Pods-SwiftLuhn_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftLuhn_Tests-frameworks.sh"; sourceTree = ""; }; - C97794C0DDC37ADE7D6F96D879AAA985 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CB94B9DD342A69D8691AD4206CFE0E81 /* Pods-SwiftLuhn_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftLuhn_Tests-acknowledgements.markdown"; sourceTree = ""; }; - CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - CF171C527475C152B654EE91A03D200B /* Pods-SwiftLuhn_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftLuhn_Example-frameworks.sh"; sourceTree = ""; }; - D65B25B26C32EEAEEA6F1E578AC53F28 /* SwiftLuhn.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftLuhn.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DBE4A46FCC9DD32B5D0DC3717253C0C7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - ECF51FB943B934AC4EE0FBFCA862CE0D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EF71A0983195EA37B6D3080EB69D8BC6 /* Pods-SwiftLuhn_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftLuhn_Tests-acknowledgements.plist"; sourceTree = ""; }; - F567808121B6D6B68115C995640A7005 /* SwiftLuhn.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = SwiftLuhn.modulemap; sourceTree = ""; }; - FD219073A1257D814FAD755557C758BA /* Pods-SwiftLuhn_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftLuhn_Example.release.xcconfig"; sourceTree = ""; }; - FE514B1502AAE5A34C80278E4C003524 /* Pods-SwiftLuhn_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftLuhn_Tests.release.xcconfig"; sourceTree = ""; }; - FF3F04E9A19ED8C28FE448F2C4DB41C8 /* SwiftLuhn.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLuhn.xcconfig; sourceTree = ""; }; - FF7A2E5678F966E8A85FB0F1F1C65C70 /* Pods-SwiftLuhn_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-SwiftLuhn_Example.modulemap"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3184825D401DED7116CCDAC68204FD68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A88A22C7ED0C50F430FFABBD5B993A26 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 82E2E3FAEB83C9C08A2A6CF80CC40D9B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 41126D8E0F639490667AD23B29CBF8A6 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C160D65A3855DCCE86373D886FA08628 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 83947882C5E2DB575182A9DFD209875D /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1584E2058C8E53B4231178F6679AC033 /* SwiftLuhn */ = { - isa = PBXGroup; - children = ( - 373EFB81A279FFC6BA6F0EE2D699C47A /* Support Files */, - A2272CB9F901596D89427421A7D72772 /* SwiftLuhn */, - ); - name = SwiftLuhn; - path = ../..; - sourceTree = ""; - }; - 1FF4C845DB3D18A821ACA225C8E6591C /* Pods-SwiftLuhn_Tests */ = { - isa = PBXGroup; - children = ( - DBE4A46FCC9DD32B5D0DC3717253C0C7 /* Info.plist */, - 2AF68C35E0C1946A2B9D2D37DEC91523 /* Pods-SwiftLuhn_Tests.modulemap */, - CB94B9DD342A69D8691AD4206CFE0E81 /* Pods-SwiftLuhn_Tests-acknowledgements.markdown */, - EF71A0983195EA37B6D3080EB69D8BC6 /* Pods-SwiftLuhn_Tests-acknowledgements.plist */, - 6DF6839F20BB0120C19F2BE798E4D714 /* Pods-SwiftLuhn_Tests-dummy.m */, - A7ADB97BEC35A889C286F4F43709F9A5 /* Pods-SwiftLuhn_Tests-frameworks.sh */, - 53E6DF9DCBA3AFA9D6F9F4D785981195 /* Pods-SwiftLuhn_Tests-resources.sh */, - 807F1D3C325859E21BC118C7C1014DB9 /* Pods-SwiftLuhn_Tests-umbrella.h */, - 1BBBF1F8AB4763DBC89C2053AE4C9703 /* Pods-SwiftLuhn_Tests.debug.xcconfig */, - FE514B1502AAE5A34C80278E4C003524 /* Pods-SwiftLuhn_Tests.release.xcconfig */, - ); - name = "Pods-SwiftLuhn_Tests"; - path = "Target Support Files/Pods-SwiftLuhn_Tests"; - sourceTree = ""; - }; - 204EA8E1747EEED5BB836104AC76D529 /* Development Pods */ = { - isa = PBXGroup; - children = ( - 1584E2058C8E53B4231178F6679AC033 /* SwiftLuhn */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 30C0B05E890BFDE65848FC4C9F7C9646 /* Products */ = { - isa = PBXGroup; - children = ( - 29A428A69D0F7195673C6A9147249D12 /* Pods_SwiftLuhn_Example.framework */, - 198DE2F513FBA55FA5C23DCECA7F2EBA /* Pods_SwiftLuhn_Tests.framework */, - D65B25B26C32EEAEEA6F1E578AC53F28 /* SwiftLuhn.framework */, - ); - name = Products; - sourceTree = ""; - }; - 373EFB81A279FFC6BA6F0EE2D699C47A /* Support Files */ = { - isa = PBXGroup; - children = ( - C97794C0DDC37ADE7D6F96D879AAA985 /* Info.plist */, - F567808121B6D6B68115C995640A7005 /* SwiftLuhn.modulemap */, - FF3F04E9A19ED8C28FE448F2C4DB41C8 /* SwiftLuhn.xcconfig */, - 97FC7C7281FA9B89045E377C0ECF7B92 /* SwiftLuhn-dummy.m */, - 7BA68546CA98E437FEE8875A30498195 /* SwiftLuhn-prefix.pch */, - 24DE9FC772A65345179041F27F5A4559 /* SwiftLuhn-umbrella.h */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/SwiftLuhn"; - sourceTree = ""; - }; - 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */ = { - isa = PBXGroup; - children = ( - CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 204EA8E1747EEED5BB836104AC76D529 /* Development Pods */, - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - 30C0B05E890BFDE65848FC4C9F7C9646 /* Products */, - 9E2CA16678D43AE17B4C23C85564D53E /* Targets Support Files */, - ); - sourceTree = ""; - }; - 99F816772A927E1EE0833322E258D2CB /* Pods-SwiftLuhn_Example */ = { - isa = PBXGroup; - children = ( - ECF51FB943B934AC4EE0FBFCA862CE0D /* Info.plist */, - FF7A2E5678F966E8A85FB0F1F1C65C70 /* Pods-SwiftLuhn_Example.modulemap */, - 9B343E0909D0FA6AB2A6F1CA5697C9EB /* Pods-SwiftLuhn_Example-acknowledgements.markdown */, - 9B7496579FF22E4189ED35B237A6B141 /* Pods-SwiftLuhn_Example-acknowledgements.plist */, - 2506B9F0F21714A4ABBD68F3466867AA /* Pods-SwiftLuhn_Example-dummy.m */, - CF171C527475C152B654EE91A03D200B /* Pods-SwiftLuhn_Example-frameworks.sh */, - 1A6ECFF23B3F75CB4E0A1210F99F15AD /* Pods-SwiftLuhn_Example-resources.sh */, - 3F1D4F0A702CEE2ADFE0F37BD71D7598 /* Pods-SwiftLuhn_Example-umbrella.h */, - 0FB68CDA85DD28484F0CBFDB3F0A8DA0 /* Pods-SwiftLuhn_Example.debug.xcconfig */, - FD219073A1257D814FAD755557C758BA /* Pods-SwiftLuhn_Example.release.xcconfig */, - ); - name = "Pods-SwiftLuhn_Example"; - path = "Target Support Files/Pods-SwiftLuhn_Example"; - sourceTree = ""; - }; - 9E2CA16678D43AE17B4C23C85564D53E /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 99F816772A927E1EE0833322E258D2CB /* Pods-SwiftLuhn_Example */, - 1FF4C845DB3D18A821ACA225C8E6591C /* Pods-SwiftLuhn_Tests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - A2272CB9F901596D89427421A7D72772 /* SwiftLuhn */ = { - isa = PBXGroup; - children = ( - F025C458A8D67E14AEC054F80DF1FB86 /* Classes */, - ); - path = SwiftLuhn; - sourceTree = ""; - }; - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - F025C458A8D67E14AEC054F80DF1FB86 /* Classes */ = { - isa = PBXGroup; - children = ( - 501D07721E1446AE000E09A5 /* String+SwiftLuhn.swift */, - 501D07731E1446AE000E09A5 /* SwiftLuhn.swift */, - ); - path = Classes; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 92A501908A4340A23C2F694B1389C6AF /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B9159BC8FFD2955A03897E16BE37A0B1 /* Pods-SwiftLuhn_Tests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDDB063EE6422164E4DDE73B53B7B530 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E0B3EB5262C6F8F1AB75842A0793BE59 /* SwiftLuhn-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FCAC26DCA0AEF4C7E22BBBFB664801F4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F10EFF427816EC0FD6300A415E74E7A /* Pods-SwiftLuhn_Example-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 675C6CC36AC897463CF2D78599612217 /* Pods-SwiftLuhn_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 853C23891713E10EF79A8C5078C9DEC7 /* Build configuration list for PBXNativeTarget "Pods-SwiftLuhn_Example" */; - buildPhases = ( - BD81C6C310B3898E5E48835DEEBCAA96 /* Sources */, - 82E2E3FAEB83C9C08A2A6CF80CC40D9B /* Frameworks */, - FCAC26DCA0AEF4C7E22BBBFB664801F4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 4400C4345A90EB963CCE1968330A5BB0 /* PBXTargetDependency */, - ); - name = "Pods-SwiftLuhn_Example"; - productName = "Pods-SwiftLuhn_Example"; - productReference = 29A428A69D0F7195673C6A9147249D12 /* Pods_SwiftLuhn_Example.framework */; - productType = "com.apple.product-type.framework"; - }; - C75ABBDA10D66114D85F391CE88E9B5B /* Pods-SwiftLuhn_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 049755D7AB09667E1BCCB01C443997B8 /* Build configuration list for PBXNativeTarget "Pods-SwiftLuhn_Tests" */; - buildPhases = ( - 565776550F35CE711FB43C35541CDCD5 /* Sources */, - 3184825D401DED7116CCDAC68204FD68 /* Frameworks */, - 92A501908A4340A23C2F694B1389C6AF /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-SwiftLuhn_Tests"; - productName = "Pods-SwiftLuhn_Tests"; - productReference = 198DE2F513FBA55FA5C23DCECA7F2EBA /* Pods_SwiftLuhn_Tests.framework */; - productType = "com.apple.product-type.framework"; - }; - FD216F00596C45B2B49C1B59E717145C /* SwiftLuhn */ = { - isa = PBXNativeTarget; - buildConfigurationList = AAC1F6863E4C22C6112EF7BC2903DBFC /* Build configuration list for PBXNativeTarget "SwiftLuhn" */; - buildPhases = ( - 183CD941591BF8095FFA81B6092A3EAB /* Sources */, - C160D65A3855DCCE86373D886FA08628 /* Frameworks */, - BDDB063EE6422164E4DDE73B53B7B530 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SwiftLuhn; - productName = SwiftLuhn; - productReference = D65B25B26C32EEAEEA6F1E578AC53F28 /* SwiftLuhn.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0700; - TargetAttributes = { - 675C6CC36AC897463CF2D78599612217 = { - LastSwiftMigration = 0810; - }; - FD216F00596C45B2B49C1B59E717145C = { - LastSwiftMigration = 0810; - }; - }; - }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 30C0B05E890BFDE65848FC4C9F7C9646 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 675C6CC36AC897463CF2D78599612217 /* Pods-SwiftLuhn_Example */, - C75ABBDA10D66114D85F391CE88E9B5B /* Pods-SwiftLuhn_Tests */, - FD216F00596C45B2B49C1B59E717145C /* SwiftLuhn */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 183CD941591BF8095FFA81B6092A3EAB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 71BD138D2D5ED96BBA9412A2CECF093D /* SwiftLuhn-dummy.m in Sources */, - 501D07741E1446AE000E09A5 /* String+SwiftLuhn.swift in Sources */, - 501D07751E1446AE000E09A5 /* SwiftLuhn.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 565776550F35CE711FB43C35541CDCD5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 748E1C0BF44BD6CDB010A05300D28AB7 /* Pods-SwiftLuhn_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BD81C6C310B3898E5E48835DEEBCAA96 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F29A7F8F78CEA1E16DADA7D5B3CA5A7 /* Pods-SwiftLuhn_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 4400C4345A90EB963CCE1968330A5BB0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftLuhn; - target = FD216F00596C45B2B49C1B59E717145C /* SwiftLuhn */; - targetProxy = 16BBDB0CA905F203B47B9A080C585EE1 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1CBF34C403F1E2725F912B3ECD5E4F8B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0FB68CDA85DD28484F0CBFDB3F0A8DA0 /* Pods-SwiftLuhn_Example.debug.xcconfig */; - buildSettings = { - "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; - INFOPLIST_FILE = "Target Support Files/Pods-SwiftLuhn_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SwiftLuhn_Example/Pods-SwiftLuhn_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SwiftLuhn_Example; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 4AFD40D91B000D2153F7A7DCB9F34634 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1BBBF1F8AB4763DBC89C2053AE4C9703 /* Pods-SwiftLuhn_Tests.debug.xcconfig */; - buildSettings = { - "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; - INFOPLIST_FILE = "Target Support Files/Pods-SwiftLuhn_Tests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SwiftLuhn_Tests/Pods-SwiftLuhn_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SwiftLuhn_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 63620919A37C10577EB82E18CF9EAC1C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FF3F04E9A19ED8C28FE448F2C4DB41C8 /* SwiftLuhn.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "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/SwiftLuhn/SwiftLuhn-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftLuhn/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/SwiftLuhn/SwiftLuhn.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SwiftLuhn; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 7993E9D6777F06B2D113AF7F465F5C6B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FE514B1502AAE5A34C80278E4C003524 /* Pods-SwiftLuhn_Tests.release.xcconfig */; - buildSettings = { - "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-SwiftLuhn_Tests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SwiftLuhn_Tests/Pods-SwiftLuhn_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_SwiftLuhn_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8DED8AD26D381A6ACFF202E5217EC498 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = 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_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = 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 = 8.3; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 9E1E4E48AF2EAB23169E611BF694090A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = 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_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = 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 = 8.3; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - AFE9F6ECFDA2DD7DC09B4CFBEC080635 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD219073A1257D814FAD755557C758BA /* Pods-SwiftLuhn_Example.release.xcconfig */; - buildSettings = { - "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-SwiftLuhn_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SwiftLuhn_Example/Pods-SwiftLuhn_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_SwiftLuhn_Example; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - D0B6AF93AC1AB3D6460E664461FE9B55 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FF3F04E9A19ED8C28FE448F2C4DB41C8 /* SwiftLuhn.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "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; - GCC_PREFIX_HEADER = "Target Support Files/SwiftLuhn/SwiftLuhn-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftLuhn/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/SwiftLuhn/SwiftLuhn.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = SwiftLuhn; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 049755D7AB09667E1BCCB01C443997B8 /* Build configuration list for PBXNativeTarget "Pods-SwiftLuhn_Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4AFD40D91B000D2153F7A7DCB9F34634 /* Debug */, - 7993E9D6777F06B2D113AF7F465F5C6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9E1E4E48AF2EAB23169E611BF694090A /* Debug */, - 8DED8AD26D381A6ACFF202E5217EC498 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 853C23891713E10EF79A8C5078C9DEC7 /* Build configuration list for PBXNativeTarget "Pods-SwiftLuhn_Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1CBF34C403F1E2725F912B3ECD5E4F8B /* Debug */, - AFE9F6ECFDA2DD7DC09B4CFBEC080635 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AAC1F6863E4C22C6112EF7BC2903DBFC /* Build configuration list for PBXNativeTarget "SwiftLuhn" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63620919A37C10577EB82E18CF9EAC1C /* Debug */, - D0B6AF93AC1AB3D6460E664461FE9B55 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; -} + + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 0ADE4C0DB1D56ED8EE87ED4A5EA0F2CF + + buildActionMask + 2147483647 + files + + 7072A10E9C1F19613D1848FEA56FF1EE + C8B0AD751466DA95B3579C8CC195FFC3 + B114FDBB46E000F1BCA814B76731DAC2 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 0CD396953A1BA0BB44FC71A8A1067D6C + + fileRef + 2506B9F0F21714A4ABBD68F3466867AA + isa + PBXBuildFile + + 0FB68CDA85DD28484F0CBFDB3F0A8DA0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-SwiftLuhn_Example.debug.xcconfig + sourceTree + <group> + + 1417CD5764F18B3C9C1DE624EC042248 + + buildActionMask + 2147483647 + files + + 2C54F4633B6F18A4A5ABAE9E978B437B + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 1584E2058C8E53B4231178F6679AC033 + + children + + 373EFB81A279FFC6BA6F0EE2D699C47A + 47A1E92E081ACFA59ED2BE1EB672E5BB + + isa + PBXGroup + name + SwiftLuhn + path + ../.. + sourceTree + <group> + + 198DE2F513FBA55FA5C23DCECA7F2EBA + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + Pods_SwiftLuhn_Tests.framework + path + Pods-SwiftLuhn_Tests.framework + sourceTree + BUILT_PRODUCTS_DIR + + 1A6ECFF23B3F75CB4E0A1210F99F15AD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-SwiftLuhn_Example-resources.sh + sourceTree + <group> + + 1B32FB60516C91F11A481B949ECCC035 + + fileRef + 6DF6839F20BB0120C19F2BE798E4D714 + isa + PBXBuildFile + + 1BBBF1F8AB4763DBC89C2053AE4C9703 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-SwiftLuhn_Tests.debug.xcconfig + sourceTree + <group> + + 1E0086AE3B90AE7243A3271453F7382B + + buildConfigurationList + EA702EC9AE93473216942574361BE545 + buildPhases + + 373FC2E7AEE5A9DCBAE599C0EB5B9019 + E7D06C1D316358A100DCA9FBE5BC88CE + D338B71C7101A84FE382E1701A1D97E5 + + buildRules + + dependencies + + 72F069AE7479ABF8D2CFC22F201A2C43 + + isa + PBXNativeTarget + name + Pods-SwiftLuhn_Example + productName + Pods-SwiftLuhn_Example + productReference + 29A428A69D0F7195673C6A9147249D12 + productType + com.apple.product-type.framework + + 1FF4C845DB3D18A821ACA225C8E6591C + + children + + DBE4A46FCC9DD32B5D0DC3717253C0C7 + 2AF68C35E0C1946A2B9D2D37DEC91523 + CB94B9DD342A69D8691AD4206CFE0E81 + EF71A0983195EA37B6D3080EB69D8BC6 + 6DF6839F20BB0120C19F2BE798E4D714 + A7ADB97BEC35A889C286F4F43709F9A5 + 53E6DF9DCBA3AFA9D6F9F4D785981195 + 807F1D3C325859E21BC118C7C1014DB9 + 1BBBF1F8AB4763DBC89C2053AE4C9703 + FE514B1502AAE5A34C80278E4C003524 + + isa + PBXGroup + name + Pods-SwiftLuhn_Tests + path + Target Support Files/Pods-SwiftLuhn_Tests + sourceTree + <group> + + 204EA8E1747EEED5BB836104AC76D529 + + children + + 1584E2058C8E53B4231178F6679AC033 + + isa + PBXGroup + name + Development Pods + sourceTree + <group> + + 2404F6C1F28A2AFED78DCD3047007B96 + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + CC271A0A7559B38865E8EC2449D42130 + remoteInfo + SwiftLuhn + + 24DE9FC772A65345179041F27F5A4559 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + SwiftLuhn-umbrella.h + sourceTree + <group> + + 2506B9F0F21714A4ABBD68F3466867AA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-SwiftLuhn_Example-dummy.m + sourceTree + <group> + + 29A428A69D0F7195673C6A9147249D12 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + Pods_SwiftLuhn_Example.framework + path + Pods-SwiftLuhn_Example.framework + sourceTree + BUILT_PRODUCTS_DIR + + 2AF68C35E0C1946A2B9D2D37DEC91523 + + includeInIndex + 1 + isa + PBXFileReference + path + Pods-SwiftLuhn_Tests.modulemap + sourceTree + <group> + + 2C54F4633B6F18A4A5ABAE9E978B437B + + fileRef + CBB3DE36805AF21409EC968A9691732F + isa + PBXBuildFile + + 2CEC35A3928F9CF0DE0DFD6403FE5D89 + + fileRef + CBB3DE36805AF21409EC968A9691732F + isa + PBXBuildFile + + 2D8E8EC45A3A1A1D94AE762CB5028504 + + buildConfigurations + + 9E1E4E48AF2EAB23169E611BF694090A + 8DED8AD26D381A6ACFF202E5217EC498 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 3011AA921D10956BF285E35A281F15F3 + + buildConfigurations + + 8E6E07B5593CE139D437D16E5E7B13F5 + 786976E6757AB8CEEF96A7D2AA57BF4A + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 30C0B05E890BFDE65848FC4C9F7C9646 + + children + + 29A428A69D0F7195673C6A9147249D12 + 198DE2F513FBA55FA5C23DCECA7F2EBA + D65B25B26C32EEAEEA6F1E578AC53F28 + + isa + PBXGroup + name + Products + sourceTree + <group> + + 373EFB81A279FFC6BA6F0EE2D699C47A + + children + + C97794C0DDC37ADE7D6F96D879AAA985 + F567808121B6D6B68115C995640A7005 + FF3F04E9A19ED8C28FE448F2C4DB41C8 + 97FC7C7281FA9B89045E377C0ECF7B92 + 7BA68546CA98E437FEE8875A30498195 + 24DE9FC772A65345179041F27F5A4559 + + isa + PBXGroup + name + Support Files + path + Example/Pods/Target Support Files/SwiftLuhn + sourceTree + <group> + + 373FC2E7AEE5A9DCBAE599C0EB5B9019 + + buildActionMask + 2147483647 + files + + 0CD396953A1BA0BB44FC71A8A1067D6C + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 3F1D4F0A702CEE2ADFE0F37BD71D7598 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-SwiftLuhn_Example-umbrella.h + sourceTree + <group> + + 47A1E92E081ACFA59ED2BE1EB672E5BB + + children + + F0D6331E2E66F9D968DBFF789B0C312A + + isa + PBXGroup + name + SwiftLuhn + path + SwiftLuhn + sourceTree + <group> + + 53E6DF9DCBA3AFA9D6F9F4D785981195 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-SwiftLuhn_Tests-resources.sh + sourceTree + <group> + + 56C756A0AD803792AB2CF64A228E2909 + + fileRef + 807F1D3C325859E21BC118C7C1014DB9 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 583D7C9422DE697CB4ADD46B7220608B + + buildConfigurationList + 3011AA921D10956BF285E35A281F15F3 + buildPhases + + E0586A93DF7F072DD35B4777FEDC84C6 + 8984B691A903D64A3ADCAD504BEDE262 + D5DE8323DD36228ED76E1FDA37329979 + + buildRules + + dependencies + + isa + PBXNativeTarget + name + Pods-SwiftLuhn_Tests + productName + Pods-SwiftLuhn_Tests + productReference + 198DE2F513FBA55FA5C23DCECA7F2EBA + productType + com.apple.product-type.framework + + 5B856F87044DBAC025E6745B34FD354C + + buildActionMask + 2147483647 + files + + 6A307CD7405696709A083E4519E88A86 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 6A307CD7405696709A083E4519E88A86 + + fileRef + 24DE9FC772A65345179041F27F5A4559 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 6DF6839F20BB0120C19F2BE798E4D714 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-SwiftLuhn_Tests-dummy.m + sourceTree + <group> + + 6E3D643CB27421797DB4BE6EFC7B2420 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.swift + path + SwiftLuhn.swift + sourceTree + <group> + + 7072A10E9C1F19613D1848FEA56FF1EE + + fileRef + C5323FD66B164A0C1FE65270BEC83B17 + isa + PBXBuildFile + + 72F069AE7479ABF8D2CFC22F201A2C43 + + isa + PBXTargetDependency + name + SwiftLuhn + target + CC271A0A7559B38865E8EC2449D42130 + targetProxy + 2404F6C1F28A2AFED78DCD3047007B96 + + 734B7DCD56346410B0342AF99AC14089 + + baseConfigurationReference + FD219073A1257D814FAD755557C758BA + buildSettings + + 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-SwiftLuhn_Example/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.3 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-SwiftLuhn_Example/Pods-SwiftLuhn_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_SwiftLuhn_Example + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 7531C8F8DE19F1AA3C8A7AC97A91DC29 + + children + + CBB3DE36805AF21409EC968A9691732F + + isa + PBXGroup + name + iOS + sourceTree + <group> + + 786976E6757AB8CEEF96A7D2AA57BF4A + + baseConfigurationReference + FE514B1502AAE5A34C80278E4C003524 + buildSettings + + 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-SwiftLuhn_Tests/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.3 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-SwiftLuhn_Tests/Pods-SwiftLuhn_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_SwiftLuhn_Tests + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 7BA68546CA98E437FEE8875A30498195 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + SwiftLuhn-prefix.pch + sourceTree + <group> + + 7DB346D0F39D3F0E887471402A8071AB + + children + + 93A4A3777CF96A4AAC1D13BA6DCCEA73 + 204EA8E1747EEED5BB836104AC76D529 + BC3CA7F9E30CC8F7E2DD044DD34432FC + 30C0B05E890BFDE65848FC4C9F7C9646 + 9E2CA16678D43AE17B4C23C85564D53E + + isa + PBXGroup + sourceTree + <group> + + 807F1D3C325859E21BC118C7C1014DB9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-SwiftLuhn_Tests-umbrella.h + sourceTree + <group> + + 8984B691A903D64A3ADCAD504BEDE262 + + buildActionMask + 2147483647 + files + + A03301264ECA7B88699CEB397233E06E + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 8DED8AD26D381A6ACFF202E5217EC498 + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_ANALYZER_NONNULL + 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_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + 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 + 8.3 + PROVISIONING_PROFILE_SPECIFIER + NO_SIGNING/ + STRIP_INSTALLED_PRODUCT + NO + SYMROOT + ${SRCROOT}/../build + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 8E6E07B5593CE139D437D16E5E7B13F5 + + baseConfigurationReference + 1BBBF1F8AB4763DBC89C2053AE4C9703 + buildSettings + + 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 + INFOPLIST_FILE + Target Support Files/Pods-SwiftLuhn_Tests/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.3 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-SwiftLuhn_Tests/Pods-SwiftLuhn_Tests.modulemap + MTL_ENABLE_DEBUG_INFO + YES + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PODS_ROOT + $(SRCROOT) + PRODUCT_BUNDLE_IDENTIFIER + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + PRODUCT_NAME + Pods_SwiftLuhn_Tests + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Debug + + 93A4A3777CF96A4AAC1D13BA6DCCEA73 + + explicitFileType + text.script.ruby + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + name + Podfile + path + ../Podfile + sourceTree + SOURCE_ROOT + xcLanguageSpecificationIdentifier + xcode.lang.ruby + + 97FC7C7281FA9B89045E377C0ECF7B92 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + SwiftLuhn-dummy.m + sourceTree + <group> + + 99082E8F46FE58A4190385B8E8EECB5F + + baseConfigurationReference + FF3F04E9A19ED8C28FE448F2C4DB41C8 + buildSettings + + 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/SwiftLuhn/SwiftLuhn-prefix.pch + INFOPLIST_FILE + Target Support Files/SwiftLuhn/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/SwiftLuhn/SwiftLuhn.modulemap + MTL_ENABLE_DEBUG_INFO + YES + PRODUCT_NAME + SwiftLuhn + SDKROOT + iphoneos + SKIP_INSTALL + YES + SWIFT_OPTIMIZATION_LEVEL + -Onone + SWIFT_VERSION + 3.0 + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Debug + + 99F816772A927E1EE0833322E258D2CB + + children + + ECF51FB943B934AC4EE0FBFCA862CE0D + FF7A2E5678F966E8A85FB0F1F1C65C70 + 9B343E0909D0FA6AB2A6F1CA5697C9EB + 9B7496579FF22E4189ED35B237A6B141 + 2506B9F0F21714A4ABBD68F3466867AA + CF171C527475C152B654EE91A03D200B + 1A6ECFF23B3F75CB4E0A1210F99F15AD + 3F1D4F0A702CEE2ADFE0F37BD71D7598 + 0FB68CDA85DD28484F0CBFDB3F0A8DA0 + FD219073A1257D814FAD755557C758BA + + isa + PBXGroup + name + Pods-SwiftLuhn_Example + path + Target Support Files/Pods-SwiftLuhn_Example + sourceTree + <group> + + 9B343E0909D0FA6AB2A6F1CA5697C9EB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + path + Pods-SwiftLuhn_Example-acknowledgements.markdown + sourceTree + <group> + + 9B7496579FF22E4189ED35B237A6B141 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Pods-SwiftLuhn_Example-acknowledgements.plist + sourceTree + <group> + + 9E1E4E48AF2EAB23169E611BF694090A + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_ANALYZER_NONNULL + 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_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + 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 + 8.3 + ONLY_ACTIVE_ARCH + YES + PROVISIONING_PROFILE_SPECIFIER + NO_SIGNING/ + STRIP_INSTALLED_PRODUCT + NO + SYMROOT + ${SRCROOT}/../build + + isa + XCBuildConfiguration + name + Debug + + 9E2CA16678D43AE17B4C23C85564D53E + + children + + 99F816772A927E1EE0833322E258D2CB + 1FF4C845DB3D18A821ACA225C8E6591C + + isa + PBXGroup + name + Targets Support Files + sourceTree + <group> + + A00A64293179BE4781BBC00C7038DE26 + + fileRef + 3F1D4F0A702CEE2ADFE0F37BD71D7598 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + A03301264ECA7B88699CEB397233E06E + + fileRef + CBB3DE36805AF21409EC968A9691732F + isa + PBXBuildFile + + A722EA0E9505721061B68983498B34FB + + baseConfigurationReference + FF3F04E9A19ED8C28FE448F2C4DB41C8 + buildSettings + + 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 + GCC_PREFIX_HEADER + Target Support Files/SwiftLuhn/SwiftLuhn-prefix.pch + INFOPLIST_FILE + Target Support Files/SwiftLuhn/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/SwiftLuhn/SwiftLuhn.modulemap + MTL_ENABLE_DEBUG_INFO + NO + PRODUCT_NAME + SwiftLuhn + SDKROOT + iphoneos + SKIP_INSTALL + YES + SWIFT_VERSION + 3.0 + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + A7ADB97BEC35A889C286F4F43709F9A5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-SwiftLuhn_Tests-frameworks.sh + sourceTree + <group> + + A7D5B91CD02A403B7854399EE373AA6C + + baseConfigurationReference + 0FB68CDA85DD28484F0CBFDB3F0A8DA0 + buildSettings + + 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 + INFOPLIST_FILE + Target Support Files/Pods-SwiftLuhn_Example/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.3 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-SwiftLuhn_Example/Pods-SwiftLuhn_Example.modulemap + MTL_ENABLE_DEBUG_INFO + YES + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PODS_ROOT + $(SRCROOT) + PRODUCT_BUNDLE_IDENTIFIER + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + PRODUCT_NAME + Pods_SwiftLuhn_Example + SDKROOT + iphoneos + SKIP_INSTALL + YES + SWIFT_OPTIMIZATION_LEVEL + -Onone + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Debug + + B114FDBB46E000F1BCA814B76731DAC2 + + fileRef + 6E3D643CB27421797DB4BE6EFC7B2420 + isa + PBXBuildFile + + BC3CA7F9E30CC8F7E2DD044DD34432FC + + children + + 7531C8F8DE19F1AA3C8A7AC97A91DC29 + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + C5323FD66B164A0C1FE65270BEC83B17 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.swift + path + String+SwiftLuhn.swift + sourceTree + <group> + + C8B0AD751466DA95B3579C8CC195FFC3 + + fileRef + 97FC7C7281FA9B89045E377C0ECF7B92 + isa + PBXBuildFile + + C97794C0DDC37ADE7D6F96D879AAA985 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + CB94B9DD342A69D8691AD4206CFE0E81 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + path + Pods-SwiftLuhn_Tests-acknowledgements.markdown + sourceTree + <group> + + CBB3DE36805AF21409EC968A9691732F + + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + Foundation.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework + sourceTree + DEVELOPER_DIR + + CC271A0A7559B38865E8EC2449D42130 + + buildConfigurationList + FB6EC96387938C03D913FF49EFED744F + buildPhases + + 0ADE4C0DB1D56ED8EE87ED4A5EA0F2CF + 1417CD5764F18B3C9C1DE624EC042248 + 5B856F87044DBAC025E6745B34FD354C + + buildRules + + dependencies + + isa + PBXNativeTarget + name + SwiftLuhn + productName + SwiftLuhn + productReference + D65B25B26C32EEAEEA6F1E578AC53F28 + productType + com.apple.product-type.framework + + CF171C527475C152B654EE91A03D200B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-SwiftLuhn_Example-frameworks.sh + sourceTree + <group> + + D338B71C7101A84FE382E1701A1D97E5 + + buildActionMask + 2147483647 + files + + A00A64293179BE4781BBC00C7038DE26 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + D41D8CD98F00B204E9800998ECF8427E + + attributes + + LastSwiftUpdateCheck + 0730 + LastUpgradeCheck + 0700 + + buildConfigurationList + 2D8E8EC45A3A1A1D94AE762CB5028504 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + en + + mainGroup + 7DB346D0F39D3F0E887471402A8071AB + productRefGroup + 30C0B05E890BFDE65848FC4C9F7C9646 + projectDirPath + + projectReferences + + projectRoot + + targets + + 1E0086AE3B90AE7243A3271453F7382B + 583D7C9422DE697CB4ADD46B7220608B + CC271A0A7559B38865E8EC2449D42130 + + + D5DE8323DD36228ED76E1FDA37329979 + + buildActionMask + 2147483647 + files + + 56C756A0AD803792AB2CF64A228E2909 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + D65B25B26C32EEAEEA6F1E578AC53F28 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + SwiftLuhn.framework + path + SwiftLuhn.framework + sourceTree + BUILT_PRODUCTS_DIR + + DBE4A46FCC9DD32B5D0DC3717253C0C7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + E0586A93DF7F072DD35B4777FEDC84C6 + + buildActionMask + 2147483647 + files + + 1B32FB60516C91F11A481B949ECCC035 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E7D06C1D316358A100DCA9FBE5BC88CE + + buildActionMask + 2147483647 + files + + 2CEC35A3928F9CF0DE0DFD6403FE5D89 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + EA702EC9AE93473216942574361BE545 + + buildConfigurations + + A7D5B91CD02A403B7854399EE373AA6C + 734B7DCD56346410B0342AF99AC14089 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + ECF51FB943B934AC4EE0FBFCA862CE0D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + EF71A0983195EA37B6D3080EB69D8BC6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Pods-SwiftLuhn_Tests-acknowledgements.plist + sourceTree + <group> + + F0D6331E2E66F9D968DBFF789B0C312A + + children + + C5323FD66B164A0C1FE65270BEC83B17 + 6E3D643CB27421797DB4BE6EFC7B2420 + + isa + PBXGroup + name + Classes + path + Classes + sourceTree + <group> + + F567808121B6D6B68115C995640A7005 + + includeInIndex + 1 + isa + PBXFileReference + path + SwiftLuhn.modulemap + sourceTree + <group> + + FB6EC96387938C03D913FF49EFED744F + + buildConfigurations + + 99082E8F46FE58A4190385B8E8EECB5F + A722EA0E9505721061B68983498B34FB + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + FD219073A1257D814FAD755557C758BA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-SwiftLuhn_Example.release.xcconfig + sourceTree + <group> + + FE514B1502AAE5A34C80278E4C003524 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-SwiftLuhn_Tests.release.xcconfig + sourceTree + <group> + + FF3F04E9A19ED8C28FE448F2C4DB41C8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + SwiftLuhn.xcconfig + sourceTree + <group> + + FF7A2E5678F966E8A85FB0F1F1C65C70 + + includeInIndex + 1 + isa + PBXFileReference + path + Pods-SwiftLuhn_Example.modulemap + sourceTree + <group> + + + rootObject + D41D8CD98F00B204E9800998ECF8427E + + diff --git a/Example/Pods/Target Support Files/SwiftLuhn/Info.plist b/Example/Pods/Target Support Files/SwiftLuhn/Info.plist index 161a9d3..dee2a37 100644 --- a/Example/Pods/Target Support Files/SwiftLuhn/Info.plist +++ b/Example/Pods/Target Support Files/SwiftLuhn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.1.0 + 0.2.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/SwiftLuhn/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/SwiftLuhn/Images.xcassets/AppIcon.appiconset/Contents.json index d3942e9..b8236c6 100644 --- a/Example/SwiftLuhn/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/SwiftLuhn/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", @@ -35,4 +45,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Example/SwiftLuhn/Main.storyboard b/Example/SwiftLuhn/Main.storyboard index abba6db..69bfddd 100644 --- a/Example/SwiftLuhn/Main.storyboard +++ b/Example/SwiftLuhn/Main.storyboard @@ -1,8 +1,12 @@ - - + + + + + - + + @@ -14,38 +18,47 @@ - + - - + + - + - + + - + + + - + + diff --git a/Example/SwiftLuhn/ViewController.swift b/Example/SwiftLuhn/ViewController.swift index 920ef18..7fc97e9 100644 --- a/Example/SwiftLuhn/ViewController.swift +++ b/Example/SwiftLuhn/ViewController.swift @@ -10,19 +10,47 @@ import UIKit import SwiftLuhn class ViewController: UIViewController, UITextFieldDelegate { - + @IBOutlet weak var cardTextField: UITextField! + @IBOutlet weak var typeLabel: UILabel! @IBOutlet weak var validityLabel: UILabel! - + + //src: http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm + let americanExpress = "378282246310005" + let americanExpress2 = "371449635398431" + let americanExpressCorporate = "378734493671000" + let australianBankCard = "5610591081018250" + let dinersClub = "30569309025904" + let dinersClub2 = "38520000023237" + let discover = "6011111111111117" + let discover2 = "6011000990139424" + let jCB = "3530111333300000" + let jCB2 = "3566002020360505" + let masterCard = "5555555555554444" + let masterCard2 = "5105105105105100" + let visa = "4111111111111111" + let visa2 = "4012888888881881" + let visa3 = "4222222222222" + + // src: http://www.dicastech.net/numeros-de-cartoes-de-credito-para-testes/ + let aura = "5078601870000127985" + let aura2 = "5078601800003247449" + let eloo = "636297000045701" + + // src: http://www.geradorcartaodecredito.com.br/hipercard + let hipercard = "6062825756950756" + override func viewDidLoad() { super.viewDidLoad() - - cardTextField.text = "378282246310005" - updateLabel(cardTextField.text!.isValidCardNumber()) - // Do any additional setup after loading the view, typically from a nib. + + let initialValue = visa2 + + cardTextField.text = initialValue + updateValidityLabel(initialValue.isValidCardNumber()) + updateTypeLabel(initialValue) } - func updateLabel(_ isValid: Bool) { + private func updateValidityLabel(_ isValid: Bool) { if isValid { validityLabel.text = "VALID" validityLabel.textColor = UIColor.green @@ -32,6 +60,14 @@ class ViewController: UIViewController, UITextFieldDelegate { validityLabel.textColor = UIColor.red } } + + private func updateTypeLabel(_ string: String) { + if let type = string.cardType() { + typeLabel.text = type.stringValue() + } else { + typeLabel.text = "Unknown" + } + } func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { @@ -40,7 +76,10 @@ class ViewController: UIViewController, UITextFieldDelegate { let updatedString = text.replacingCharacters(in: range, with: string) let isValid = updatedString.isValidCardNumber() - updateLabel(isValid) + updateValidityLabel(isValid) + + updateTypeLabel(updatedString) + return true } diff --git a/README.md b/README.md index f81ee22..3926df6 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,9 @@ You can also get the type of the card being used which will be one of: |Discover| |Diner's Club| |JCB| +|Elo| +|Hipercard| +|Aura| ```swift do { @@ -92,6 +95,8 @@ To run the unit test suite, please open the example project and hit CMD + U. Max Kramer, max@maxkramer.co, [@maxkramer](http://twitter.com/maxkramer) +Elo, Hipercard and Aura by [@bocato](http://github.com/bocato/) + ## License SwiftLuhn is available under the MIT license. See the LICENSE file for more info. diff --git a/SwiftLuhn/Classes/String+SwiftLuhn.swift b/SwiftLuhn/Classes/String+SwiftLuhn.swift index 6b10e1f..34777a6 100644 --- a/SwiftLuhn/Classes/String+SwiftLuhn.swift +++ b/SwiftLuhn/Classes/String+SwiftLuhn.swift @@ -11,7 +11,7 @@ import Foundation public extension String { public func isValidCardNumber() -> Bool { do { - try SwiftLuhn.performLuhnAlgorithm(with: self) + try SwiftLuhn.performLuhnAlgorithm(cardNumber: self) return true } catch { @@ -20,7 +20,7 @@ public extension String { } public func cardType() -> SwiftLuhn.CardType? { - let cardType = try? SwiftLuhn.cardType(for: self) + let cardType = try? SwiftLuhn.cardType(cardNumber: self) return cardType } diff --git a/SwiftLuhn/Classes/SwiftLuhn.swift b/SwiftLuhn/Classes/SwiftLuhn.swift index 9e17d33..005fa48 100644 --- a/SwiftLuhn/Classes/SwiftLuhn.swift +++ b/SwiftLuhn/Classes/SwiftLuhn.swift @@ -8,44 +8,55 @@ import Foundation -open class SwiftLuhn { +public class SwiftLuhn { public enum CardType: Int { - case amex = 0 - case visa - case mastercard - case discover - case dinersClub - case jcb + case Amex = 0 + case Visa + case Mastercard + case Discover + case DinersClub + case JCB + case Elo + case HiperCard + case Aura } public enum CardError: Error { - case unsupported - case invalid + case Unsupported + case Invalid } - fileprivate class func regularExpression(for cardType: CardType) -> String { + private class func regularExpression(cardType: CardType) -> String { switch cardType { - case .amex: + case .Amex: return "^3[47][0-9]{5,}$"; - case .dinersClub: + case .DinersClub: return "^3(?:0[0-5]|[68][0-9])[0-9]{4,}$"; - case .discover: + case .Discover: return "^6(?:011|5[0-9]{2})[0-9]{3,}$"; - case .jcb: + case .JCB: return "^(?:2131|1800|35[0-9]{3})[0-9]{3,}$"; - case .mastercard: + case .Mastercard: return "^5[1-5][0-9]{5,}$"; - case .visa: + case .Visa: return "^4[0-9]{6,}$"; + case .Elo: + return "^(636368|636369|636297|451416|438935|504175|506699)[0-9]{8,}$|^(50904|50905|50906)[0-9]{11,}$|^(5067|4576|4011)[0-9]{12,}$" + case .HiperCard: + return "^(38|60)[0-9]{11,17}$" + case .Aura: + return "^50[0-9]{14,17}$" } } - class func performLuhnAlgorithm(with cardNumber: String) throws { - + class func performLuhnAlgorithm(cardNumber: String?) throws { + guard let cardNumber = cardNumber else { + throw CardError.Invalid + } let formattedCardNumber = cardNumber.formattedCardNumber() guard formattedCardNumber.characters.count >= 9 else { - throw CardError.invalid + throw CardError.Invalid } let originalCheckDigit = formattedCardNumber.characters.last! @@ -77,16 +88,16 @@ open class SwiftLuhn { let valid = originalCheckDigitInt == computedCheckDigit if valid == false { - throw CardError.invalid + throw CardError.Invalid } } - class func cardType(for cardNumber: String) throws -> CardType { + class func cardType(cardNumber: String) throws -> CardType { var foundCardType: CardType? - for i in CardType.amex.rawValue...CardType.jcb.rawValue { + for i in CardType.Amex.rawValue...CardType.Aura.rawValue { let cardType = CardType(rawValue: i)! - let regex = regularExpression(for: cardType) + let regex = regularExpression(cardType: cardType) let predicate = NSPredicate(format: "SELF MATCHES %@", regex) @@ -97,7 +108,7 @@ open class SwiftLuhn { } if foundCardType == nil { - throw CardError.invalid + throw CardError.Invalid } return foundCardType! @@ -107,18 +118,24 @@ open class SwiftLuhn { public extension SwiftLuhn.CardType { func stringValue() -> String { switch self { - case .amex: + case .Amex: return "American Express" - case .visa: + case .Visa: return "Visa" - case .mastercard: + case .Mastercard: return "Mastercard" - case .discover: + case .Discover: return "Discover" - case .dinersClub: + case .DinersClub: return "Diner's Club" - case .jcb: + case .JCB: return "JCB" + case .Elo: + return "Elo" + case .HiperCard: + return "HiperCard" + case .Aura: + return "Aura" } } @@ -136,6 +153,12 @@ public extension SwiftLuhn.CardType { self.init(rawValue: 4) case "jcb": self.init(rawValue: 5) + case "elo": + self.init(rawValue: 6) + case "hipercard": + self.init(rawValue: 7) + case "aura": + self.init(rawValue: 8) default: return nil }