- Add MonthSymbol
This commit is contained in:
parent
8c1d167efa
commit
b0743ab730
@ -200,12 +200,12 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "NSDate_Utils_Example" */;
|
buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "NSDate_Utils_Example" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
AEE5EB689B72D23DB471ADC0 /* 📦 Check Pods Manifest.lock */,
|
AEE5EB689B72D23DB471ADC0 /* [CP] Check Pods Manifest.lock */,
|
||||||
6003F586195388D20070C39A /* Sources */,
|
6003F586195388D20070C39A /* Sources */,
|
||||||
6003F587195388D20070C39A /* Frameworks */,
|
6003F587195388D20070C39A /* Frameworks */,
|
||||||
6003F588195388D20070C39A /* Resources */,
|
6003F588195388D20070C39A /* Resources */,
|
||||||
4D6765F97A51713D8AA5591F /* 📦 Embed Pods Frameworks */,
|
4D6765F97A51713D8AA5591F /* [CP] Embed Pods Frameworks */,
|
||||||
83D57E6020570D3087EF66CE /* 📦 Copy Pods Resources */,
|
83D57E6020570D3087EF66CE /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -220,12 +220,12 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "NSDate_Utils_Tests" */;
|
buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "NSDate_Utils_Tests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
55E5E416E38B3DFEA3ED809E /* 📦 Check Pods Manifest.lock */,
|
55E5E416E38B3DFEA3ED809E /* [CP] Check Pods Manifest.lock */,
|
||||||
6003F5AA195388D20070C39A /* Sources */,
|
6003F5AA195388D20070C39A /* Sources */,
|
||||||
6003F5AB195388D20070C39A /* Frameworks */,
|
6003F5AB195388D20070C39A /* Frameworks */,
|
||||||
6003F5AC195388D20070C39A /* Resources */,
|
6003F5AC195388D20070C39A /* Resources */,
|
||||||
B7E95ACD5604BD439932ECC8 /* 📦 Embed Pods Frameworks */,
|
B7E95ACD5604BD439932ECC8 /* [CP] Embed Pods Frameworks */,
|
||||||
A69A20310B49C715F7F664CC /* 📦 Copy Pods Resources */,
|
A69A20310B49C715F7F664CC /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -244,9 +244,12 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
CLASSPREFIX = NSDateUtils;
|
CLASSPREFIX = NSDateUtils;
|
||||||
LastUpgradeCheck = 0510;
|
LastUpgradeCheck = 0820;
|
||||||
ORGANIZATIONNAME = "Giuseppe Nucifora";
|
ORGANIZATIONNAME = "Giuseppe Nucifora";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
|
6003F589195388D20070C39A = {
|
||||||
|
DevelopmentTeam = 825G85A28E;
|
||||||
|
};
|
||||||
6003F5AD195388D20070C39A = {
|
6003F5AD195388D20070C39A = {
|
||||||
TestTargetID = 6003F589195388D20070C39A;
|
TestTargetID = 6003F589195388D20070C39A;
|
||||||
};
|
};
|
||||||
@ -293,14 +296,14 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
4D6765F97A51713D8AA5591F /* 📦 Embed Pods Frameworks */ = {
|
4D6765F97A51713D8AA5591F /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -308,29 +311,29 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Example/Pods-NSDate_Utils_Example-frameworks.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Example/Pods-NSDate_Utils_Example-frameworks.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
55E5E416E38B3DFEA3ED809E /* 📦 Check Pods Manifest.lock */ = {
|
55E5E416E38B3DFEA3ED809E /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Check Pods Manifest.lock";
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
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";
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
83D57E6020570D3087EF66CE /* 📦 Copy Pods Resources */ = {
|
83D57E6020570D3087EF66CE /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Copy Pods Resources";
|
name = "[CP] Copy Pods Resources";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -338,14 +341,14 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Example/Pods-NSDate_Utils_Example-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Example/Pods-NSDate_Utils_Example-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
A69A20310B49C715F7F664CC /* 📦 Copy Pods Resources */ = {
|
A69A20310B49C715F7F664CC /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Copy Pods Resources";
|
name = "[CP] Copy Pods Resources";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -353,29 +356,29 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Tests/Pods-NSDate_Utils_Tests-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-NSDate_Utils_Tests/Pods-NSDate_Utils_Tests-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
AEE5EB689B72D23DB471ADC0 /* 📦 Check Pods Manifest.lock */ = {
|
AEE5EB689B72D23DB471ADC0 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Check Pods Manifest.lock";
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
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";
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
B7E95ACD5604BD439932ECC8 /* 📦 Embed Pods Frameworks */ = {
|
B7E95ACD5604BD439932ECC8 /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -447,13 +450,19 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
"DEBUG=1",
|
"DEBUG=1",
|
||||||
@ -466,7 +475,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
@ -486,20 +495,25 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
COPY_PHASE_STRIP = YES;
|
COPY_PHASE_STRIP = YES;
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
VALIDATE_PRODUCT = YES;
|
VALIDATE_PRODUCT = YES;
|
||||||
@ -512,10 +526,12 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
|
DEVELOPMENT_TEAM = 825G85A28E;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "NSDate_Utils/NSDate_Utils-Prefix.pch";
|
GCC_PREFIX_HEADER = "NSDate_Utils/NSDate_Utils-Prefix.pch";
|
||||||
INFOPLIST_FILE = "NSDate_Utils/NSDate_Utils-Info.plist";
|
INFOPLIST_FILE = "NSDate_Utils/NSDate_Utils-Info.plist";
|
||||||
MODULE_NAME = ExampleApp;
|
MODULE_NAME = ExampleApp;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
@ -527,10 +543,12 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
|
DEVELOPMENT_TEAM = 825G85A28E;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "NSDate_Utils/NSDate_Utils-Prefix.pch";
|
GCC_PREFIX_HEADER = "NSDate_Utils/NSDate_Utils-Prefix.pch";
|
||||||
INFOPLIST_FILE = "NSDate_Utils/NSDate_Utils-Info.plist";
|
INFOPLIST_FILE = "NSDate_Utils/NSDate_Utils-Info.plist";
|
||||||
MODULE_NAME = ExampleApp;
|
MODULE_NAME = ExampleApp;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
@ -540,6 +558,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = B0714186DE647FC47C857F43 /* Pods-NSDate_Utils_Tests.debug.xcconfig */;
|
baseConfigurationReference = B0714186DE647FC47C857F43 /* Pods-NSDate_Utils_Tests.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
ENABLE_BITCODE = YES;
|
ENABLE_BITCODE = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
@ -554,6 +573,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = "Tests/Tests-Info.plist";
|
INFOPLIST_FILE = "Tests/Tests-Info.plist";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NSDate_Utils_Example.app/NSDate_Utils_Example";
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NSDate_Utils_Example.app/NSDate_Utils_Example";
|
||||||
WRAPPER_EXTENSION = xctest;
|
WRAPPER_EXTENSION = xctest;
|
||||||
@ -564,6 +584,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7EBDAA4F2C77F1AD52919060 /* Pods-NSDate_Utils_Tests.release.xcconfig */;
|
baseConfigurationReference = 7EBDAA4F2C77F1AD52919060 /* Pods-NSDate_Utils_Tests.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
ENABLE_BITCODE = YES;
|
ENABLE_BITCODE = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
@ -574,6 +595,7 @@
|
|||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
|
GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
|
||||||
INFOPLIST_FILE = "Tests/Tests-Info.plist";
|
INFOPLIST_FILE = "Tests/Tests-Info.plist";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NSDate_Utils_Example.app/NSDate_Utils_Example";
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NSDate_Utils_Example.app/NSDate_Utils_Example";
|
||||||
WRAPPER_EXTENSION = xctest;
|
WRAPPER_EXTENSION = xctest;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "0720"
|
LastUpgradeVersion = "0820"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
NSLog(@"%@",[date dateByAddingHours:1]);
|
NSLog(@"%@",[date dateByAddingHours:1]);
|
||||||
|
|
||||||
|
NSLog(@"%@",[date monthSymbol]);
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
|
|||||||
@ -1,14 +1,15 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- Expecta (1.0.5)
|
- Expecta (1.0.5)
|
||||||
- Expecta+Snapshots (2.0.0):
|
- Expecta+Snapshots (3.0.0):
|
||||||
- Expecta (~> 1.0)
|
- Expecta (~> 1.0)
|
||||||
- FBSnapshotTestCase/Core (~> 2.0.3)
|
- FBSnapshotTestCase/Core (~> 2.0)
|
||||||
- FBSnapshotTestCase (2.0.7):
|
- Specta (~> 1.0)
|
||||||
- FBSnapshotTestCase/SwiftSupport (= 2.0.7)
|
- FBSnapshotTestCase (2.1.4):
|
||||||
- FBSnapshotTestCase/Core (2.0.7)
|
- FBSnapshotTestCase/SwiftSupport (= 2.1.4)
|
||||||
- FBSnapshotTestCase/SwiftSupport (2.0.7):
|
- FBSnapshotTestCase/Core (2.1.4)
|
||||||
|
- FBSnapshotTestCase/SwiftSupport (2.1.4):
|
||||||
- FBSnapshotTestCase/Core
|
- FBSnapshotTestCase/Core
|
||||||
- NSDate_Utils (0.1.3)
|
- NSDate_Utils (1.0.0)
|
||||||
- Specta (1.0.5)
|
- Specta (1.0.5)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
@ -24,11 +25,11 @@ EXTERNAL SOURCES:
|
|||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
|
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
|
||||||
Expecta+Snapshots: 29b38dd695bc72a0ed2bea833937d78df41943ba
|
Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
|
||||||
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547
|
FBSnapshotTestCase: '094f9f314decbabe373b87cc339bea235a63e07a'
|
||||||
NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65
|
NSDate_Utils: 45d47afab329001ccafe056308d0cc05460e5298
|
||||||
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
|
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
|
||||||
|
|
||||||
PODFILE CHECKSUM: 5d3cb6429ba8613bec51b3e797c0070e91be6b26
|
PODFILE CHECKSUM: 5d3cb6429ba8613bec51b3e797c0070e91be6b26
|
||||||
|
|
||||||
COCOAPODS: 1.0.0.beta.6
|
COCOAPODS: 1.2.0.beta.1
|
||||||
|
|||||||
@ -1,11 +1,3 @@
|
|||||||
//
|
|
||||||
// EXPMatchers+FBSnapshotTest.h
|
|
||||||
// Artsy
|
|
||||||
//
|
|
||||||
// Created by Daniel Doubrovkine on 1/14/14.
|
|
||||||
// Copyright (c) 2014 Artsy Inc. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import <Expecta/Expecta.h>
|
#import <Expecta/Expecta.h>
|
||||||
#import "ExpectaObject+FBSnapshotTest.h"
|
#import "ExpectaObject+FBSnapshotTest.h"
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,3 @@
|
|||||||
//
|
|
||||||
// EXPMatchers+FBSnapshotTest.h
|
|
||||||
// Artsy
|
|
||||||
//
|
|
||||||
// Created by Daniel Doubrovkine on 1/14/14.
|
|
||||||
// Copyright (c) 2014 Artsy Inc. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
#import "EXPMatchers+FBSnapshotTest.h"
|
#import "EXPMatchers+FBSnapshotTest.h"
|
||||||
#import <Expecta/EXPMatcherHelpers.h>
|
#import <Expecta/EXPMatcherHelpers.h>
|
||||||
#import <FBSnapshotTestCase/FBSnapshotTestController.h>
|
#import <FBSnapshotTestCase/FBSnapshotTestController.h>
|
||||||
@ -102,11 +94,6 @@ void setGlobalReferenceImageDir(char *reference) {
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// If you're bringing in Speca via CocoaPods
|
|
||||||
// use the test path to get the test's image file URL
|
|
||||||
|
|
||||||
#if __has_include(<Specta/Specta.h>)
|
|
||||||
#import <Specta/Specta.h>
|
#import <Specta/Specta.h>
|
||||||
#import <Specta/SpectaUtility.h>
|
#import <Specta/SpectaUtility.h>
|
||||||
#import <Specta/SPTExample.h>
|
#import <Specta/SPTExample.h>
|
||||||
@ -130,6 +117,11 @@ NSString *sanitizedTestPath(){
|
|||||||
EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
|
EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
|
||||||
__block NSError *error = nil;
|
__block NSError *error = nil;
|
||||||
|
|
||||||
|
prerequisite(^BOOL{
|
||||||
|
return actual;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
match(^BOOL{
|
match(^BOOL{
|
||||||
NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
|
NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
|
||||||
NSString *name = sanitizedTestPath();
|
NSString *name = sanitizedTestPath();
|
||||||
@ -144,6 +136,10 @@ EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
|
|||||||
});
|
});
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
failureMessageForTo(^NSString *{
|
||||||
|
if (!actual) {
|
||||||
|
return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into haveValidSnapshot." test:sanitizedTestPath() error:nil];
|
||||||
|
}
|
||||||
|
|
||||||
return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot in" test:sanitizedTestPath() error:error];
|
return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot in" test:sanitizedTestPath() error:error];
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -159,7 +155,7 @@ EXPMatcherImplementationBegin(recordSnapshot, (void)) {
|
|||||||
BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]);
|
BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]);
|
||||||
|
|
||||||
prerequisite(^BOOL{
|
prerequisite(^BOOL{
|
||||||
return actualIsViewLayerOrViewController;
|
return actual && actualIsViewLayerOrViewController;
|
||||||
});
|
});
|
||||||
|
|
||||||
match(^BOOL{
|
match(^BOOL{
|
||||||
@ -178,6 +174,10 @@ EXPMatcherImplementationBegin(recordSnapshot, (void)) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
failureMessageForTo(^NSString *{
|
||||||
|
if (!actual) {
|
||||||
|
return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into recordSnapshot." test:sanitizedTestPath() error:nil];
|
||||||
|
}
|
||||||
|
|
||||||
if (!actualIsViewLayerOrViewController) {
|
if (!actualIsViewLayerOrViewController) {
|
||||||
return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:sanitizedTestPath() error:nil];
|
return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:sanitizedTestPath() error:nil];
|
||||||
}
|
}
|
||||||
@ -198,54 +198,12 @@ EXPMatcherImplementationBegin(recordSnapshot, (void)) {
|
|||||||
}
|
}
|
||||||
EXPMatcherImplementationEnd
|
EXPMatcherImplementationEnd
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
// If you don't have Speca stub the functions
|
|
||||||
|
|
||||||
EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
|
|
||||||
|
|
||||||
prerequisite(^BOOL{
|
|
||||||
return NO;
|
|
||||||
});
|
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
|
||||||
return @"you need Specta installed via CocoaPods to use haveValidSnapshot, use haveValidSnapshotNamed instead";
|
|
||||||
});
|
|
||||||
|
|
||||||
failureMessageForNotTo(^NSString *{
|
|
||||||
return @"you need Specta installed via CocoaPods to use haveValidSnapshot, use haveValidSnapshotNamed instead";
|
|
||||||
});
|
|
||||||
}
|
|
||||||
EXPMatcherImplementationEnd
|
|
||||||
|
|
||||||
|
|
||||||
EXPMatcherImplementationBegin(recordSnapshot, (void)) {
|
|
||||||
|
|
||||||
prerequisite(^BOOL{
|
|
||||||
return NO;
|
|
||||||
});
|
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
|
||||||
return @"you need Specta installed via CocoaPods to use recordSnapshot, use recordSnapshotNamed instead";
|
|
||||||
});
|
|
||||||
|
|
||||||
failureMessageForNotTo(^NSString *{
|
|
||||||
return @"you need Specta installed via CocoaPods to use recordSnapshot, use recordSnapshotNamed instead";
|
|
||||||
});
|
|
||||||
}
|
|
||||||
EXPMatcherImplementationEnd
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
EXPMatcherImplementationBegin(haveValidSnapshotNamed, (NSString *snapshot)){
|
EXPMatcherImplementationBegin(haveValidSnapshotNamed, (NSString *snapshot)){
|
||||||
BOOL snapshotIsNil = (snapshot == nil);
|
BOOL snapshotIsNil = (snapshot == nil);
|
||||||
__block NSError *error = nil;
|
__block NSError *error = nil;
|
||||||
|
|
||||||
prerequisite(^BOOL{
|
prerequisite(^BOOL{
|
||||||
return !(snapshotIsNil);
|
return actual && !(snapshotIsNil);
|
||||||
});
|
});
|
||||||
|
|
||||||
match(^BOOL{
|
match(^BOOL{
|
||||||
@ -260,6 +218,10 @@ EXPMatcherImplementationBegin(haveValidSnapshotNamed, (NSString *snapshot)){
|
|||||||
});
|
});
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
failureMessageForTo(^NSString *{
|
||||||
|
if (!actual) {
|
||||||
|
return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into haveValidSnapshotNamed." test:sanitizedTestPath() error:nil];
|
||||||
|
}
|
||||||
|
|
||||||
return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot named" test:snapshot error:error];
|
return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot named" test:snapshot error:error];
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -295,6 +257,9 @@ EXPMatcherImplementationBegin(recordSnapshotNamed, (NSString *snapshot)) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
failureMessageForTo(^NSString *{
|
failureMessageForTo(^NSString *{
|
||||||
|
if (!actual) {
|
||||||
|
return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into recordSnapshotNamed." test:sanitizedTestPath() error:nil];
|
||||||
|
}
|
||||||
if (!actualIsViewLayerOrViewController) {
|
if (!actualIsViewLayerOrViewController) {
|
||||||
return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil];
|
return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +0,0 @@
|
|||||||
framework module FBSnapshotTestCase {
|
|
||||||
umbrella header "FBSnapshotTestCase.h"
|
|
||||||
|
|
||||||
export *
|
|
||||||
module * { export * }
|
|
||||||
|
|
||||||
header "FBSnapshotTestCase.h"
|
|
||||||
header "FBSnapshotTestCasePlatform.h"
|
|
||||||
header "FBSnapshotTestController.h"
|
|
||||||
|
|
||||||
private header "UIImage+Compare.h"
|
|
||||||
private header "UIImage+Diff.h"
|
|
||||||
private header "UIImage+Snapshot.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
20
Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
generated
Normal file
20
Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
generated
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015, Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD-style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface UIApplication (StrictKeyWindow)
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return The receiver's @c keyWindow. Raises an assertion if @c nil.
|
||||||
|
*/
|
||||||
|
- (UIWindow *)fb_strictKeyWindow;
|
||||||
|
|
||||||
|
@end
|
||||||
27
Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
generated
Normal file
27
Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
generated
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015, Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD-style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <FBSnapshotTestCase/UIApplication+StrictKeyWindow.h>
|
||||||
|
|
||||||
|
@implementation UIApplication (StrictKeyWindow)
|
||||||
|
|
||||||
|
- (UIWindow *)fb_strictKeyWindow
|
||||||
|
{
|
||||||
|
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
|
||||||
|
if (!keyWindow) {
|
||||||
|
[NSException raise:@"FBSnapshotTestCaseNilKeyWindowException"
|
||||||
|
format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test"
|
||||||
|
" host sets up a key window at launch (either via storyboards or programmatically) and doesn't"
|
||||||
|
" do anything to remove it while snapshot tests are running."];
|
||||||
|
}
|
||||||
|
return keyWindow;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#import <FBSnapshotTestCase/UIImage+Snapshot.h>
|
#import <FBSnapshotTestCase/UIImage+Snapshot.h>
|
||||||
|
#import <FBSnapshotTestCase/UIApplication+StrictKeyWindow.h>
|
||||||
|
|
||||||
@implementation UIImage (Snapshot)
|
@implementation UIImage (Snapshot)
|
||||||
|
|
||||||
@ -43,11 +44,16 @@
|
|||||||
NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view);
|
NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view);
|
||||||
NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view);
|
NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view);
|
||||||
|
|
||||||
UIWindow *window = view.window;
|
// If the input view is already a UIWindow, then just use that. Otherwise wrap in a window.
|
||||||
if (window == nil) {
|
UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window;
|
||||||
window = [[UIWindow alloc] initWithFrame:bounds];
|
BOOL removeFromSuperview = NO;
|
||||||
|
if (!window) {
|
||||||
|
window = [[UIApplication sharedApplication] fb_strictKeyWindow];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!view.window && view != window) {
|
||||||
[window addSubview:view];
|
[window addSubview:view];
|
||||||
[window makeKeyAndVisible];
|
removeFromSuperview = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
|
UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
|
||||||
@ -56,6 +62,11 @@
|
|||||||
|
|
||||||
UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
|
UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
|
||||||
UIGraphicsEndImageContext();
|
UIGraphicsEndImageContext();
|
||||||
|
|
||||||
|
if (removeFromSuperview) {
|
||||||
|
[view removeFromSuperview];
|
||||||
|
}
|
||||||
|
|
||||||
return snapshot;
|
return snapshot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#import <FBSnapshotTestCase/FBSnapshotTestCasePlatform.h>
|
#import <FBSnapshotTestCase/FBSnapshotTestCasePlatform.h>
|
||||||
|
#import <FBSnapshotTestCase/FBSnapshotTestController.h>
|
||||||
|
|
||||||
#import <QuartzCore/QuartzCore.h>
|
#import <QuartzCore/QuartzCore.h>
|
||||||
|
|
||||||
@ -48,7 +49,7 @@
|
|||||||
/**
|
/**
|
||||||
Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
|
Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
|
||||||
@param layer The layer to snapshot
|
@param layer The layer to snapshot
|
||||||
@param identifier An optional identifier, used is there are multiple snapshot tests in a given -test method.
|
@param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
|
||||||
@param suffixes An NSOrderedSet of strings for the different suffixes
|
@param suffixes An NSOrderedSet of strings for the different suffixes
|
||||||
@param tolerance The percentage of pixels that can differ and still count as an 'identical' layer
|
@param tolerance The percentage of pixels that can differ and still count as an 'identical' layer
|
||||||
*/
|
*/
|
||||||
@ -61,43 +62,9 @@
|
|||||||
|
|
||||||
#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \
|
#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \
|
||||||
{ \
|
{ \
|
||||||
NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; \
|
NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \
|
||||||
XCTAssertNotNil(referenceImageDirectory, @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.");\
|
BOOL noErrors = (errorDescription == nil); \
|
||||||
XCTAssertTrue((suffixes__.count > 0), @"Suffixes set cannot be empty %@", suffixes__); \
|
XCTAssertTrue(noErrors, @"%@", errorDescription); \
|
||||||
\
|
|
||||||
BOOL testSuccess__ = NO; \
|
|
||||||
NSError *error__ = nil; \
|
|
||||||
NSMutableArray *errors__ = [NSMutableArray array]; \
|
|
||||||
\
|
|
||||||
if (self.recordMode) { \
|
|
||||||
\
|
|
||||||
NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes__.firstObject]; \
|
|
||||||
BOOL referenceImageSaved__ = [self compareSnapshotOf ## what__ :(viewOrLayer__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) tolerance:(tolerance__) error:&error__]; \
|
|
||||||
if (!referenceImageSaved__) { \
|
|
||||||
[errors__ addObject:error__]; \
|
|
||||||
} \
|
|
||||||
} else { \
|
|
||||||
\
|
|
||||||
for (NSString *suffix__ in suffixes__) { \
|
|
||||||
NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix__]; \
|
|
||||||
BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory__ identifier:(identifier__) error:&error__]; \
|
|
||||||
\
|
|
||||||
if (referenceImageAvailable) { \
|
|
||||||
BOOL comparisonSuccess__ = [self compareSnapshotOf ## what__ :(viewOrLayer__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) tolerance:(tolerance__) error:&error__]; \
|
|
||||||
[errors__ removeAllObjects]; \
|
|
||||||
if (comparisonSuccess__) { \
|
|
||||||
testSuccess__ = YES; \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
[errors__ addObject:error__]; \
|
|
||||||
} \
|
|
||||||
} else { \
|
|
||||||
[errors__ addObject:error__]; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
XCTAssertTrue(testSuccess__, @"Snapshot comparison failed: %@", errors__.firstObject); \
|
|
||||||
XCTAssertFalse(self.recordMode, @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"); \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -147,6 +114,19 @@
|
|||||||
- (void)setUp NS_REQUIRES_SUPER;
|
- (void)setUp NS_REQUIRES_SUPER;
|
||||||
- (void)tearDown NS_REQUIRES_SUPER;
|
- (void)tearDown NS_REQUIRES_SUPER;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Performs the comparison or records a snapshot of the layer if recordMode is YES.
|
||||||
|
@param viewOrLayer The UIView or CALayer to snapshot
|
||||||
|
@param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
|
||||||
|
@param suffixes An NSOrderedSet of strings for the different suffixes
|
||||||
|
@param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
|
||||||
|
@returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description.
|
||||||
|
*/
|
||||||
|
- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
|
||||||
|
identifier:(NSString *)identifier
|
||||||
|
suffixes:(NSOrderedSet *)suffixes
|
||||||
|
tolerance:(CGFloat)tolerance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Performs the comparison or records a snapshot of the layer if recordMode is YES.
|
Performs the comparison or records a snapshot of the layer if recordMode is YES.
|
||||||
@param layer The Layer to snapshot
|
@param layer The Layer to snapshot
|
||||||
|
|||||||
@ -65,6 +65,62 @@
|
|||||||
|
|
||||||
#pragma mark - Public API
|
#pragma mark - Public API
|
||||||
|
|
||||||
|
- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
|
||||||
|
identifier:(NSString *)identifier
|
||||||
|
suffixes:(NSOrderedSet *)suffixes
|
||||||
|
tolerance:(CGFloat)tolerance
|
||||||
|
{
|
||||||
|
if (nil == viewOrLayer) {
|
||||||
|
return @"Object to be snapshotted must not be nil";
|
||||||
|
}
|
||||||
|
NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)];
|
||||||
|
if (referenceImageDirectory == nil) {
|
||||||
|
return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.";
|
||||||
|
}
|
||||||
|
if (suffixes.count == 0) {
|
||||||
|
return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes];
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL testSuccess = NO;
|
||||||
|
NSError *error = nil;
|
||||||
|
NSMutableArray *errors = [NSMutableArray array];
|
||||||
|
|
||||||
|
if (self.recordMode) {
|
||||||
|
NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject];
|
||||||
|
BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error];
|
||||||
|
if (!referenceImageSaved) {
|
||||||
|
[errors addObject:error];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (NSString *suffix in suffixes) {
|
||||||
|
NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix];
|
||||||
|
BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error];
|
||||||
|
|
||||||
|
if (referenceImageAvailable) {
|
||||||
|
BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error];
|
||||||
|
[errors removeAllObjects];
|
||||||
|
if (comparisonSuccess) {
|
||||||
|
testSuccess = YES;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
[errors addObject:error];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
[errors addObject:error];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!testSuccess) {
|
||||||
|
return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject];
|
||||||
|
}
|
||||||
|
if (self.recordMode) {
|
||||||
|
return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!";
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
|
- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
|
||||||
referenceImagesDirectory:(NSString *)referenceImagesDirectory
|
referenceImagesDirectory:(NSString *)referenceImagesDirectory
|
||||||
identifier:(NSString *)identifier
|
identifier:(NSString *)identifier
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#import <FBSnapshotTestCase/FBSnapshotTestCasePlatform.h>
|
#import <FBSnapshotTestCase/FBSnapshotTestCasePlatform.h>
|
||||||
|
#import <FBSnapshotTestCase/UIApplication+StrictKeyWindow.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
BOOL FBSnapshotTestCaseIs64Bit(void)
|
BOOL FBSnapshotTestCaseIs64Bit(void)
|
||||||
@ -34,7 +35,8 @@ NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void)
|
|||||||
NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName)
|
NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName)
|
||||||
{
|
{
|
||||||
UIDevice *device = [UIDevice currentDevice];
|
UIDevice *device = [UIDevice currentDevice];
|
||||||
CGSize screenSize = [[UIApplication sharedApplication] keyWindow].bounds.size;
|
UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow];
|
||||||
|
CGSize screenSize = keyWindow.bounds.size;
|
||||||
NSString *os = device.systemVersion;
|
NSString *os = device.systemVersion;
|
||||||
|
|
||||||
fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height];
|
fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height];
|
||||||
|
|||||||
@ -28,6 +28,21 @@ extern NSString *const FBSnapshotTestControllerErrorDomain;
|
|||||||
*/
|
*/
|
||||||
extern NSString *const FBReferenceImageFilePathKey;
|
extern NSString *const FBReferenceImageFilePathKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary.
|
||||||
|
*/
|
||||||
|
extern NSString *const FBReferenceImageKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary.
|
||||||
|
*/
|
||||||
|
extern NSString *const FBCapturedImageKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary.
|
||||||
|
*/
|
||||||
|
extern NSString *const FBDiffedImageKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel-
|
Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel-
|
||||||
by-pixel comparison of images.
|
by-pixel comparison of images.
|
||||||
|
|||||||
@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
|
NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
|
||||||
NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
|
NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
|
||||||
|
NSString *const FBReferenceImageKey = @"FBReferenceImageKey";
|
||||||
|
NSString *const FBCapturedImageKey = @"FBCapturedImageKey";
|
||||||
|
NSString *const FBDiffedImageKey = @"FBDiffedImageKey";
|
||||||
|
|
||||||
typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
|
typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
|
||||||
FBTestSnapshotFileNameTypeReference,
|
FBTestSnapshotFileNameTypeReference,
|
||||||
@ -126,25 +129,25 @@ typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
|
|||||||
tolerance:(CGFloat)tolerance
|
tolerance:(CGFloat)tolerance
|
||||||
error:(NSError **)errorPtr
|
error:(NSError **)errorPtr
|
||||||
{
|
{
|
||||||
if (CGSizeEqualToSize(referenceImage.size, image.size)) {
|
BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size);
|
||||||
BOOL imagesEqual = [referenceImage fb_compareWithImage:image tolerance:tolerance];
|
if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) {
|
||||||
if (NULL != errorPtr) {
|
return YES;
|
||||||
*errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
|
|
||||||
code:FBSnapshotTestControllerErrorCodeImagesDifferent
|
|
||||||
userInfo:@{
|
|
||||||
NSLocalizedDescriptionKey: @"Images different",
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
return imagesEqual;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NULL != errorPtr) {
|
if (NULL != errorPtr) {
|
||||||
|
NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes";
|
||||||
|
NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100]
|
||||||
|
: [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)];
|
||||||
|
FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes;
|
||||||
|
|
||||||
*errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
|
*errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
|
||||||
code:FBSnapshotTestControllerErrorCodeImagesDifferentSizes
|
code:errorCode
|
||||||
userInfo:@{
|
userInfo:@{
|
||||||
NSLocalizedDescriptionKey: @"Images different sizes",
|
NSLocalizedDescriptionKey: errorDescription,
|
||||||
NSLocalizedFailureReasonErrorKey: [NSString stringWithFormat:@"referenceImage:%@, image:%@",
|
NSLocalizedFailureReasonErrorKey: errorReason,
|
||||||
NSStringFromCGSize(referenceImage.size),
|
FBReferenceImageKey: referenceImage,
|
||||||
NSStringFromCGSize(image.size)],
|
FBCapturedImageKey: image,
|
||||||
|
FBDiffedImageKey: [referenceImage fb_diffWithImage:image],
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
return NO;
|
return NO;
|
||||||
@ -279,11 +282,10 @@ typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
|
|||||||
UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
|
UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
|
||||||
BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr];
|
BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr];
|
||||||
if (!imagesSame) {
|
if (!imagesSame) {
|
||||||
[self saveFailedReferenceImage:referenceImage
|
NSError *saveError = nil;
|
||||||
testImage:snapshot
|
if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) {
|
||||||
selector:selector
|
NSLog(@"Error saving test images: %@", saveError);
|
||||||
identifier:identifier
|
}
|
||||||
error:errorPtr];
|
|
||||||
}
|
}
|
||||||
return imagesSame;
|
return imagesSame;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,34 +8,35 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if swift(>=3)
|
||||||
public extension FBSnapshotTestCase {
|
public extension FBSnapshotTestCase {
|
||||||
public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), file: String = __FILE__, line: UInt = __LINE__) {
|
public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes)
|
FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), file: String = __FILE__, line: UInt = __LINE__) {
|
public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes)
|
FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), file: String = __FILE__, line: UInt = __LINE__) {
|
private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR)
|
let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR)
|
||||||
var error: NSError?
|
var error: NSError?
|
||||||
var comparisonSuccess = false
|
var comparisonSuccess = false
|
||||||
|
|
||||||
if let envReferenceImageDirectory = envReferenceImageDirectory {
|
if let envReferenceImageDirectory = envReferenceImageDirectory {
|
||||||
for suffix in suffixes {
|
for suffix in suffixes {
|
||||||
let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
|
let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
|
||||||
if viewOrLayer.isKindOfClass(UIView) {
|
if viewOrLayer.isKind(of: UIView.self) {
|
||||||
do {
|
do {
|
||||||
try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: 0)
|
try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
|
||||||
comparisonSuccess = true
|
comparisonSuccess = true
|
||||||
} catch let error1 as NSError {
|
} catch let error1 as NSError {
|
||||||
error = error1
|
error = error1
|
||||||
comparisonSuccess = false
|
comparisonSuccess = false
|
||||||
}
|
}
|
||||||
} else if viewOrLayer.isKindOfClass(CALayer) {
|
} else if viewOrLayer.isKind(of: CALayer.self) {
|
||||||
do {
|
do {
|
||||||
try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: 0)
|
try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
|
||||||
comparisonSuccess = true
|
comparisonSuccess = true
|
||||||
} catch let error1 as NSError {
|
} catch let error1 as NSError {
|
||||||
error = error1
|
error = error1
|
||||||
@ -58,9 +59,67 @@ public extension FBSnapshotTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func assert(assertion: Bool, message: String, file: String, line: UInt) {
|
func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) {
|
||||||
if !assertion {
|
if !assertion {
|
||||||
XCTFail(message, file: file, line: line)
|
XCTFail(message, file: file, line: line)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
public extension FBSnapshotTestCase {
|
||||||
|
public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
|
FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
|
||||||
|
}
|
||||||
|
|
||||||
|
public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
|
FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
|
||||||
|
}
|
||||||
|
|
||||||
|
private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
|
||||||
|
let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR)
|
||||||
|
var error: NSError?
|
||||||
|
var comparisonSuccess = false
|
||||||
|
|
||||||
|
if let envReferenceImageDirectory = envReferenceImageDirectory {
|
||||||
|
for suffix in suffixes {
|
||||||
|
let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
|
||||||
|
if viewOrLayer.isKindOfClass(UIView) {
|
||||||
|
do {
|
||||||
|
try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
|
||||||
|
comparisonSuccess = true
|
||||||
|
} catch let error1 as NSError {
|
||||||
|
error = error1
|
||||||
|
comparisonSuccess = false
|
||||||
|
}
|
||||||
|
} else if viewOrLayer.isKindOfClass(CALayer) {
|
||||||
|
do {
|
||||||
|
try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
|
||||||
|
comparisonSuccess = true
|
||||||
|
} catch let error1 as NSError {
|
||||||
|
error = error1
|
||||||
|
comparisonSuccess = false
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
assertionFailure("Only UIView and CALayer classes can be snapshotted")
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
|
||||||
|
|
||||||
|
if comparisonSuccess || recordMode {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func assert(assertion: Bool, message: String, file: StaticString, line: UInt) {
|
||||||
|
if !assertion {
|
||||||
|
XCTFail(message, file: file, line: line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "NSDate_Utils",
|
"name": "NSDate_Utils",
|
||||||
"version": "0.1.3",
|
"version": "1.0.0",
|
||||||
"summary": "NSDate_Utils is a NSDate category that helps date managements. For example NSString to NSDate, NSDate to NSString,NSSdate comparisons",
|
"summary": "NSDate_Utils is a NSDate category that helps date managements. For example NSString to NSDate, NSDate to NSString,NSSdate comparisons",
|
||||||
"homepage": "https://github.com/giuseppenucifora/NSDate_Utils",
|
"homepage": "https://github.com/giuseppenucifora/NSDate_Utils",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"git": "https://github.com/giuseppenucifora/NSDate_Utils.git",
|
"git": "https://github.com/giuseppenucifora/NSDate_Utils.git",
|
||||||
"tag": "0.1.3"
|
"tag": "1.0.0"
|
||||||
},
|
},
|
||||||
"platforms": {
|
"platforms": {
|
||||||
"ios": "7.0"
|
"ios": "7.0"
|
||||||
|
|||||||
23
Example/Pods/Manifest.lock
generated
23
Example/Pods/Manifest.lock
generated
@ -1,14 +1,15 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- Expecta (1.0.5)
|
- Expecta (1.0.5)
|
||||||
- Expecta+Snapshots (2.0.0):
|
- Expecta+Snapshots (3.0.0):
|
||||||
- Expecta (~> 1.0)
|
- Expecta (~> 1.0)
|
||||||
- FBSnapshotTestCase/Core (~> 2.0.3)
|
- FBSnapshotTestCase/Core (~> 2.0)
|
||||||
- FBSnapshotTestCase (2.0.7):
|
- Specta (~> 1.0)
|
||||||
- FBSnapshotTestCase/SwiftSupport (= 2.0.7)
|
- FBSnapshotTestCase (2.1.4):
|
||||||
- FBSnapshotTestCase/Core (2.0.7)
|
- FBSnapshotTestCase/SwiftSupport (= 2.1.4)
|
||||||
- FBSnapshotTestCase/SwiftSupport (2.0.7):
|
- FBSnapshotTestCase/Core (2.1.4)
|
||||||
|
- FBSnapshotTestCase/SwiftSupport (2.1.4):
|
||||||
- FBSnapshotTestCase/Core
|
- FBSnapshotTestCase/Core
|
||||||
- NSDate_Utils (0.1.3)
|
- NSDate_Utils (1.0.0)
|
||||||
- Specta (1.0.5)
|
- Specta (1.0.5)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
@ -24,11 +25,11 @@ EXTERNAL SOURCES:
|
|||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
|
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
|
||||||
Expecta+Snapshots: 29b38dd695bc72a0ed2bea833937d78df41943ba
|
Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
|
||||||
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547
|
FBSnapshotTestCase: '094f9f314decbabe373b87cc339bea235a63e07a'
|
||||||
NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65
|
NSDate_Utils: 45d47afab329001ccafe056308d0cc05460e5298
|
||||||
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
|
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
|
||||||
|
|
||||||
PODFILE CHECKSUM: 5d3cb6429ba8613bec51b3e797c0070e91be6b26
|
PODFILE CHECKSUM: 5d3cb6429ba8613bec51b3e797c0070e91be6b26
|
||||||
|
|
||||||
COCOAPODS: 1.0.0.beta.6
|
COCOAPODS: 1.2.0.beta.1
|
||||||
|
|||||||
2172
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
2172
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@ -1,36 +1,39 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "0700"
|
LastUpgradeVersion = "0820"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
buildImplicitDependencies = "YES">
|
buildImplicitDependencies = "YES">
|
||||||
<BuildActionEntries>
|
<BuildActionEntries>
|
||||||
<BuildActionEntry
|
<BuildActionEntry
|
||||||
buildForAnalyzing = "YES"
|
|
||||||
buildForTesting = "YES"
|
buildForTesting = "YES"
|
||||||
buildForRunning = "YES"
|
buildForRunning = "YES"
|
||||||
buildForProfiling = "YES"
|
buildForProfiling = "YES"
|
||||||
buildForArchiving = "YES">
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = 'primary'
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = '44E0A443C7B5AAF9367BC919E00F78FE'
|
BlueprintIdentifier = "44E0A443C7B5AAF9367BC919E00F78FE"
|
||||||
BlueprintName = 'NSDate_Utils'
|
BuildableName = "NSDate_Utils.framework"
|
||||||
ReferencedContainer = 'container:Pods.xcodeproj'
|
BlueprintName = "NSDate_Utils"
|
||||||
BuildableName = 'NSDate_Utils.framework'>
|
ReferencedContainer = "container:Pods.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
</BuildAction>
|
</BuildAction>
|
||||||
<TestAction
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
buildConfiguration = "Debug">
|
<Testables>
|
||||||
|
</Testables>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
</AdditionalOptions>
|
</AdditionalOptions>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
launchStyle = "0"
|
launchStyle = "0"
|
||||||
@ -38,17 +41,25 @@
|
|||||||
ignoresPersistentStateOnLaunch = "NO"
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
debugDocumentVersioning = "YES"
|
debugDocumentVersioning = "YES"
|
||||||
debugServiceExtension = "internal"
|
debugServiceExtension = "internal"
|
||||||
buildConfiguration = "Debug"
|
|
||||||
allowLocationSimulation = "YES">
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "44E0A443C7B5AAF9367BC919E00F78FE"
|
||||||
|
BuildableName = "NSDate_Utils.framework"
|
||||||
|
BlueprintName = "NSDate_Utils"
|
||||||
|
ReferencedContainer = "container:Pods.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
</AdditionalOptions>
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
savedToolIdentifier = ""
|
savedToolIdentifier = ""
|
||||||
useCustomWorkingDirectory = "NO"
|
useCustomWorkingDirectory = "NO"
|
||||||
debugDocumentVersioning = "YES"
|
debugDocumentVersioning = "YES">
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
</ProfileAction>
|
</ProfileAction>
|
||||||
<AnalyzeAction
|
<AnalyzeAction
|
||||||
buildConfiguration = "Debug">
|
buildConfiguration = "Debug">
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "ExpectaObject+FBSnapshotTest.h"
|
#import "ExpectaObject+FBSnapshotTest.h"
|
||||||
#import "EXPMatchers+FBSnapshotTest.h"
|
#import "EXPMatchers+FBSnapshotTest.h"
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/Expecta+Snapshots
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Expecta+Snapshots
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$PODS_SHARED_BUILD_DIR/Expecta" "$PODS_SHARED_BUILD_DIR/FBSnapshotTestCase"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$PODS_CONFIGURATION_BUILD_DIR/Specta"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta+Snapshots
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.0.0</string>
|
<string>3.0.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "EXPBlockDefinedMatcher.h"
|
#import "EXPBlockDefinedMatcher.h"
|
||||||
#import "EXPDefines.h"
|
#import "EXPDefines.h"
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/Expecta
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Expecta
|
||||||
ENABLE_BITCODE = NO
|
ENABLE_BITCODE = NO
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
19
Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h
generated
Normal file
19
Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h
generated
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#import "FBSnapshotTestCase.h"
|
||||||
|
#import "FBSnapshotTestCasePlatform.h"
|
||||||
|
#import "FBSnapshotTestController.h"
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber;
|
||||||
|
FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[];
|
||||||
|
|
||||||
@ -1,15 +1,6 @@
|
|||||||
framework module FBSnapshotTestCase {
|
framework module FBSnapshotTestCase {
|
||||||
umbrella header "FBSnapshotTestCase.h"
|
umbrella header "FBSnapshotTestCase-umbrella.h"
|
||||||
|
|
||||||
export *
|
export *
|
||||||
module * { export * }
|
module * { export * }
|
||||||
|
|
||||||
header "FBSnapshotTestCase.h"
|
|
||||||
header "FBSnapshotTestCasePlatform.h"
|
|
||||||
header "FBSnapshotTestController.h"
|
|
||||||
|
|
||||||
private header "UIImage+Compare.h"
|
|
||||||
private header "UIImage+Diff.h"
|
|
||||||
private header "UIImage+Snapshot.h"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/FBSnapshotTestCase
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase
|
||||||
ENABLE_BITCODE = NO
|
ENABLE_BITCODE = NO
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
OTHER_LDFLAGS = -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest"
|
OTHER_LDFLAGS = -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.0.7</string>
|
<string>2.1.4</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.1.3</string>
|
<string>1.0.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "NSDate+NSDate_Util.h"
|
#import "NSDate+NSDate_Util.h"
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/NSDate_Utils
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
|
|||||||
@ -34,6 +34,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>NSDate_Utils</string>
|
<string>NSDate_Utils</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -59,8 +59,13 @@ code_sign_if_enabled() {
|
|||||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||||
# Use the current code_sign_identitiy
|
# Use the current code_sign_identitiy
|
||||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\""
|
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1""
|
||||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1"
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
code_sign_cmd="$code_sign_cmd &"
|
||||||
|
fi
|
||||||
|
echo "$code_sign_cmd"
|
||||||
|
eval "$code_sign_cmd"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,3 +94,6 @@ fi
|
|||||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/NSDate_Utils/NSDate_Utils.framework"
|
install_framework "$BUILT_PRODUCTS_DIR/NSDate_Utils/NSDate_Utils.framework"
|
||||||
fi
|
fi
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
|
||||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||||
> "$RESOURCES_TO_COPY"
|
> "$RESOURCES_TO_COPY"
|
||||||
@ -18,17 +18,14 @@ case "${TARGETED_DEVICE_FAMILY}" in
|
|||||||
2)
|
2)
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
;;
|
;;
|
||||||
|
3)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device tv"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
realpath() {
|
|
||||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
|
||||||
FILENAME="${1##*/}"
|
|
||||||
echo "$DIRECTORY/$FILENAME"
|
|
||||||
}
|
|
||||||
|
|
||||||
install_resource()
|
install_resource()
|
||||||
{
|
{
|
||||||
if [[ "$1" = /* ]] ; then
|
if [[ "$1" = /* ]] ; then
|
||||||
@ -44,33 +41,33 @@ EOM
|
|||||||
fi
|
fi
|
||||||
case $RESOURCE_PATH in
|
case $RESOURCE_PATH in
|
||||||
*.storyboard)
|
*.storyboard)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.xib)
|
*.xib)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}"
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
echo "rsync -av $RESOURCE_PATH ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
rsync -av "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodel)
|
*.xcdatamodel)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodeld)
|
*.xcdatamodeld)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||||
;;
|
;;
|
||||||
*.xcmappingmodel)
|
*.xcmappingmodel)
|
||||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
||||||
xcrun mapc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||||
;;
|
;;
|
||||||
*.xcassets)
|
*.xcassets)
|
||||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -80,8 +77,8 @@ EOM
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
@ -93,7 +90,7 @@ then
|
|||||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||||
while read line; do
|
while read line; do
|
||||||
if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
|
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||||
XCASSET_FILES+=("$line")
|
XCASSET_FILES+=("$line")
|
||||||
fi
|
fi
|
||||||
done <<<"$OTHER_XCASSETS"
|
done <<<"$OTHER_XCASSETS"
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
FOUNDATION_EXPORT double Pods_NSDate_Utils_ExampleVersionNumber;
|
FOUNDATION_EXPORT double Pods_NSDate_Utils_ExampleVersionNumber;
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/NSDate_Utils"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "NSDate_Utils"
|
OTHER_LDFLAGS = $(inherited) -framework "NSDate_Utils"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/NSDate_Utils"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "NSDate_Utils"
|
OTHER_LDFLAGS = $(inherited) -framework "NSDate_Utils"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
@ -34,6 +34,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>NSDate_Utils</string>
|
<string>NSDate_Utils</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
@ -61,6 +63,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>Expecta</string>
|
<string>Expecta</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
@ -91,6 +95,8 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>Expecta+Snapshots</string>
|
<string>Expecta+Snapshots</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
@ -128,6 +134,8 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>BSD</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>FBSnapshotTestCase</string>
|
<string>FBSnapshotTestCase</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
@ -156,6 +164,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
</string>
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>Specta</string>
|
<string>Specta</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -59,8 +59,13 @@ code_sign_if_enabled() {
|
|||||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||||
# Use the current code_sign_identitiy
|
# Use the current code_sign_identitiy
|
||||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\""
|
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1""
|
||||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1"
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
code_sign_cmd="$code_sign_cmd &"
|
||||||
|
fi
|
||||||
|
echo "$code_sign_cmd"
|
||||||
|
eval "$code_sign_cmd"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,3 +102,6 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
|
|||||||
install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
|
install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/Specta/Specta.framework"
|
install_framework "$BUILT_PRODUCTS_DIR/Specta/Specta.framework"
|
||||||
fi
|
fi
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
|
||||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||||
> "$RESOURCES_TO_COPY"
|
> "$RESOURCES_TO_COPY"
|
||||||
@ -18,17 +18,14 @@ case "${TARGETED_DEVICE_FAMILY}" in
|
|||||||
2)
|
2)
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
;;
|
;;
|
||||||
|
3)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device tv"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
realpath() {
|
|
||||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
|
||||||
FILENAME="${1##*/}"
|
|
||||||
echo "$DIRECTORY/$FILENAME"
|
|
||||||
}
|
|
||||||
|
|
||||||
install_resource()
|
install_resource()
|
||||||
{
|
{
|
||||||
if [[ "$1" = /* ]] ; then
|
if [[ "$1" = /* ]] ; then
|
||||||
@ -44,33 +41,33 @@ EOM
|
|||||||
fi
|
fi
|
||||||
case $RESOURCE_PATH in
|
case $RESOURCE_PATH in
|
||||||
*.storyboard)
|
*.storyboard)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.xib)
|
*.xib)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}"
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
echo "rsync -av $RESOURCE_PATH ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
rsync -av "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodel)
|
*.xcdatamodel)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodeld)
|
*.xcdatamodeld)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||||
;;
|
;;
|
||||||
*.xcmappingmodel)
|
*.xcmappingmodel)
|
||||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
||||||
xcrun mapc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||||
;;
|
;;
|
||||||
*.xcassets)
|
*.xcassets)
|
||||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -80,8 +77,8 @@ EOM
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
@ -93,7 +90,7 @@ then
|
|||||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||||
while read line; do
|
while read line; do
|
||||||
if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
|
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||||
XCASSET_FILES+=("$line")
|
XCASSET_FILES+=("$line")
|
||||||
fi
|
fi
|
||||||
done <<<"$OTHER_XCASSETS"
|
done <<<"$OTHER_XCASSETS"
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
FOUNDATION_EXPORT double Pods_NSDate_Utils_TestsVersionNumber;
|
FOUNDATION_EXPORT double Pods_NSDate_Utils_TestsVersionNumber;
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/Expecta" "$CONFIGURATION_BUILD_DIR/Expecta+Snapshots" "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$CONFIGURATION_BUILD_DIR/NSDate_Utils" "$CONFIGURATION_BUILD_DIR/Specta"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/Expecta+Snapshots" "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils" "$PODS_CONFIGURATION_BUILD_DIR/Specta"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta+Snapshots/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta+Snapshots/Expecta_Snapshots.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "NSDate_Utils" -framework "Specta"
|
OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "NSDate_Utils" -framework "Specta"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/Expecta" "$CONFIGURATION_BUILD_DIR/Expecta+Snapshots" "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$CONFIGURATION_BUILD_DIR/NSDate_Utils" "$CONFIGURATION_BUILD_DIR/Specta"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/Expecta+Snapshots" "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils" "$PODS_CONFIGURATION_BUILD_DIR/Specta"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta+Snapshots/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta+Snapshots/Expecta_Snapshots.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/NSDate_Utils/NSDate_Utils.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "NSDate_Utils" -framework "Specta"
|
OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "NSDate_Utils" -framework "Specta"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#import "Specta.h"
|
#import "Specta.h"
|
||||||
#import "SpectaDSL.h"
|
#import "SpectaDSL.h"
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/Specta
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Specta
|
||||||
ENABLE_BITCODE = NO
|
ENABLE_BITCODE = NO
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/Specta
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = "NSDate_Utils"
|
s.name = "NSDate_Utils"
|
||||||
s.version = "0.1.3"
|
s.version = "1.0.0"
|
||||||
s.summary = "NSDate_Utils is a NSDate category that helps date managements. For example NSString to NSDate, NSDate to NSString,NSSdate comparisons"
|
s.summary = "NSDate_Utils is a NSDate category that helps date managements. For example NSString to NSDate, NSDate to NSString,NSSdate comparisons"
|
||||||
|
|
||||||
# This description is used to generate tags and improve search results.
|
# This description is used to generate tags and improve search results.
|
||||||
|
|||||||
@ -99,6 +99,7 @@ static NSString *kNSDateHelperFormatSQLDateWithTimeEN_shashSeparated = @"
|
|||||||
+ (NSString *) stringForDisplayFromDate:(NSDate *) date;
|
+ (NSString *) stringForDisplayFromDate:(NSDate *) date;
|
||||||
+ (NSString *) stringForDisplayFromDate:(NSDate *) date prefixed:(BOOL) prefixed;
|
+ (NSString *) stringForDisplayFromDate:(NSDate *) date prefixed:(BOOL) prefixed;
|
||||||
+ (NSString *) stringForDisplayFromDate:(NSDate *) date prefixed:(BOOL) prefixed alwaysDisplayTime:(BOOL)displayTime;
|
+ (NSString *) stringForDisplayFromDate:(NSDate *) date prefixed:(BOOL) prefixed alwaysDisplayTime:(BOOL)displayTime;
|
||||||
|
- (NSString *) monthSymbol;
|
||||||
- (NSString *) string;
|
- (NSString *) string;
|
||||||
- (NSString *) stringWithFormat:(NSString *) format;
|
- (NSString *) stringWithFormat:(NSString *) format;
|
||||||
- (NSString *) stringWithFormat:(NSString *) format timeZone:(NSTimeZone*) timezone;
|
- (NSString *) stringWithFormat:(NSString *) format timeZone:(NSTimeZone*) timezone;
|
||||||
|
|||||||
@ -139,6 +139,11 @@ static NSDateFormatter *_displayFormatter = nil;
|
|||||||
return -[self timeIntervalSinceDate:anotherDate];
|
return -[self timeIntervalSinceDate:anotherDate];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSString *) monthSymbol {
|
||||||
|
|
||||||
|
return [[[NSDate sharedDateFormatter] monthSymbols] objectAtIndex:([self month]-1)];
|
||||||
|
}
|
||||||
|
|
||||||
-(NSDate *) toLocalTime
|
-(NSDate *) toLocalTime
|
||||||
{
|
{
|
||||||
NSTimeZone *tz = [NSTimeZone defaultTimeZone];
|
NSTimeZone *tz = [NSTimeZone defaultTimeZone];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user