diff --git a/Algorithm Class/Luhn.h b/Algorithm Class/Luhn.h
index cf7394b..3e96459 100644
--- a/Algorithm Class/Luhn.h
+++ b/Algorithm Class/Luhn.h
@@ -15,6 +15,7 @@ typedef NS_ENUM(NSInteger, OLCreditCardType) {
OLCreditCardTypeDiscover,
OLCreditCardTypeDinersClub,
OLCreditCardTypeJCB,
+ OLCreditCardTypeMAESTRO,
OLCreditCardTypeUnsupported,
OLCreditCardTypeInvalid
};
diff --git a/Algorithm Class/Luhn.m b/Algorithm Class/Luhn.m
index be0087e..db41cb8 100644
--- a/Algorithm Class/Luhn.m
+++ b/Algorithm Class/Luhn.m
@@ -49,7 +49,7 @@ + (OLCreditCardType) typeFromString:(NSString *) string {
return OLCreditCardTypeInvalid;
}
- NSArray *enums = @[@(OLCreditCardTypeAmex), @(OLCreditCardTypeDinersClub), @(OLCreditCardTypeDiscover), @(OLCreditCardTypeJCB), @(OLCreditCardTypeMastercard), @(OLCreditCardTypeVisa)];
+ NSArray *enums = @[@(OLCreditCardTypeAmex), @(OLCreditCardTypeDinersClub), @(OLCreditCardTypeDiscover), @(OLCreditCardTypeJCB), @(OLCreditCardTypeMastercard), @(OLCreditCardTypeVisa), @(OLCreditCardTypeMAESTRO)];
__block OLCreditCardType type = OLCreditCardTypeInvalid;
[enums enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
@@ -85,6 +85,9 @@ + (NSPredicate *) predicateForType:(OLCreditCardType) type {
case OLCreditCardTypeMastercard:
regex = @"^5[1-5][0-9]{5,}$";
break;
+ case OLCreditCardTypeMAESTRO:
+ regex = @"^(5018|5020|5038|6304|6759|676[1-3]|6220)[0-9]{12}([0-9]{2}|[0-9]{3}|[0-9]{0})$";
+ break;
case OLCreditCardTypeVisa:
regex = @"^4[0-9]{6,}$";
break;
diff --git a/Example Project/Luhn Algorithm (Mod 10).xcodeproj/project.pbxproj b/Example Project/Luhn Algorithm (Mod 10).xcodeproj/project.pbxproj
index be36e63..a3a52bd 100644
--- a/Example Project/Luhn Algorithm (Mod 10).xcodeproj/project.pbxproj
+++ b/Example Project/Luhn Algorithm (Mod 10).xcodeproj/project.pbxproj
@@ -1,1346 +1,637 @@
-
-
-
-
- archiveVersion
- 1
- classes
-
- objectVersion
- 46
- objects
-
- 2DE9D2E67F2BFCC2B9A8BAF9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-Tests.release.xcconfig
- path
- Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig
- sourceTree
- <group>
-
- 471C843244D842AABE6A468A
-
- fileRef
- ED7D61ED784D495FA5F58B96
- isa
- PBXBuildFile
-
- 47DE7F95E1DB4941DCCBB0A9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-Luhn Algorithm (Mod 10).release.xcconfig
- path
- Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10).release.xcconfig
- sourceTree
- <group>
-
- 4C396346984DCA77ACE533E6
-
- children
-
- C2961D9AA38E528E10E49751
- 47DE7F95E1DB4941DCCBB0A9
- C8E417B2943AAB618ECE21EE
- 2DE9D2E67F2BFCC2B9A8BAF9
-
- isa
- PBXGroup
- name
- Pods
- sourceTree
- <group>
-
- 4F1797445D2246AFB7AD4F7D
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Check Pods Manifest.lock
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
-if [[ $? != 0 ]] ; then
- cat << EOM
-error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
-EOM
- exit 1
-fi
-
- showEnvVarsInLog
- 0
-
- 5004D51F18BAEA410055C9AF
-
- buildActionMask
- 2147483647
- files
-
- 5004D52E18BAEA410055C9AF
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 5004D52018BAEA410055C9AF
-
- buildActionMask
- 2147483647
- files
-
- 5004D52418BAEA410055C9AF
- 5004D52618BAEA410055C9AF
- 5004D52518BAEA410055C9AF
- 471C843244D842AABE6A468A
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 5004D52118BAEA410055C9AF
-
- buildActionMask
- 2147483647
- files
-
- 5004D53618BAEC310055C9AF
- 5004D52C18BAEA410055C9AF
-
- isa
- PBXResourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 5004D52218BAEA410055C9AF
-
- buildConfigurationList
- 5004D53218BAEA410055C9AF
- buildPhases
-
- 4F1797445D2246AFB7AD4F7D
- 5004D51F18BAEA410055C9AF
- 5004D52018BAEA410055C9AF
- 5004D52118BAEA410055C9AF
- C678A7822B9E4CC2978452BF
-
- buildRules
-
- dependencies
-
- 5004D53118BAEA410055C9AF
-
- isa
- PBXNativeTarget
- name
- Tests
- productName
- Tests
- productReference
- 5004D52318BAEA410055C9AF
- productType
- com.apple.product-type.bundle.unit-test
-
- 5004D52318BAEA410055C9AF
-
- explicitFileType
- wrapper.cfbundle
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- Tests.xctest
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 5004D52418BAEA410055C9AF
-
- fileRef
- 501C53AC18BADF2300FF07AA
- isa
- PBXBuildFile
-
- 5004D52518BAEA410055C9AF
-
- fileRef
- 508E0A64168FC92800F237F4
- isa
- PBXBuildFile
-
- 5004D52618BAEA410055C9AF
-
- fileRef
- 508E0A62168FC92800F237F4
- isa
- PBXBuildFile
-
- 5004D52718BAEA410055C9AF
-
- children
-
- 5004D52D18BAEA410055C9AF
- 5004D52818BAEA410055C9AF
-
- isa
- PBXGroup
- path
- Tests
- sourceTree
- <group>
-
- 5004D52818BAEA410055C9AF
-
- children
-
- 5004D53518BAEC310055C9AF
- 5004D52918BAEA410055C9AF
- 5004D52A18BAEA410055C9AF
- 5004D52F18BAEA410055C9AF
-
- isa
- PBXGroup
- name
- Supporting Files
- sourceTree
- <group>
-
- 5004D52918BAEA410055C9AF
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Tests-Info.plist
- sourceTree
- <group>
-
- 5004D52A18BAEA410055C9AF
-
- children
-
- 5004D52B18BAEA410055C9AF
-
- isa
- PBXVariantGroup
- name
- InfoPlist.strings
- sourceTree
- <group>
-
- 5004D52B18BAEA410055C9AF
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.strings
- name
- en
- path
- en.lproj/InfoPlist.strings
- sourceTree
- <group>
-
- 5004D52C18BAEA410055C9AF
-
- fileRef
- 5004D52A18BAEA410055C9AF
- isa
- PBXBuildFile
-
- 5004D52D18BAEA410055C9AF
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Tests.m
- sourceTree
- <group>
-
- 5004D52E18BAEA410055C9AF
-
- fileRef
- 5004D52D18BAEA410055C9AF
- isa
- PBXBuildFile
-
- 5004D52F18BAEA410055C9AF
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Tests-Prefix.pch
- sourceTree
- <group>
-
- 5004D53018BAEA410055C9AF
-
- containerPortal
- 508E0A55168FC92800F237F4
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 508E0A5D168FC92800F237F4
- remoteInfo
- Luhn Algorithm (Mod 10)
-
- 5004D53118BAEA410055C9AF
-
- isa
- PBXTargetDependency
- target
- 508E0A5D168FC92800F237F4
- targetProxy
- 5004D53018BAEA410055C9AF
-
- 5004D53218BAEA410055C9AF
-
- buildConfigurations
-
- 5004D53318BAEA410055C9AF
- 5004D53418BAEA410055C9AF
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 5004D53318BAEA410055C9AF
-
- baseConfigurationReference
- C8E417B2943AAB618ECE21EE
- buildSettings
-
- BUNDLE_LOADER
- $(BUILT_PRODUCTS_DIR)/Luhn Algorithm (Mod 10).app/Luhn Algorithm (Mod 10)
- 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_ERROR
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES_ERROR
- FRAMEWORK_SEARCH_PATHS
-
- $(SDKROOT)/Developer/Library/Frameworks
- $(inherited)
- $(DEVELOPER_FRAMEWORKS_DIR)
-
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Tests/Tests-Prefix.pch
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES_ERROR
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- INFOPLIST_FILE
- Tests/Tests-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- PRODUCT_NAME
- $(TARGET_NAME)
- TEST_HOST
- $(BUNDLE_LOADER)
- WRAPPER_EXTENSION
- xctest
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 5004D53418BAEA410055C9AF
-
- baseConfigurationReference
- 2DE9D2E67F2BFCC2B9A8BAF9
- buildSettings
-
- BUNDLE_LOADER
- $(BUILT_PRODUCTS_DIR)/Luhn Algorithm (Mod 10).app/Luhn Algorithm (Mod 10)
- 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_ERROR
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES_ERROR
- ENABLE_NS_ASSERTIONS
- NO
- FRAMEWORK_SEARCH_PATHS
-
- $(SDKROOT)/Developer/Library/Frameworks
- $(inherited)
- $(DEVELOPER_FRAMEWORKS_DIR)
-
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Tests/Tests-Prefix.pch
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES_ERROR
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- INFOPLIST_FILE
- Tests/Tests-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- PRODUCT_NAME
- $(TARGET_NAME)
- TEST_HOST
- $(BUNDLE_LOADER)
- WRAPPER_EXTENSION
- xctest
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 5004D53518BAEC310055C9AF
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- TestCreditCardNumbers.plist
- sourceTree
- <group>
-
- 5004D53618BAEC310055C9AF
-
- fileRef
- 5004D53518BAEC310055C9AF
- isa
- PBXBuildFile
-
- 501C53A518BADE9200FF07AA
-
- isa
- PBXFileReference
- lastKnownFileType
- folder.assetcatalog
- name
- Images.xcassets
- path
- Luhn Algorithm (Mod 10)/Images.xcassets
- sourceTree
- <group>
-
- 501C53A618BADE9200FF07AA
-
- fileRef
- 501C53A518BADE9200FF07AA
- isa
- PBXBuildFile
-
- 501C53AC18BADF2300FF07AA
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- XCTest.framework
- path
- Library/Frameworks/XCTest.framework
- sourceTree
- DEVELOPER_DIR
-
- 508E0A53168FC92800F237F4
-
- children
-
- 501C53A518BADE9200FF07AA
- 508E0A68168FC92800F237F4
- 5004D52718BAEA410055C9AF
- 508E0A61168FC92800F237F4
- 508E0A5F168FC92800F237F4
- 4C396346984DCA77ACE533E6
-
- isa
- PBXGroup
- sourceTree
- <group>
-
- 508E0A55168FC92800F237F4
-
- attributes
-
- LastUpgradeCheck
- 0500
- ORGANIZATIONNAME
- Max Kramer
- TargetAttributes
-
- 5004D52218BAEA410055C9AF
-
- TestTargetID
- 508E0A5D168FC92800F237F4
-
-
-
- buildConfigurationList
- 508E0A58168FC92800F237F4
- compatibilityVersion
- Xcode 3.2
- developmentRegion
- English
- hasScannedForEncodings
- 0
- isa
- PBXProject
- knownRegions
-
- en
-
- mainGroup
- 508E0A53168FC92800F237F4
- productRefGroup
- 508E0A5F168FC92800F237F4
- projectDirPath
-
- projectReferences
-
- projectRoot
-
- targets
-
- 508E0A5D168FC92800F237F4
- 5004D52218BAEA410055C9AF
-
-
- 508E0A58168FC92800F237F4
-
- buildConfigurations
-
- 508E0A80168FC92800F237F4
- 508E0A81168FC92800F237F4
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 508E0A5A168FC92800F237F4
-
- buildActionMask
- 2147483647
- files
-
- 508E0A6F168FC92800F237F4
- 508E0A73168FC92800F237F4
- 508E0A7C168FC92800F237F4
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 508E0A5B168FC92800F237F4
-
- buildActionMask
- 2147483647
- files
-
- 508E0A63168FC92800F237F4
- 508E0A65168FC92800F237F4
- 508E0A67168FC92800F237F4
- 86FF5CFE360A4E6398C78E03
- BFE7FBE2ABD94C579591E461
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 508E0A5C168FC92800F237F4
-
- buildActionMask
- 2147483647
- files
-
- 508E0A6D168FC92800F237F4
- 508E0A75168FC92800F237F4
- 508E0A77168FC92800F237F4
- 501C53A618BADE9200FF07AA
- 508E0A79168FC92800F237F4
- 508E0A7F168FC92800F237F4
-
- isa
- PBXResourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 508E0A5D168FC92800F237F4
-
- buildConfigurationList
- 508E0A82168FC92800F237F4
- buildPhases
-
- C49F25322CCD427AB4264BCE
- 508E0A5A168FC92800F237F4
- 508E0A5B168FC92800F237F4
- 508E0A5C168FC92800F237F4
- 6BA9916900864AB9ABF4225B
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- Luhn Algorithm (Mod 10)
- productName
- Luhn Algorithm (Mod 10)
- productReference
- 508E0A5E168FC92800F237F4
- productType
- com.apple.product-type.application
-
- 508E0A5E168FC92800F237F4
-
- explicitFileType
- wrapper.application
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- Luhn Algorithm (Mod 10).app
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 508E0A5F168FC92800F237F4
-
- children
-
- 508E0A5E168FC92800F237F4
- 5004D52318BAEA410055C9AF
-
- isa
- PBXGroup
- name
- Products
- sourceTree
- <group>
-
- 508E0A61168FC92800F237F4
-
- children
-
- 508E0A62168FC92800F237F4
- 508E0A64168FC92800F237F4
- 508E0A66168FC92800F237F4
- 501C53AC18BADF2300FF07AA
- ED7D61ED784D495FA5F58B96
- 5EC0BEC42D204F6EB01B4168
-
- isa
- PBXGroup
- name
- Frameworks
- sourceTree
- <group>
-
- 508E0A62168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- UIKit.framework
- path
- System/Library/Frameworks/UIKit.framework
- sourceTree
- SDKROOT
-
- 508E0A63168FC92800F237F4
-
- fileRef
- 508E0A62168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A64168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- Foundation.framework
- path
- System/Library/Frameworks/Foundation.framework
- sourceTree
- SDKROOT
-
- 508E0A65168FC92800F237F4
-
- fileRef
- 508E0A64168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A66168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- CoreGraphics.framework
- path
- System/Library/Frameworks/CoreGraphics.framework
- sourceTree
- SDKROOT
-
- 508E0A67168FC92800F237F4
-
- fileRef
- 508E0A66168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A68168FC92800F237F4
-
- children
-
- 508E0A71168FC92800F237F4
- 508E0A72168FC92800F237F4
- 508E0A7A168FC92800F237F4
- 508E0A7B168FC92800F237F4
- 508E0A7D168FC92800F237F4
- 508E0A69168FC92800F237F4
-
- isa
- PBXGroup
- name
- Example Project
- path
- Luhn Algorithm (Mod 10)
- sourceTree
- <group>
-
- 508E0A69168FC92800F237F4
-
- children
-
- 508E0A6A168FC92800F237F4
- 508E0A6B168FC92800F237F4
- 508E0A6E168FC92800F237F4
- 508E0A70168FC92800F237F4
- 508E0A74168FC92800F237F4
- 508E0A76168FC92800F237F4
- 508E0A78168FC92800F237F4
-
- isa
- PBXGroup
- name
- Supporting Files
- sourceTree
- <group>
-
- 508E0A6A168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Luhn Algorithm (Mod 10)-Info.plist
- sourceTree
- <group>
-
- 508E0A6B168FC92800F237F4
-
- children
-
- 508E0A6C168FC92800F237F4
-
- isa
- PBXVariantGroup
- name
- InfoPlist.strings
- sourceTree
- <group>
-
- 508E0A6C168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.strings
- name
- en
- path
- en.lproj/InfoPlist.strings
- sourceTree
- <group>
-
- 508E0A6D168FC92800F237F4
-
- fileRef
- 508E0A6B168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A6E168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- main.m
- sourceTree
- <group>
-
- 508E0A6F168FC92800F237F4
-
- fileRef
- 508E0A6E168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A70168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Luhn Algorithm (Mod 10)-Prefix.pch
- sourceTree
- <group>
-
- 508E0A71168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- AppDelegate.h
- sourceTree
- <group>
-
- 508E0A72168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- AppDelegate.m
- sourceTree
- <group>
-
- 508E0A73168FC92800F237F4
-
- fileRef
- 508E0A72168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A74168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- image.png
- path
- Default.png
- sourceTree
- <group>
-
- 508E0A75168FC92800F237F4
-
- fileRef
- 508E0A74168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A76168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- image.png
- path
- Default@2x.png
- sourceTree
- <group>
-
- 508E0A77168FC92800F237F4
-
- fileRef
- 508E0A76168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A78168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- image.png
- path
- Default-568h@2x.png
- sourceTree
- <group>
-
- 508E0A79168FC92800F237F4
-
- fileRef
- 508E0A78168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A7A168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- ViewController.h
- sourceTree
- <group>
-
- 508E0A7B168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- ViewController.m
- sourceTree
- <group>
-
- 508E0A7C168FC92800F237F4
-
- fileRef
- 508E0A7B168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A7D168FC92800F237F4
-
- children
-
- 508E0A7E168FC92800F237F4
-
- isa
- PBXVariantGroup
- name
- ViewController.xib
- sourceTree
- <group>
-
- 508E0A7E168FC92800F237F4
-
- isa
- PBXFileReference
- lastKnownFileType
- file.xib
- name
- en
- path
- en.lproj/ViewController.xib
- sourceTree
- <group>
-
- 508E0A7F168FC92800F237F4
-
- fileRef
- 508E0A7D168FC92800F237F4
- isa
- PBXBuildFile
-
- 508E0A80168FC92800F237F4
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- CODE_SIGN_IDENTITY[sdk=iphoneos*]
- iPhone Developer
- COPY_PHASE_STRIP
- NO
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 6.0
- ONLY_ACTIVE_ARCH
- YES
- SDKROOT
- iphoneos
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 508E0A81168FC92800F237F4
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- CODE_SIGN_IDENTITY[sdk=iphoneos*]
- iPhone Developer
- COPY_PHASE_STRIP
- YES
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 6.0
- OTHER_CFLAGS
- -DNS_BLOCK_ASSERTIONS=1
- SDKROOT
- iphoneos
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 508E0A82168FC92800F237F4
-
- buildConfigurations
-
- 508E0A83168FC92800F237F4
- 508E0A84168FC92800F237F4
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 508E0A83168FC92800F237F4
-
- baseConfigurationReference
- C2961D9AA38E528E10E49751
- buildSettings
-
- ASSETCATALOG_COMPILER_APPICON_NAME
- AppIcon
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME
- LaunchImage
- CLANG_ENABLE_OBJC_ARC
- YES
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Prefix.pch
- INFOPLIST_FILE
- Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- PRODUCT_NAME
- $(TARGET_NAME)
- WRAPPER_EXTENSION
- app
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 508E0A84168FC92800F237F4
-
- baseConfigurationReference
- 47DE7F95E1DB4941DCCBB0A9
- buildSettings
-
- ASSETCATALOG_COMPILER_APPICON_NAME
- AppIcon
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME
- LaunchImage
- CLANG_ENABLE_OBJC_ARC
- YES
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Prefix.pch
- INFOPLIST_FILE
- Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- PRODUCT_NAME
- $(TARGET_NAME)
- WRAPPER_EXTENSION
- app
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 5EC0BEC42D204F6EB01B4168
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods-Luhn Algorithm (Mod 10).a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 6BA9916900864AB9ABF4225B
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Copy Pods Resources
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10)-resources.sh"
-
- showEnvVarsInLog
- 0
-
- 86FF5CFE360A4E6398C78E03
-
- isa
- PBXBuildFile
-
- BFE7FBE2ABD94C579591E461
-
- fileRef
- 5EC0BEC42D204F6EB01B4168
- isa
- PBXBuildFile
-
- C2961D9AA38E528E10E49751
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-Luhn Algorithm (Mod 10).debug.xcconfig
- path
- Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10).debug.xcconfig
- sourceTree
- <group>
-
- C49F25322CCD427AB4264BCE
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Check Pods Manifest.lock
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
-if [[ $? != 0 ]] ; then
- cat << EOM
-error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
-EOM
- exit 1
-fi
-
- showEnvVarsInLog
- 0
-
- C678A7822B9E4CC2978452BF
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Copy Pods Resources
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh"
-
- showEnvVarsInLog
- 0
-
- C8E417B2943AAB618ECE21EE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-Tests.debug.xcconfig
- path
- Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig
- sourceTree
- <group>
-
- ED7D61ED784D495FA5F58B96
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods-Tests.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
-
- rootObject
- 508E0A55168FC92800F237F4
-
-
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 471C843244D842AABE6A468A /* libPods-Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ED7D61ED784D495FA5F58B96 /* libPods-Tests.a */; };
+ 5004D52418BAEA410055C9AF /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501C53AC18BADF2300FF07AA /* XCTest.framework */; };
+ 5004D52518BAEA410055C9AF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508E0A64168FC92800F237F4 /* Foundation.framework */; };
+ 5004D52618BAEA410055C9AF /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508E0A62168FC92800F237F4 /* UIKit.framework */; };
+ 5004D52C18BAEA410055C9AF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5004D52A18BAEA410055C9AF /* InfoPlist.strings */; };
+ 5004D52E18BAEA410055C9AF /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5004D52D18BAEA410055C9AF /* Tests.m */; };
+ 5004D53618BAEC310055C9AF /* TestCreditCardNumbers.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5004D53518BAEC310055C9AF /* TestCreditCardNumbers.plist */; };
+ 501C53A618BADE9200FF07AA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 501C53A518BADE9200FF07AA /* Images.xcassets */; };
+ 508E0A63168FC92800F237F4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508E0A62168FC92800F237F4 /* UIKit.framework */; };
+ 508E0A65168FC92800F237F4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508E0A64168FC92800F237F4 /* Foundation.framework */; };
+ 508E0A67168FC92800F237F4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508E0A66168FC92800F237F4 /* CoreGraphics.framework */; };
+ 508E0A6D168FC92800F237F4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 508E0A6B168FC92800F237F4 /* InfoPlist.strings */; };
+ 508E0A6F168FC92800F237F4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 508E0A6E168FC92800F237F4 /* main.m */; };
+ 508E0A73168FC92800F237F4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 508E0A72168FC92800F237F4 /* AppDelegate.m */; };
+ 508E0A75168FC92800F237F4 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 508E0A74168FC92800F237F4 /* Default.png */; };
+ 508E0A77168FC92800F237F4 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 508E0A76168FC92800F237F4 /* Default@2x.png */; };
+ 508E0A79168FC92800F237F4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 508E0A78168FC92800F237F4 /* Default-568h@2x.png */; };
+ 508E0A7C168FC92800F237F4 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 508E0A7B168FC92800F237F4 /* ViewController.m */; };
+ 508E0A7F168FC92800F237F4 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 508E0A7D168FC92800F237F4 /* ViewController.xib */; };
+ F4E822021D87FB2A00B614F9 /* libObjectiveLuhn.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F4E822011D87FB2A00B614F9 /* libObjectiveLuhn.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 5004D53018BAEA410055C9AF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 508E0A55168FC92800F237F4 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 508E0A5D168FC92800F237F4;
+ remoteInfo = "Luhn Algorithm (Mod 10)";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 2DE9D2E67F2BFCC2B9A8BAF9 /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = ""; };
+ 47DE7F95E1DB4941DCCBB0A9 /* Pods-Luhn Algorithm (Mod 10).release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Luhn Algorithm (Mod 10).release.xcconfig"; path = "Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10).release.xcconfig"; sourceTree = ""; };
+ 5004D52318BAEA410055C9AF /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5004D52918BAEA410055C9AF /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; };
+ 5004D52B18BAEA410055C9AF /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
+ 5004D52D18BAEA410055C9AF /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; };
+ 5004D52F18BAEA410055C9AF /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; };
+ 5004D53518BAEC310055C9AF /* TestCreditCardNumbers.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = TestCreditCardNumbers.plist; sourceTree = ""; };
+ 501C53A518BADE9200FF07AA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "Luhn Algorithm (Mod 10)/Images.xcassets"; sourceTree = ""; };
+ 501C53AC18BADF2300FF07AA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+ 508E0A5E168FC92800F237F4 /* Luhn Algorithm (Mod 10).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Luhn Algorithm (Mod 10).app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 508E0A62168FC92800F237F4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 508E0A64168FC92800F237F4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 508E0A66168FC92800F237F4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 508E0A6A168FC92800F237F4 /* Luhn Algorithm (Mod 10)-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Luhn Algorithm (Mod 10)-Info.plist"; sourceTree = ""; };
+ 508E0A6C168FC92800F237F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
+ 508E0A6E168FC92800F237F4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 508E0A70168FC92800F237F4 /* Luhn Algorithm (Mod 10)-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Luhn Algorithm (Mod 10)-Prefix.pch"; sourceTree = ""; };
+ 508E0A71168FC92800F237F4 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 508E0A72168FC92800F237F4 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ 508E0A74168FC92800F237F4 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; };
+ 508E0A76168FC92800F237F4 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; };
+ 508E0A78168FC92800F237F4 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; };
+ 508E0A7A168FC92800F237F4 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
+ 508E0A7B168FC92800F237F4 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
+ 508E0A7E168FC92800F237F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; };
+ 5EC0BEC42D204F6EB01B4168 /* libPods-Luhn Algorithm (Mod 10).a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Luhn Algorithm (Mod 10).a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ C2961D9AA38E528E10E49751 /* Pods-Luhn Algorithm (Mod 10).debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Luhn Algorithm (Mod 10).debug.xcconfig"; path = "Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10).debug.xcconfig"; sourceTree = ""; };
+ C8E417B2943AAB618ECE21EE /* Pods-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig"; sourceTree = ""; };
+ ED7D61ED784D495FA5F58B96 /* libPods-Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F4E822011D87FB2A00B614F9 /* libObjectiveLuhn.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libObjectiveLuhn.a; path = "Pods/../build/Debug-iphoneos/ObjectiveLuhn/libObjectiveLuhn.a"; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 5004D52018BAEA410055C9AF /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5004D52418BAEA410055C9AF /* XCTest.framework in Frameworks */,
+ 5004D52618BAEA410055C9AF /* UIKit.framework in Frameworks */,
+ 5004D52518BAEA410055C9AF /* Foundation.framework in Frameworks */,
+ 471C843244D842AABE6A468A /* libPods-Tests.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 508E0A5B168FC92800F237F4 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F4E822021D87FB2A00B614F9 /* libObjectiveLuhn.a in Frameworks */,
+ 508E0A63168FC92800F237F4 /* UIKit.framework in Frameworks */,
+ 508E0A65168FC92800F237F4 /* Foundation.framework in Frameworks */,
+ 508E0A67168FC92800F237F4 /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 4C396346984DCA77ACE533E6 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ C2961D9AA38E528E10E49751 /* Pods-Luhn Algorithm (Mod 10).debug.xcconfig */,
+ 47DE7F95E1DB4941DCCBB0A9 /* Pods-Luhn Algorithm (Mod 10).release.xcconfig */,
+ C8E417B2943AAB618ECE21EE /* Pods-Tests.debug.xcconfig */,
+ 2DE9D2E67F2BFCC2B9A8BAF9 /* Pods-Tests.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+ 5004D52718BAEA410055C9AF /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 5004D52D18BAEA410055C9AF /* Tests.m */,
+ 5004D52818BAEA410055C9AF /* Supporting Files */,
+ );
+ path = Tests;
+ sourceTree = "";
+ };
+ 5004D52818BAEA410055C9AF /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 5004D53518BAEC310055C9AF /* TestCreditCardNumbers.plist */,
+ 5004D52918BAEA410055C9AF /* Tests-Info.plist */,
+ 5004D52A18BAEA410055C9AF /* InfoPlist.strings */,
+ 5004D52F18BAEA410055C9AF /* Tests-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 508E0A53168FC92800F237F4 = {
+ isa = PBXGroup;
+ children = (
+ 501C53A518BADE9200FF07AA /* Images.xcassets */,
+ 508E0A68168FC92800F237F4 /* Example Project */,
+ 5004D52718BAEA410055C9AF /* Tests */,
+ 508E0A61168FC92800F237F4 /* Frameworks */,
+ 508E0A5F168FC92800F237F4 /* Products */,
+ 4C396346984DCA77ACE533E6 /* Pods */,
+ );
+ sourceTree = "";
+ };
+ 508E0A5F168FC92800F237F4 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 508E0A5E168FC92800F237F4 /* Luhn Algorithm (Mod 10).app */,
+ 5004D52318BAEA410055C9AF /* Tests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 508E0A61168FC92800F237F4 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ F4E822011D87FB2A00B614F9 /* libObjectiveLuhn.a */,
+ 508E0A62168FC92800F237F4 /* UIKit.framework */,
+ 508E0A64168FC92800F237F4 /* Foundation.framework */,
+ 508E0A66168FC92800F237F4 /* CoreGraphics.framework */,
+ 501C53AC18BADF2300FF07AA /* XCTest.framework */,
+ ED7D61ED784D495FA5F58B96 /* libPods-Tests.a */,
+ 5EC0BEC42D204F6EB01B4168 /* libPods-Luhn Algorithm (Mod 10).a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 508E0A68168FC92800F237F4 /* Example Project */ = {
+ isa = PBXGroup;
+ children = (
+ 508E0A71168FC92800F237F4 /* AppDelegate.h */,
+ 508E0A72168FC92800F237F4 /* AppDelegate.m */,
+ 508E0A7A168FC92800F237F4 /* ViewController.h */,
+ 508E0A7B168FC92800F237F4 /* ViewController.m */,
+ 508E0A7D168FC92800F237F4 /* ViewController.xib */,
+ 508E0A69168FC92800F237F4 /* Supporting Files */,
+ );
+ name = "Example Project";
+ path = "Luhn Algorithm (Mod 10)";
+ sourceTree = "";
+ };
+ 508E0A69168FC92800F237F4 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 508E0A6A168FC92800F237F4 /* Luhn Algorithm (Mod 10)-Info.plist */,
+ 508E0A6B168FC92800F237F4 /* InfoPlist.strings */,
+ 508E0A6E168FC92800F237F4 /* main.m */,
+ 508E0A70168FC92800F237F4 /* Luhn Algorithm (Mod 10)-Prefix.pch */,
+ 508E0A74168FC92800F237F4 /* Default.png */,
+ 508E0A76168FC92800F237F4 /* Default@2x.png */,
+ 508E0A78168FC92800F237F4 /* Default-568h@2x.png */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 5004D52218BAEA410055C9AF /* Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 5004D53218BAEA410055C9AF /* Build configuration list for PBXNativeTarget "Tests" */;
+ buildPhases = (
+ 4F1797445D2246AFB7AD4F7D /* [CP] Check Pods Manifest.lock */,
+ 5004D51F18BAEA410055C9AF /* Sources */,
+ 5004D52018BAEA410055C9AF /* Frameworks */,
+ 5004D52118BAEA410055C9AF /* Resources */,
+ C678A7822B9E4CC2978452BF /* [CP] Copy Pods Resources */,
+ 9C0EE49DD383BDF24D594F27 /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 5004D53118BAEA410055C9AF /* PBXTargetDependency */,
+ );
+ name = Tests;
+ productName = Tests;
+ productReference = 5004D52318BAEA410055C9AF /* Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 508E0A5D168FC92800F237F4 /* Luhn Algorithm (Mod 10) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 508E0A82168FC92800F237F4 /* Build configuration list for PBXNativeTarget "Luhn Algorithm (Mod 10)" */;
+ buildPhases = (
+ C49F25322CCD427AB4264BCE /* [CP] Check Pods Manifest.lock */,
+ 508E0A5A168FC92800F237F4 /* Sources */,
+ 508E0A5B168FC92800F237F4 /* Frameworks */,
+ 508E0A5C168FC92800F237F4 /* Resources */,
+ 6BA9916900864AB9ABF4225B /* [CP] Copy Pods Resources */,
+ C75613489CB8FEC6254501CB /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Luhn Algorithm (Mod 10)";
+ productName = "Luhn Algorithm (Mod 10)";
+ productReference = 508E0A5E168FC92800F237F4 /* Luhn Algorithm (Mod 10).app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 508E0A55168FC92800F237F4 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0500;
+ ORGANIZATIONNAME = "Max Kramer";
+ TargetAttributes = {
+ 5004D52218BAEA410055C9AF = {
+ TestTargetID = 508E0A5D168FC92800F237F4;
+ };
+ };
+ };
+ buildConfigurationList = 508E0A58168FC92800F237F4 /* Build configuration list for PBXProject "Luhn Algorithm (Mod 10)" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 508E0A53168FC92800F237F4;
+ productRefGroup = 508E0A5F168FC92800F237F4 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 508E0A5D168FC92800F237F4 /* Luhn Algorithm (Mod 10) */,
+ 5004D52218BAEA410055C9AF /* Tests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 5004D52118BAEA410055C9AF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5004D53618BAEC310055C9AF /* TestCreditCardNumbers.plist in Resources */,
+ 5004D52C18BAEA410055C9AF /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 508E0A5C168FC92800F237F4 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 508E0A6D168FC92800F237F4 /* InfoPlist.strings in Resources */,
+ 508E0A75168FC92800F237F4 /* Default.png in Resources */,
+ 508E0A77168FC92800F237F4 /* Default@2x.png in Resources */,
+ 501C53A618BADE9200FF07AA /* Images.xcassets in Resources */,
+ 508E0A79168FC92800F237F4 /* Default-568h@2x.png in Resources */,
+ 508E0A7F168FC92800F237F4 /* ViewController.xib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 4F1797445D2246AFB7AD4F7D /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ 6BA9916900864AB9ABF4225B /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10)-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 9C0EE49DD383BDF24D594F27 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C49F25322CCD427AB4264BCE /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ C678A7822B9E4CC2978452BF /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Tests/Pods-Tests-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C75613489CB8FEC6254501CB /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Luhn Algorithm (Mod 10)/Pods-Luhn Algorithm (Mod 10)-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 5004D51F18BAEA410055C9AF /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5004D52E18BAEA410055C9AF /* Tests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 508E0A5A168FC92800F237F4 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 508E0A6F168FC92800F237F4 /* main.m in Sources */,
+ 508E0A73168FC92800F237F4 /* AppDelegate.m in Sources */,
+ 508E0A7C168FC92800F237F4 /* ViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 5004D53118BAEA410055C9AF /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 508E0A5D168FC92800F237F4 /* Luhn Algorithm (Mod 10) */;
+ targetProxy = 5004D53018BAEA410055C9AF /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 5004D52A18BAEA410055C9AF /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 5004D52B18BAEA410055C9AF /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ 508E0A6B168FC92800F237F4 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 508E0A6C168FC92800F237F4 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ 508E0A7D168FC92800F237F4 /* ViewController.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 508E0A7E168FC92800F237F4 /* en */,
+ );
+ name = ViewController.xib;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 5004D53318BAEA410055C9AF /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C8E417B2943AAB618ECE21EE /* Pods-Tests.debug.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Luhn Algorithm (Mod 10).app/Luhn Algorithm (Mod 10)";
+ 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_ERROR;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = xctest;
+ };
+ name = Debug;
+ };
+ 5004D53418BAEA410055C9AF /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 2DE9D2E67F2BFCC2B9A8BAF9 /* Pods-Tests.release.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Luhn Algorithm (Mod 10).app/Luhn Algorithm (Mod 10)";
+ 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_ERROR;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ ENABLE_NS_ASSERTIONS = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = xctest;
+ };
+ name = Release;
+ };
+ 508E0A80168FC92800F237F4 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 508E0A81168FC92800F237F4 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 508E0A83168FC92800F237F4 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C2961D9AA38E528E10E49751 /* Pods-Luhn Algorithm (Mod 10).debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Prefix.pch";
+ INFOPLIST_FILE = "Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/build/Debug-iphoneos/ObjectiveLuhn",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 508E0A84168FC92800F237F4 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 47DE7F95E1DB4941DCCBB0A9 /* Pods-Luhn Algorithm (Mod 10).release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Prefix.pch";
+ INFOPLIST_FILE = "Luhn Algorithm (Mod 10)/Luhn Algorithm (Mod 10)-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/build/Debug-iphoneos/ObjectiveLuhn",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 5004D53218BAEA410055C9AF /* Build configuration list for PBXNativeTarget "Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 5004D53318BAEA410055C9AF /* Debug */,
+ 5004D53418BAEA410055C9AF /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 508E0A58168FC92800F237F4 /* Build configuration list for PBXProject "Luhn Algorithm (Mod 10)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 508E0A80168FC92800F237F4 /* Debug */,
+ 508E0A81168FC92800F237F4 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 508E0A82168FC92800F237F4 /* Build configuration list for PBXNativeTarget "Luhn Algorithm (Mod 10)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 508E0A83168FC92800F237F4 /* Debug */,
+ 508E0A84168FC92800F237F4 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 508E0A55168FC92800F237F4 /* Project object */;
+}
diff --git a/Example Project/Luhn Algorithm (Mod 10)/Images.xcassets/AppIcon.appiconset/Contents.json b/Example Project/Luhn Algorithm (Mod 10)/Images.xcassets/AppIcon.appiconset/Contents.json
index 2debf87..32299f3 100644
--- a/Example Project/Luhn Algorithm (Mod 10)/Images.xcassets/AppIcon.appiconset/Contents.json
+++ b/Example Project/Luhn Algorithm (Mod 10)/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -2,33 +2,48 @@
"images" : [
{
"idiom" : "iphone",
- "scale" : "1x",
- "size" : "57x57"
+ "size" : "29x29",
+ "scale" : "1x"
},
{
"idiom" : "iphone",
- "scale" : "2x",
- "size" : "57x57"
+ "size" : "29x29",
+ "scale" : "2x"
},
{
"idiom" : "iphone",
- "scale" : "2x",
- "size" : "60x60"
+ "size" : "29x29",
+ "scale" : "3x"
},
{
"idiom" : "iphone",
- "scale" : "1x",
- "size" : "29x29"
+ "size" : "40x40",
+ "scale" : "2x"
},
{
"idiom" : "iphone",
- "scale" : "2x",
- "size" : "29x29"
+ "size" : "40x40",
+ "scale" : "3x"
},
{
"idiom" : "iphone",
- "scale" : "2x",
- "size" : "40x40"
+ "size" : "57x57",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "57x57",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x"
}
],
"info" : {
diff --git a/Example Project/Podfile b/Example Project/Podfile
index 3f7467d..53a4dec 100644
--- a/Example Project/Podfile
+++ b/Example Project/Podfile
@@ -2,10 +2,10 @@ platform :ios, '5.0'
inhibit_all_warnings!
source 'https://github.com/CocoaPods/Specs.git'
-target 'Luhn Algorithm (Mod 10)', :exclusive => true do
+target 'Luhn Algorithm (Mod 10)' do #, :exclusive => true do
pod 'ObjectiveLuhn', :path => '../ObjectiveLuhn.podspec'
end
-target :Tests, :exclusive => true do
+target :Tests do #:exclusive => true do
pod 'Kiwi'
end
diff --git a/ObjectiveLuhn/Luhn.h b/ObjectiveLuhn/Luhn.h
index cf7394b..3e96459 100644
--- a/ObjectiveLuhn/Luhn.h
+++ b/ObjectiveLuhn/Luhn.h
@@ -15,6 +15,7 @@ typedef NS_ENUM(NSInteger, OLCreditCardType) {
OLCreditCardTypeDiscover,
OLCreditCardTypeDinersClub,
OLCreditCardTypeJCB,
+ OLCreditCardTypeMAESTRO,
OLCreditCardTypeUnsupported,
OLCreditCardTypeInvalid
};
diff --git a/ObjectiveLuhn/Luhn.m b/ObjectiveLuhn/Luhn.m
index be0087e..61b7dea 100644
--- a/ObjectiveLuhn/Luhn.m
+++ b/ObjectiveLuhn/Luhn.m
@@ -49,7 +49,7 @@ + (OLCreditCardType) typeFromString:(NSString *) string {
return OLCreditCardTypeInvalid;
}
- NSArray *enums = @[@(OLCreditCardTypeAmex), @(OLCreditCardTypeDinersClub), @(OLCreditCardTypeDiscover), @(OLCreditCardTypeJCB), @(OLCreditCardTypeMastercard), @(OLCreditCardTypeVisa)];
+ NSArray *enums = @[@(OLCreditCardTypeAmex), @(OLCreditCardTypeDinersClub), @(OLCreditCardTypeDiscover), @(OLCreditCardTypeJCB), @(OLCreditCardTypeMastercard), @(OLCreditCardTypeVisa), @(OLCreditCardTypeMAESTRO)];
__block OLCreditCardType type = OLCreditCardTypeInvalid;
[enums enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
@@ -85,6 +85,9 @@ + (NSPredicate *) predicateForType:(OLCreditCardType) type {
case OLCreditCardTypeMastercard:
regex = @"^5[1-5][0-9]{5,}$";
break;
+ case OLCreditCardTypeMAESTRO:
+ regex = @"^(5018|5020|5038|6304|6759|676[1-3]|6220)[0-9]{16, 19}$";
+ break;
case OLCreditCardTypeVisa:
regex = @"^4[0-9]{6,}$";
break;