Compare commits

...

10 Commits

Author SHA1 Message Date
Kelp
5a70698f50 updated the submodule xctool and the test script. 2014-05-08 11:01:47 +08:00
Kelp
59983c708a support Xcode5.1 2014-04-28 12:12:17 +08:00
Kelp
67a8f65982 updated Installation at readme 2014-01-27 11:33:03 +08:00
Kelp
f92efd7088 added the submodule xctool. 2014-01-27 11:12:56 +08:00
Kelp
cf48a7eb1b removed the submodule xctool. 2014-01-27 11:05:25 +08:00
Kelp
a7161a78d9 updated Base64 module. 2014-01-27 11:03:30 +08:00
Kelp
d49fa1cd57 updated submodule xctool 2013-12-30 10:53:11 +08:00
Kelp
2ff50207a5 fixed test script 2013-11-21 17:09:22 +08:00
Kelp
d847b22024 fixed .travis.yml. renamed CocoaSecurity Test as CocoaSecurityTest. 2013-11-21 16:41:04 +08:00
Kelp
2f3a29d6d0 added test scripts for TravisCI 2013-11-21 13:27:26 +08:00
16 changed files with 108 additions and 170 deletions

8
.gitmodules vendored
View File

@ -1,4 +1,8 @@
[submodule "xctool"]
path = xctool
[submodule "submodules/Base64"]
path = submodules/Base64
url = https://github.com/nicklockwood/Base64.git
ignore = dirty
[submodule "submodules/xctool"]
path = submodules/xctool
url = https://github.com/facebook/xctool.git
ignore = dirty

View File

@ -1,6 +1,6 @@
language: objective-c
script:
- xctool/xctool.sh -project CocoaSecurity.xcodeproj -scheme CocoaSecurity -sdk iphonesimulator build
# waiting for xcode 5
# - xctool/xctool.sh -project CocoaSecurity.xcodeproj -scheme CocoaSecurity test -test-sdk iphonesimulator6.1
- submodules/xctool/xctool.sh -project CocoaSecurity.xcodeproj -scheme CocoaSecurity -sdk iphonesimulator build
- submodules/xctool/xctool.sh -project CocoaSecurity.xcodeproj -scheme CocoaSecurity -sdk iphonesimulator test -test-sdk iphonesimulator7.0
- submodules/xctool/xctool.sh -project CocoaSecurity.xcodeproj -scheme CocoaSecurity -sdk iphonesimulator test -test-sdk iphonesimulator7.1

View File

