Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added unit tests

  • Loading branch information...
commit e4cb51ef5092bed023f1627339ad820e75716c99 1 parent 3fce1b3
@granoff authored
View
211 LockBox/LockBox.xcodeproj/project.pbxproj
@@ -17,8 +17,26 @@
2D0B9E7A1540556E00E5BE71 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2D0B9E781540556E00E5BE71 /* ViewController.xib */; };
2D0B9E821540558B00E5BE71 /* Lockbox.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D0B9E811540558B00E5BE71 /* Lockbox.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
2D0B9E841540565000E5BE71 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D0B9E831540565000E5BE71 /* Security.framework */; };
+ 4D6801EA16B478CB000CED0E /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D6801E916B478CB000CED0E /* SenTestingKit.framework */; };
+ 4D6801EB16B478CB000CED0E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D0B9E631540556E00E5BE71 /* UIKit.framework */; };
+ 4D6801EC16B478CB000CED0E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D0B9E651540556E00E5BE71 /* Foundation.framework */; };
+ 4D6801F216B478CB000CED0E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4D6801F016B478CB000CED0E /* InfoPlist.strings */; };
+ 4D6801FD16B478F7000CED0E /* LockboxTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D6801FC16B478F7000CED0E /* LockboxTests.m */; };
+ 4D68021016B489AB000CED0E /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 4D68020D16B489AB000CED0E /* LICENSE */; };
+ 4D68021116B489AB000CED0E /* Lockbox.podspec in Resources */ = {isa = PBXBuildFile; fileRef = 4D68020E16B489AB000CED0E /* Lockbox.podspec */; };
+ 4D68021216B489AB000CED0E /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 4D68020F16B489AB000CED0E /* README.md */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ 4D68020116B47B88000CED0E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 2D0B9E561540556D00E5BE71 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2D0B9E5E1540556E00E5BE71;
+ remoteInfo = LockBox;
+ };
+/* End PBXContainerItemProxy section */
+
/* Begin PBXFileReference section */
2D0B9E5F1540556E00E5BE71 /* LockBox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LockBox.app; sourceTree = BUILT_PRODUCTS_DIR; };
2D0B9E631540556E00E5BE71 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
@@ -36,6 +54,16 @@
2D0B9E801540558B00E5BE71 /* Lockbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Lockbox.h; path = ../../Lockbox.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
2D0B9E811540558B00E5BE71 /* Lockbox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; name = Lockbox.m; path = ../../Lockbox.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
2D0B9E831540565000E5BE71 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+ 4D6801E816B478CB000CED0E /* UnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 4D6801E916B478CB000CED0E /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
+ 4D6801EF16B478CB000CED0E /* UnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UnitTests-Info.plist"; sourceTree = "<group>"; };
+ 4D6801F116B478CB000CED0E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 4D6801F616B478CB000CED0E /* UnitTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UnitTests-Prefix.pch"; sourceTree = "<group>"; };
+ 4D6801FB16B478F7000CED0E /* LockboxTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LockboxTests.h; sourceTree = "<group>"; };
+ 4D6801FC16B478F7000CED0E /* LockboxTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LockboxTests.m; sourceTree = "<group>"; };
+ 4D68020D16B489AB000CED0E /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
+ 4D68020E16B489AB000CED0E /* Lockbox.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Lockbox.podspec; path = ../Lockbox.podspec; sourceTree = "<group>"; };
+ 4D68020F16B489AB000CED0E /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.md; path = ../README.md; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -50,6 +78,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 4D6801E416B478CB000CED0E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D6801EA16B478CB000CED0E /* SenTestingKit.framework in Frameworks */,
+ 4D6801EB16B478CB000CED0E /* UIKit.framework in Frameworks */,
+ 4D6801EC16B478CB000CED0E /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -57,8 +95,10 @@
isa = PBXGroup;
children = (
2D0B9E691540556E00E5BE71 /* LockBox */,
+ 4D6801ED16B478CB000CED0E /* UnitTests */,
2D0B9E621540556E00E5BE71 /* Frameworks */,
2D0B9E601540556E00E5BE71 /* Products */,
+ 4D68020C16B4896F000CED0E /* Misc Files */,
);
sourceTree = "<group>";
};
@@ -66,6 +106,7 @@
isa = PBXGroup;
children = (
2D0B9E5F1540556E00E5BE71 /* LockBox.app */,
+ 4D6801E816B478CB000CED0E /* UnitTests.octest */,
);
name = Products;
sourceTree = "<group>";
@@ -77,6 +118,7 @@
2D0B9E631540556E00E5BE71 /* UIKit.framework */,
2D0B9E651540556E00E5BE71 /* Foundation.framework */,
2D0B9E671540556E00E5BE71 /* CoreGraphics.framework */,
+ 4D6801E916B478CB000CED0E /* SenTestingKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -107,6 +149,36 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ 4D6801ED16B478CB000CED0E /* UnitTests */ = {
+ isa = PBXGroup;
+ children = (
+ 4D6801EE16B478CB000CED0E /* Supporting Files */,
+ 4D6801FB16B478F7000CED0E /* LockboxTests.h */,
+ 4D6801FC16B478F7000CED0E /* LockboxTests.m */,
+ );
+ path = UnitTests;
+ sourceTree = "<group>";
+ };
+ 4D6801EE16B478CB000CED0E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 4D6801EF16B478CB000CED0E /* UnitTests-Info.plist */,
+ 4D6801F016B478CB000CED0E /* InfoPlist.strings */,
+ 4D6801F616B478CB000CED0E /* UnitTests-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 4D68020C16B4896F000CED0E /* Misc Files */ = {
+ isa = PBXGroup;
+ children = (
+ 4D68020D16B489AB000CED0E /* LICENSE */,
+ 4D68020E16B489AB000CED0E /* Lockbox.podspec */,
+ 4D68020F16B489AB000CED0E /* README.md */,
+ );
+ name = "Misc Files";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -127,6 +199,25 @@
productReference = 2D0B9E5F1540556E00E5BE71 /* LockBox.app */;
productType = "com.apple.product-type.application";
};
+ 4D6801E716B478CB000CED0E /* UnitTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 4D6801F916B478CB000CED0E /* Build configuration list for PBXNativeTarget "UnitTests" */;
+ buildPhases = (
+ 4D6801E316B478CB000CED0E /* Sources */,
+ 4D6801E416B478CB000CED0E /* Frameworks */,
+ 4D6801E516B478CB000CED0E /* Resources */,
+ 4D6801E616B478CB000CED0E /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 4D68020216B47B88000CED0E /* PBXTargetDependency */,
+ );
+ name = UnitTests;
+ productName = UnitTests;
+ productReference = 4D6801E816B478CB000CED0E /* UnitTests.octest */;
+ productType = "com.apple.product-type.bundle";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -149,6 +240,7 @@
projectRoot = "";
targets = (
2D0B9E5E1540556E00E5BE71 /* LockBox */,
+ 4D6801E716B478CB000CED0E /* UnitTests */,
);
};
/* End PBXProject section */
@@ -160,11 +252,38 @@
files = (
2D0B9E6E1540556E00E5BE71 /* InfoPlist.strings in Resources */,
2D0B9E7A1540556E00E5BE71 /* ViewController.xib in Resources */,
+ 4D68021016B489AB000CED0E /* LICENSE in Resources */,
+ 4D68021116B489AB000CED0E /* Lockbox.podspec in Resources */,
+ 4D68021216B489AB000CED0E /* README.md in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4D6801E516B478CB000CED0E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D6801F216B478CB000CED0E /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ 4D6801E616B478CB000CED0E /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
2D0B9E5B1540556E00E5BE71 /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ -177,8 +296,24 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 4D6801E316B478CB000CED0E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D6801FD16B478F7000CED0E /* LockboxTests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ 4D68020216B47B88000CED0E /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 2D0B9E5E1540556E00E5BE71 /* LockBox */;
+ targetProxy = 4D68020116B47B88000CED0E /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin PBXVariantGroup section */
2D0B9E6C1540556E00E5BE71 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
@@ -196,6 +331,14 @@
name = ViewController.xib;
sourceTree = "<group>";
};
+ 4D6801F016B478CB000CED0E /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 4D6801F116B478CB000CED0E /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -248,6 +391,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
+ GCC_GENERATE_TEST_COVERAGE_FILES = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LockBox/LockBox-Prefix.pch";
INFOPLIST_FILE = "LockBox/LockBox-Info.plist";
@@ -260,6 +405,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
+ GCC_GENERATE_TEST_COVERAGE_FILES = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LockBox/LockBox-Prefix.pch";
INFOPLIST_FILE = "LockBox/LockBox-Info.plist";
@@ -268,6 +415,61 @@
};
name = Release;
};
+ 4D6801F716B478CB000CED0E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LockBox.app/LockBox";
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "\"$(SDKROOT)/Developer/Library/Frameworks\"",
+ "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
+ );
+ GCC_GENERATE_TEST_COVERAGE_FILES = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "UnitTests/UnitTests-Prefix.pch";
+ INFOPLIST_FILE = "UnitTests/UnitTests-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ LIBRARY_SEARCH_PATHS = "$(PLATFORM_DEVELOPER_USR_DIR)/**";
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = "-lgcov";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = octest;
+ };
+ name = Debug;
+ };
+ 4D6801F816B478CB000CED0E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LockBox.app/LockBox";
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "\"$(SDKROOT)/Developer/Library/Frameworks\"",
+ "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
+ );
+ GCC_GENERATE_TEST_COVERAGE_FILES = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "UnitTests/UnitTests-Prefix.pch";
+ INFOPLIST_FILE = "UnitTests/UnitTests-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ LIBRARY_SEARCH_PATHS = "$(PLATFORM_DEVELOPER_USR_DIR)/**";
+ OTHER_LDFLAGS = "-lgcov";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = octest;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -289,6 +491,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 4D6801F916B478CB000CED0E /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 4D6801F716B478CB000CED0E /* Debug */,
+ 4D6801F816B478CB000CED0E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 2D0B9E561540556D00E5BE71 /* Project object */;
View
13 LockBox/UnitTests/LockboxTests.h
@@ -0,0 +1,13 @@
+//
+// LockboxTests.h
+// LockBox
+//
+// Created by Mark Granoff on 1/26/13.
+// Copyright (c) 2013 Hawk iMedia. All rights reserved.
+//
+
+#import <SenTestingKit/SenTestingKit.h>
+
+@interface LockboxTests : SenTestCase
+
+@end
View
76 LockBox/UnitTests/LockboxTests.m
@@ -0,0 +1,76 @@
+//
+// LockboxTests.m
+// LockBox
+//
+// Created by Mark Granoff on 1/26/13.
+// Copyright (c) 2013 Hawk iMedia. All rights reserved.
+//
+
+#import "LockboxTests.h"
+#import "Lockbox.h"
+
+@implementation LockboxTests
+{
+ NSString *testString;
+ NSArray *testArray;
+ NSSet *testSet;
+}
+
+-(void)setUp
+{
+ testString = @"TestString";
+ testArray = @[ @"A", @"B", @"C" ];
+ testSet = [NSSet setWithArray:testArray];
+}
+
+-(void)tearDown
+{
+
+}
+
+-(void)testSetStringForKey
+{
+ NSString *key = @"TestStringKey";
+ STAssertTrue([Lockbox setString:testString forKey:key], @"Should be able to store a string");
+ STAssertEqualObjects([Lockbox stringForKey:key], testString, @"Retrieved string should match original");
+
+ [NSThread sleepForTimeInterval:1.0];
+}
+
+-(void)testDeleteStringForKey
+{
+ NSString *key = @"TestStringKey";
+ STAssertTrue([Lockbox setString:testString forKey:key], @"Should be able to store a string");
+ STAssertEqualObjects([Lockbox stringForKey:key], testString, @"Retrieved string should match original");
+ STAssertTrue([Lockbox setString:nil forKey:key], @"Should be able to set string for key to nil");
+ STAssertNil([Lockbox stringForKey:key], @"Deleted key should return nil");
+}
+
+-(void)testSetArrayForKey
+{
+ NSString *key = @"TestArrayKey";
+ STAssertTrue([Lockbox setArray:testArray forKey:key], @"Should be able to store an array");
+ NSArray *array = [Lockbox arrayForKey:key];
+ STAssertEqualObjects(array, testArray, @"Retrieved array should match original");
+
+ [NSThread sleepForTimeInterval:1.0];
+}
+
+-(void)testSetSetForKey
+{
+ NSString *key = @"TestSetKey";
+ STAssertTrue([Lockbox setSet:testSet forKey:key], @"Should be able to store a set");
+ NSSet *set = [Lockbox setForKey:key];
+ STAssertEqualObjects(set, testSet, @"Retrieved set should match original");
+
+ [NSThread sleepForTimeInterval:1.0];
+}
+
+-(void)testSetSameKeyWithTwoValues
+{
+ STAssertTrue([Lockbox setString:@"1" forKey:@"test"], @"Set '1' for key 'test'");
+ STAssertTrue([[Lockbox stringForKey:@"test"] isEqualToString:@"1"], @"Retrieve '1' for key 'test'");
+ STAssertTrue([Lockbox setString:@"2" forKey:@"test"], @"Set '2' for key 'test'");
+ STAssertTrue([[Lockbox stringForKey:@"test"] isEqualToString:@"2"], @"Retrieve '2' for key 'test'");
+}
+@end
View
22 LockBox/UnitTests/UnitTests-Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.hawkimedia.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
View
8 LockBox/UnitTests/UnitTests-Prefix.pch
@@ -0,0 +1,8 @@
+//
+// Prefix header for all source files of the 'UnitTests' target in the 'UnitTests' project
+//
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
2  LockBox/UnitTests/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
4 Lockbox.podspec
@@ -1,12 +1,12 @@
Pod::Spec.new do |s|
s.name = 'Lockbox'
- s.version = '1.3.0'
+ s.version = '1.4.0'
s.license = 'MIT'
s.summary = 'Lockbox is an Objective-C utility class for storing data securely in the keychain. Use it to store small, sensitive bits of data securely.'
s.homepage = 'https://github.com/granoff/Lockbox'
s.author = 'Mark H. Granoff'
- s.source = { :git => 'https://github.com/granoff/Lockbox.git', :tag => '1.3.0' }
+ s.source = { :git => 'https://github.com/granoff/Lockbox.git', :tag => '1.4.0' }
s.source_files = 'Lockbox.{h,m}'
s.clean_path = 'LockBox'
Please sign in to comment.
Something went wrong with that request. Please try again.