@ -10,18 +10,20 @@
2113923B16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
2113924016EAD6AF00AFDF87 /* CocoaSecurity.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */; };
2113924216EAD6AF00AFDF87 /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; };
2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */; };
2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */; };
21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */; };
21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */; };
21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */; };
21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; };
21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */; };
215409ED183DD72F00E4C15B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */; };
215409EE183DD72F00E4C15B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; };
215409F5183DD72F00E4C15B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 215409F3183DD72F00E4C15B /* InfoPlist.strings */; };
21540A02183DD7F000E4C15B /* CocoaSecurity_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 215409FE183DD7F000E4C15B /* CocoaSecurity_Tests.m */; };
21540A03183DD7F000E4C15B /* CocoaSecurityDecoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 215409FF183DD7F000E4C15B /* CocoaSecurityDecoder_Tests.m */; };
21540A04183DD7F000E4C15B /* CocoaSecurityEncoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21540A00183DD7F000E4C15B /* CocoaSecurityEncoder_Tests.m */; };
21540A05183DD7F000E4C15B /* CocoaSecurityResult_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 21540A01183DD7F000E4C15B /* CocoaSecurityResult_Test.m */; };
21540A06183DD81A00E4C15B /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; };
21FB346C189601A6002F38DE /* Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 21FB346B189601A6002F38DE /* Base64.m */; };
21FB346D18960347002F38DE /* Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 21FB346B189601A6002F38DE /* Base64.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */ = {
215409F9183DD72F00E4C15B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 2113922F16EAD6AF00AFDF87 /* Project object */;
proxyType = 1;
@ -50,15 +52,17 @@
2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity.m; sourceTree = "<group>"; };
2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
2113924B16EAD6AF00AFDF87 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityDecoder_Tests.m; sourceTree = "<group>"; };
2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityResult_Test.m; sourceTree = "<group>"; };
21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CocoaSecurity Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
215409EC183DD72F00E4C15B /* CocoaSecurityTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaSecurityTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
215409F2183DD72F00E4C15B /* CocoaSecurityTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurityTests-Info.plist"; sourceTree = "<group>"; };
215409F4183DD72F00E4C15B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
215409F8183DD72F00E4C15B /* CocoaSecurityTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CocoaSecurityTests-Prefix.pch"; sourceTree = "<group>"; };
215409FE183DD7F000E4C15B /* CocoaSecurity_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity_Tests.m; sourceTree = "<group>"; };
215409FF183DD7F000E4C15B /* CocoaSecurityDecoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityDecoder_Tests.m; sourceTree = "<group>"; };
21540A00183DD7F000E4C15B /* CocoaSecurityEncoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityEncoder_Tests.m; sourceTree = "<group>"; };
21540A01183DD7F000E4C15B /* CocoaSecurityResult_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityResult_Test.m; sourceTree = "<group>"; };
21BB8A2E17FEA0EC0032C38C /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurity Tests-Info.plist"; sourceTree = "<group>"; };
21BB8A3617FEA0EC0032C38C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity_Tests.m; sourceTree = "<group>"; };
21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CocoaSecurity Tests-Prefix.pch"; sourceTree = "<group>"; };
21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityEncoder_Tests.m; sourceTree = "<group>"; };
21FB346A189601A6002F38DE /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Base64.h; path = submodules/Base64/Base64/Base64.h; sourceTree = SOURCE_ROOT; };
21FB346B189601A6002F38DE /* Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Base64.m; path = submodules/Base64/Base64/Base64.m; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -70,12 +74,12 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
21BB8A2A17FEA0EC0032C38C /* Frameworks */ = {
215409E9183DD72F00E4C15B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */,
21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */,
215409ED183DD72F00E4C15B /* XCTest.framework in Frameworks */,
215409EE183DD72F00E4C15B /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -86,7 +90,7 @@
isa = PBXGroup;
children = (
2113923C16EAD6AF00AFDF87 /* CocoaSecurity */,
21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */,
215409F0183DD72F00E4C15B /* CocoaSecurityTests */,
2113923916EAD6AF00AFDF87 /* Frameworks */,
2113923816EAD6AF00AFDF87 /* Products */,
);
@ -96,7 +100,7 @@
isa = PBXGroup;
children = (
2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */,
21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */,
215409EC183DD72F00E4C15B /* CocoaSecurityTests.xctest */,
);
name = Products;
sourceTree = "<group>";
@ -115,34 +119,44 @@
2113923C16EAD6AF00AFDF87 /* CocoaSecurity */ = {
isa = PBXGroup;
children = (
21FB34691896019A002F38DE /* Submodules */,
2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */,
2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */,
);
path = CocoaSecurity;
sourceTree = "<group>";
};
21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */ = {
215409F0183DD72F00E4C15B /* CocoaSecurityTests */ = {
isa = PBXGroup;
children = (
21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */,
21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */,
2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */,
2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */,
21BB8A3317FEA0EC0032C38C /* Supporting Files */,
215409FE183DD7F000E4C15B /* CocoaSecurity_Tests.m */,
215409FF183DD7F000E4C15B /* CocoaSecurityDecoder_Tests.m */,
21540A00183DD7F000E4C15B /* CocoaSecurityEncoder_Tests.m */,
21540A01183DD7F000E4C15B /* CocoaSecurityResult_Test.m */,
215409F1183DD72F00E4C15B /* Supporting Files */,
);
path = "CocoaSecurity Tests";
path = CocoaSecurityTests;
sourceTree = "<group>";
};
21BB8A3317FEA0EC0032C38C /* Supporting Files */ = {
215409F1183DD72F00E4C15B /* Supporting Files */ = {
isa = PBXGroup;
children = (
21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */,
21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */,
21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */,
215409F2183DD72F00E4C15B /* CocoaSecurityTests-Info.plist */,
215409F3183DD72F00E4C15B /* InfoPlist.strings */,
215409F8183DD72F00E4C15B /* CocoaSecurityTests-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
21FB34691896019A002F38DE /* Submodules */ = {
isa = PBXGroup;
children = (
21FB346A189601A6002F38DE /* Base64.h */,
21FB346B189601A6002F38DE /* Base64.m */,
);
name = Submodules;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -163,22 +177,22 @@
productReference = 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */;
productType = "com.apple.product-type.library.static";
};
21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */ = {
215409EB183DD72F00E4C15B /* CocoaSecurityTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */;
buildConfigurationList = 215409FD183DD72F00E4C15B /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */;
buildPhases = (
21BB8A2917FEA0EC0032C38C /* Sources */,
21BB8A2A17FEA0EC0032C38C /* Frameworks */,
21BB8A2B17FEA0EC0032C38C /* Resources */,
215409E8183DD72F00E4C15B /* Sources */,
215409E9183DD72F00E4C15B /* Frameworks */,
215409EA183DD72F00E4C15B /* Resources */,
);
buildRules = (
);
dependencies = (
21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */,
215409FA183DD72F00E4C15B /* PBXTargetDependency */,
);
name = "CocoaSecurity Tests";
productName = "CocoaSecurity Tests";
productReference = 21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */;
name = CocoaSecurityTests;
productName = CocoaSecurityTests;
productReference = 215409EC183DD72F00E4C15B /* CocoaSecurityTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
@ -187,9 +201,9 @@
2113922F16EAD6AF00AFDF87 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0500;
LastUpgradeCheck = 0510;
TargetAttributes = {
21BB8A2C17FEA0EC0032C38C = {
215409EB183DD72F00E4C15B = {
TestTargetID = 2113923616EAD6AF00AFDF87;
};
};
@ -207,17 +221,17 @@
projectRoot = "";
targets = (
2113923616EAD6AF00AFDF87 /* CocoaSecurity */,
21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */,
215409EB183DD72F00E4C15B /* CocoaSecurityTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
21BB8A2B17FEA0EC0032C38C /* Resources */ = {
215409EA183DD72F00E4C15B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */,
215409F5183DD72F00E4C15B /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -228,37 +242,39 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21FB346C189601A6002F38DE /* Base64.m in Sources */,
2113924216EAD6AF00AFDF87 /* CocoaSecurity.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
21BB8A2917FEA0EC0032C38C /* Sources */ = {
215409E8183DD72F00E4C15B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */,
21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */,
21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */,
21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */,
2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */,
21FB346D18960347002F38DE /* Base64.m in Sources */,
21540A06183DD81A00E4C15B /* CocoaSecurity.m in Sources */,
21540A05183DD7F000E4C15B /* CocoaSecurityResult_Test.m in Sources */,
21540A03183DD7F000E4C15B /* CocoaSecurityDecoder_Tests.m in Sources */,
21540A02183DD7F000E4C15B /* CocoaSecurity_Tests.m in Sources */,
21540A04183DD7F000E4C15B /* CocoaSecurityEncoder_Tests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */ = {
215409FA183DD72F00E4C15B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2113923616EAD6AF00AFDF87 /* CocoaSecurity */;
targetProxy = 21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */;
targetProxy = 215409F9183DD72F00E4C15B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */ = {
215409F3183DD72F00E4C15B /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
21BB8A3617FEA0EC0032C38C /* en */,
215409F4183DD72F00E4C15B /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
@ -290,8 +306,8 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
ONLY_ACTIVE_ARCH = NO;
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
@ -313,7 +329,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@ -326,6 +342,7 @@
DSTROOT = /tmp/CocoaSecurity.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
@ -339,6 +356,7 @@
DSTROOT = /tmp/CocoaSecurity.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
@ -346,7 +364,7 @@
};
name = Release;
};
21BB8A3E17FEA0EC0032C38C /* Debug */ = {
215409FB183DD72F00E4C15B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
@ -359,7 +377,7 @@
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch";
GCC_PREFIX_HEADER = "CocoaSecurityTests/CocoaSecurityTests-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
@ -368,14 +386,15 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist";
INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Debug;
};
21BB8A3F17FEA0EC0032C38C /* Release */ = {
215409FC183DD72F00E4C15B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
@ -389,12 +408,12 @@
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch";
GCC_PREFIX_HEADER = "CocoaSecurityTests/CocoaSecurityTests-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 = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist";
INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
@ -422,11 +441,11 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */ = {
215409FD183DD72F00E4C15B /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
21BB8A3E17FEA0EC0032C38C /* Debug */,
21BB8A3F17FEA0EC0032C38C /* Release */,
215409FB183DD72F00E4C15B /* Debug */,
215409FC183DD72F00E4C15B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
LastUpgradeVersion = "0510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -32,9 +32,9 @@
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "21BB8A2C17FEA0EC0032C38C"
BuildableName = "CocoaSecurity Tests.xctest"
BlueprintName = "CocoaSecurity Tests"
BlueprintIdentifier = "215409EB183DD72F00E4C15B"
BuildableName = "CocoaSecurityTests.xctest"
BlueprintName = "CocoaSecurityTests"
ReferencedContainer = "container:CocoaSecurity.xcodeproj">
</BuildableReference>
</TestableReference>

View File

@ -9,6 +9,7 @@
#import "CocoaSecurity.h"
#import <CommonCrypto/CommonHMAC.h>
#import <CommonCrypto/CommonCryptor.h>
#import "Base64.h"
#pragma mark - CocoaSecurity
@implementation CocoaSecurity
@ -419,51 +420,7 @@
// convert NSData to Base64
- (NSString *)base64:(NSData *)data
{
static const char lookup[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
long long inputLength = [data length];
const unsigned char *inputBytes = [data bytes];
long long maxOutputLength = (inputLength / 3 + 1) * 4;
unsigned char *outputBytes = (unsigned char *)malloc((unsigned long)maxOutputLength);
long long index;
long long outputLength = 0;
for (index = 0; index < inputLength - 2; index += 3)
{
outputBytes[outputLength++] = lookup[(inputBytes[index] & 0xFC) >> 2];
outputBytes[outputLength++] = lookup[((inputBytes[index] & 0x03) << 4) | ((inputBytes[index + 1] & 0xF0) >> 4)];
outputBytes[outputLength++] = lookup[((inputBytes[index + 1] & 0x0F) << 2) | ((inputBytes[index + 2] & 0xC0) >> 6)];
outputBytes[outputLength++] = lookup[inputBytes[index + 2] & 0x3F];
}
//handle left-over data
if (index == inputLength - 2)
{
// = terminator
outputBytes[outputLength++] = lookup[(inputBytes[index] & 0xFC) >> 2];
outputBytes[outputLength++] = lookup[((inputBytes[index] & 0x03) << 4) | ((inputBytes[index + 1] & 0xF0) >> 4)];
outputBytes[outputLength++] = lookup[(inputBytes[index + 1] & 0x0F) << 2];
outputBytes[outputLength++] = '=';
}
else if (index == inputLength - 1)
{
// == terminator
outputBytes[outputLength++] = lookup[(inputBytes[index] & 0xFC) >> 2];
outputBytes[outputLength++] = lookup[(inputBytes[index] & 0x03) << 4];
outputBytes[outputLength++] = '=';
outputBytes[outputLength++] = '=';
}
NSString *result;
if (outputLength >= 4)
{
//truncate data to match actual output length
outputBytes = realloc(outputBytes, (unsigned long)outputLength);
result = [[NSString alloc] initWithBytes:outputBytes length:(unsigned long)outputLength encoding:NSASCIIStringEncoding];
}
free(outputBytes);
return result;
return [data base64EncodedString];
}
// convert NSData to hex string
@ -510,52 +467,7 @@
@implementation CocoaSecurityDecoder
- (NSData *)base64:(NSString *)string
{
static const char lookup[] =
{
99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 62, 99, 99, 99, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 99, 99, 99, 99, 99, 99,
99, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 99, 99, 99, 99, 99,
99, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 99, 99, 99, 99, 99
};
NSData *inputData = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSUInteger inputLength = [inputData length];
const unsigned char *inputBytes = [inputData bytes];
NSMutableData *outputData = [NSMutableData dataWithLength:(inputLength / 4 + 1) * 3];
unsigned char *outputBytes = (unsigned char *)[outputData mutableBytes];
int accumulator = 0;
long long outputLength = 0;
unsigned char accumulated[] = {0, 0, 0, 0};
for (NSUInteger index = 0; index < inputLength; index++)
{
unsigned char decoded = lookup[inputBytes[index] & 0x7F];
if (decoded != 99)
{
accumulated[accumulator] = decoded;
if (accumulator == 3)
{
outputBytes[outputLength++] = (accumulated[0] << 2) | (accumulated[1] >> 4);
outputBytes[outputLength++] = (accumulated[1] << 4) | (accumulated[2] >> 2);
outputBytes[outputLength++] = (accumulated[2] << 6) | accumulated[3];
}
accumulator = (accumulator + 1) % 4;
}
}
//handle left-over data
if (accumulator > 0) outputBytes[outputLength] = (accumulated[0] << 2) | (accumulated[1] >> 4);
if (accumulator > 1) outputBytes[++outputLength] = (accumulated[1] << 4) | (accumulated[2] >> 2);
if (accumulator > 2) outputLength++;
//truncate data to match actual output length
outputData.length = outputLength;
return outputLength? outputData: nil;
return [NSData dataWithBase64EncodedString:string];
}
- (NSData *)hex:(NSString *)data
{

View File

@ -96,6 +96,8 @@ NSData *data2 = [decoder base64:@"zT1PS64MnXIUDCUiy13RRg=="];
1. **git:**
```
$ git clone git://github.com/kelp404/CocoaSecurity.git
$ cd CocoaSecurity
$ git submodule update --init
```
2. **<a href="http://cocoapods.org/?q=CocoaSecurity" target="_blank">CocoadPods</a>:**

1
submodules/Base64 Submodule

@ -0,0 +1 @@
Subproject commit bff0cc9be811b62bd09cca96cf9177b653c1a9f9

1
submodules/xctool Submodule

@ -0,0 +1 @@
Subproject commit abe45bd3e89bf3e93aa1a574287630cf9d6baa48

1
xctool

@ -1 +0,0 @@
Subproject commit 9680172729a9c63f7efb4d2759a95b43f632b28f