- Add md5
- Add Sha1 - Add Sha256 - Add Sha512
This commit is contained in:
parent
3a914b99d1
commit
114f16ac1c
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,10 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- FBSnapshotTestCase (2.0.7):
|
- FBSnapshotTestCase (2.1.0):
|
||||||
- FBSnapshotTestCase/SwiftSupport (= 2.0.7)
|
- FBSnapshotTestCase/SwiftSupport (= 2.1.0)
|
||||||
- FBSnapshotTestCase/Core (2.0.7)
|
- FBSnapshotTestCase/Core (2.1.0)
|
||||||
- FBSnapshotTestCase/SwiftSupport (2.0.7):
|
- FBSnapshotTestCase/SwiftSupport (2.1.0):
|
||||||
- FBSnapshotTestCase/Core
|
- FBSnapshotTestCase/Core
|
||||||
- NSString-Helper (1.0.4)
|
- NSString-Helper (1.0.5)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- FBSnapshotTestCase
|
- FBSnapshotTestCase
|
||||||
@ -12,12 +12,10 @@ DEPENDENCIES:
|
|||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
NSString-Helper:
|
NSString-Helper:
|
||||||
:path: "../"
|
:path: ../
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547
|
FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
|
||||||
NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d
|
NSString-Helper: 459e1b6a62b3bf7db10f01b0d102548608e945c4
|
||||||
|
|
||||||
PODFILE CHECKSUM: e67014022580f35ad77ccf44e27b78e05236d79c
|
COCOAPODS: 0.39.0
|
||||||
|
|
||||||
COCOAPODS: 1.0.0.beta.6
|
|
||||||
|
|||||||
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)
|
||||||
|
|
||||||
@ -41,21 +42,31 @@
|
|||||||
{
|
{
|
||||||
CGRect bounds = view.bounds;
|
CGRect bounds = view.bounds;
|
||||||
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;
|
||||||
[window addSubview:view];
|
if (!window) {
|
||||||
[window makeKeyAndVisible];
|
window = [[UIApplication sharedApplication] fb_strictKeyWindow];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!view.window && view != window) {
|
||||||
|
[window addSubview:view];
|
||||||
|
removeFromSuperview = YES;
|
||||||
|
}
|
||||||
|
|
||||||
UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
|
UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
|
||||||
[view layoutIfNeeded];
|
[view layoutIfNeeded];
|
||||||
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
|
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
|
||||||
|
|
||||||
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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,15 +9,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
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.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR)
|
||||||
var error: NSError?
|
var error: NSError?
|
||||||
var comparisonSuccess = false
|
var comparisonSuccess = false
|
||||||
@ -27,7 +27,7 @@ public extension FBSnapshotTestCase {
|
|||||||
let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
|
let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
|
||||||
if viewOrLayer.isKindOfClass(UIView) {
|
if viewOrLayer.isKindOfClass(UIView) {
|
||||||
do {
|
do {
|
||||||
try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: 0)
|
try compareSnapshotOfView(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
|
||||||
@ -35,7 +35,7 @@ public extension FBSnapshotTestCase {
|
|||||||
}
|
}
|
||||||
} else if viewOrLayer.isKindOfClass(CALayer) {
|
} else if viewOrLayer.isKindOfClass(CALayer) {
|
||||||
do {
|
do {
|
||||||
try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: 0)
|
try compareSnapshotOfLayer(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,7 +58,7 @@ 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)
|
||||||
}
|
}
|
||||||
|
|||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
|
||||||
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h
generated
Symbolic link
1
Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
|
||||||
1
Example/Pods/Headers/Private/NSString-Helper/NSString+Helper.h
generated
Symbolic link
1
Example/Pods/Headers/Private/NSString-Helper/NSString+Helper.h
generated
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../../../NSString-Helper/NSString+Helper.h
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "NSString-Helper",
|
"name": "NSString-Helper",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"summary": "NSString-Helper is usefull helper to validate email NSString",
|
"summary": "NSString-Helper is usefull helper to validate email NSString",
|
||||||
"homepage": "https://github.com/giuseppenucifora/NSString-Helper",
|
"homepage": "https://github.com/giuseppenucifora/NSString-Helper",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"git": "https://github.com/giuseppenucifora/NSString-Helper.git",
|
"git": "https://github.com/giuseppenucifora/NSString-Helper.git",
|
||||||
"tag": "1.0.4"
|
"tag": "1.0.5"
|
||||||
},
|
},
|
||||||
"social_media_url": "https://twitter.com/giuseppenuc",
|
"social_media_url": "https://twitter.com/giuseppenuc",
|
||||||
"requires_arc": true,
|
"requires_arc": true,
|
||||||
|
|||||||
20
Example/Pods/Manifest.lock
generated
20
Example/Pods/Manifest.lock
generated
@ -1,10 +1,10 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- FBSnapshotTestCase (2.0.7):
|
- FBSnapshotTestCase (2.1.0):
|
||||||
- FBSnapshotTestCase/SwiftSupport (= 2.0.7)
|
- FBSnapshotTestCase/SwiftSupport (= 2.1.0)
|
||||||
- FBSnapshotTestCase/Core (2.0.7)
|
- FBSnapshotTestCase/Core (2.1.0)
|
||||||
- FBSnapshotTestCase/SwiftSupport (2.0.7):
|
- FBSnapshotTestCase/SwiftSupport (2.1.0):
|
||||||
- FBSnapshotTestCase/Core
|
- FBSnapshotTestCase/Core
|
||||||
- NSString-Helper (1.0.4)
|
- NSString-Helper (1.0.5)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- FBSnapshotTestCase
|
- FBSnapshotTestCase
|
||||||
@ -12,12 +12,10 @@ DEPENDENCIES:
|
|||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
NSString-Helper:
|
NSString-Helper:
|
||||||
:path: "../"
|
:path: ../
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547
|
FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
|
||||||
NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d
|
NSString-Helper: 459e1b6a62b3bf7db10f01b0d102548608e945c4
|
||||||
|
|
||||||
PODFILE CHECKSUM: e67014022580f35ad77ccf44e27b78e05236d79c
|
COCOAPODS: 0.39.0
|
||||||
|
|
||||||
COCOAPODS: 1.0.0.beta.6
|
|
||||||
|
|||||||
3378
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
3378
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@ -14,10 +14,10 @@
|
|||||||
buildForArchiving = "YES">
|
buildForArchiving = "YES">
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = 'primary'
|
BuildableIdentifier = 'primary'
|
||||||
BlueprintIdentifier = '933814502F34C61F1CE931BDE5926FE2'
|
BlueprintIdentifier = '396F09A7332B19101DE9B640'
|
||||||
BlueprintName = 'NSString-Helper'
|
BlueprintName = 'NSString-Helper'
|
||||||
ReferencedContainer = 'container:Pods.xcodeproj'
|
ReferencedContainer = 'container:Pods.xcodeproj'
|
||||||
BuildableName = 'NSString-Helper.framework'>
|
BuildableName = 'NSString_Helper.framework'>
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
|||||||
@ -1,11 +1,8 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_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/Private/FBSnapshotTestCase" "${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_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
SKIP_INSTALL = YES
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
|
||||||
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>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
@ -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.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -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>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.0.4</string>
|
<string>1.0.5</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -1,7 +1,4 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_SHARED_BUILD_DIR/NSString-Helper
|
|
||||||
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/Private/NSString-Helper" "${PODS_ROOT}/Headers/Public"
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
PODS_SHARED_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
SKIP_INSTALL = YES
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
|
||||||
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>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
|
|||||||
@ -23,4 +23,4 @@ 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.
|
||||||
|
|
||||||
Generated by CocoaPods - https://cocoapods.org
|
Generated by CocoaPods - http://cocoapods.org
|
||||||
|
|||||||
@ -41,7 +41,7 @@ THE SOFTWARE.
|
|||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
<string>Generated by CocoaPods - http://cocoapods.org</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -16,7 +16,7 @@ install_framework()
|
|||||||
local source="$1"
|
local source="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|
||||||
if [ -L "${source}" ]; then
|
if [ -L "${source}" ]; then
|
||||||
echo "Symlinked..."
|
echo "Symlinked..."
|
||||||
@ -84,8 +84,8 @@ strip_invalid_archs() {
|
|||||||
|
|
||||||
|
|
||||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/NSString-Helper/NSString_Helper.framework"
|
install_framework "Pods-NSString-Helper_Example/NSString_Helper.framework"
|
||||||
fi
|
fi
|
||||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/NSString-Helper/NSString_Helper.framework"
|
install_framework "Pods-NSString-Helper_Example/NSString_Helper.framework"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -8,21 +8,6 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
|||||||
|
|
||||||
XCASSET_FILES=()
|
XCASSET_FILES=()
|
||||||
|
|
||||||
case "${TARGETED_DEVICE_FAMILY}" in
|
|
||||||
1,2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
realpath() {
|
realpath() {
|
||||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
||||||
FILENAME="${1##*/}"
|
FILENAME="${1##*/}"
|
||||||
@ -31,51 +16,44 @@ realpath() {
|
|||||||
|
|
||||||
install_resource()
|
install_resource()
|
||||||
{
|
{
|
||||||
if [[ "$1" = /* ]] ; then
|
case $1 in
|
||||||
RESOURCE_PATH="$1"
|
|
||||||
else
|
|
||||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
|
||||||
fi
|
|
||||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
|
||||||
cat << EOM
|
|
||||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
|
||||||
EOM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
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 --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
|
||||||
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 --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
|
||||||
;;
|
;;
|
||||||
*.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 --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
|
||||||
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 --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
echo "rsync -av $RESOURCE_PATH ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
rsync -av "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_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 \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodeld)
|
*.xcdatamodeld)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd"
|
||||||
;;
|
;;
|
||||||
*.xcmappingmodel)
|
*.xcmappingmodel)
|
||||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\""
|
||||||
xcrun mapc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm"
|
||||||
;;
|
;;
|
||||||
*.xcassets)
|
*.xcassets)
|
||||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1")
|
||||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||||
;;
|
;;
|
||||||
|
/*)
|
||||||
|
echo "$1"
|
||||||
|
echo "$1" >> "$RESOURCES_TO_COPY"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$RESOURCE_PATH"
|
echo "${PODS_ROOT}/$1"
|
||||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -90,6 +68,21 @@ rm -f "$RESOURCES_TO_COPY"
|
|||||||
|
|
||||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||||
then
|
then
|
||||||
|
case "${TARGETED_DEVICE_FAMILY}" in
|
||||||
|
1,2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# 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
|
||||||
@ -98,5 +91,5 @@ then
|
|||||||
fi
|
fi
|
||||||
done <<<"$OTHER_XCASSETS"
|
done <<<"$OTHER_XCASSETS"
|
||||||
|
|
||||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/NSString-Helper"
|
|
||||||
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/NSString-Helper/NSString_Helper.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "NSString_Helper"
|
OTHER_LDFLAGS = $(inherited) -framework "NSString_Helper"
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-NSString-Helper_Example
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
@ -1,6 +1,6 @@
|
|||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/NSString-Helper"
|
|
||||||
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/NSString-Helper/NSString_Helper.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "NSString_Helper"
|
OTHER_LDFLAGS = $(inherited) -framework "NSString_Helper"
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-NSString-Helper_Example
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
@ -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>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
|
|||||||
@ -56,4 +56,4 @@ 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.
|
||||||
|
|
||||||
Generated by CocoaPods - https://cocoapods.org
|
Generated by CocoaPods - http://cocoapods.org
|
||||||
|
|||||||
@ -78,7 +78,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
<string>Generated by CocoaPods - http://cocoapods.org</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -16,7 +16,7 @@ install_framework()
|
|||||||
local source="$1"
|
local source="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|
||||||
if [ -L "${source}" ]; then
|
if [ -L "${source}" ]; then
|
||||||
echo "Symlinked..."
|
echo "Symlinked..."
|
||||||
@ -84,10 +84,10 @@ strip_invalid_archs() {
|
|||||||
|
|
||||||
|
|
||||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/NSString-Helper/NSString_Helper.framework"
|
install_framework "Pods-NSString-Helper_Tests/NSString_Helper.framework"
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
|
install_framework "Pods-NSString-Helper_Tests/FBSnapshotTestCase.framework"
|
||||||
fi
|
fi
|
||||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/NSString-Helper/NSString_Helper.framework"
|
install_framework "Pods-NSString-Helper_Tests/NSString_Helper.framework"
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
|
install_framework "Pods-NSString-Helper_Tests/FBSnapshotTestCase.framework"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -8,21 +8,6 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
|||||||
|
|
||||||
XCASSET_FILES=()
|
XCASSET_FILES=()
|
||||||
|
|
||||||
case "${TARGETED_DEVICE_FAMILY}" in
|
|
||||||
1,2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
realpath() {
|
realpath() {
|
||||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
||||||
FILENAME="${1##*/}"
|
FILENAME="${1##*/}"
|
||||||
@ -31,51 +16,44 @@ realpath() {
|
|||||||
|
|
||||||
install_resource()
|
install_resource()
|
||||||
{
|
{
|
||||||
if [[ "$1" = /* ]] ; then
|
case $1 in
|
||||||
RESOURCE_PATH="$1"
|
|
||||||
else
|
|
||||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
|
||||||
fi
|
|
||||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
|
||||||
cat << EOM
|
|
||||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
|
||||||
EOM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
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 --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
|
||||||
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 --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
|
||||||
;;
|
;;
|
||||||
*.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 --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
|
||||||
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 --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
echo "rsync -av $RESOURCE_PATH ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
rsync -av "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_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 \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom"
|
||||||
;;
|
;;
|
||||||
*.xcdatamodeld)
|
*.xcdatamodeld)
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\""
|
||||||
xcrun momc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd"
|
||||||
;;
|
;;
|
||||||
*.xcmappingmodel)
|
*.xcmappingmodel)
|
||||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\""
|
||||||
xcrun mapc "$RESOURCE_PATH" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm"
|
||||||
;;
|
;;
|
||||||
*.xcassets)
|
*.xcassets)
|
||||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1")
|
||||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||||
;;
|
;;
|
||||||
|
/*)
|
||||||
|
echo "$1"
|
||||||
|
echo "$1" >> "$RESOURCES_TO_COPY"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$RESOURCE_PATH"
|
echo "${PODS_ROOT}/$1"
|
||||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -90,6 +68,21 @@ rm -f "$RESOURCES_TO_COPY"
|
|||||||
|
|
||||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||||
then
|
then
|
||||||
|
case "${TARGETED_DEVICE_FAMILY}" in
|
||||||
|
1,2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# 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
|
||||||
@ -98,5 +91,5 @@ then
|
|||||||
fi
|
fi
|
||||||
done <<<"$OTHER_XCASSETS"
|
done <<<"$OTHER_XCASSETS"
|
||||||
|
|
||||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$CONFIGURATION_BUILD_DIR/NSString-Helper"
|
|
||||||
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/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString-Helper/NSString_Helper.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "NSString_Helper"
|
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "NSString_Helper"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-NSString-Helper_Tests
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
@ -1,8 +1,8 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase" "$CONFIGURATION_BUILD_DIR/NSString-Helper"
|
|
||||||
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/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString-Helper/NSString_Helper.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "NSString_Helper"
|
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "NSString_Helper"
|
||||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-NSString-Helper_Tests
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = "NSString-Helper"
|
s.name = "NSString-Helper"
|
||||||
s.version = "1.0.4"
|
s.version = "1.0.5"
|
||||||
s.summary = "NSString-Helper is usefull helper to validate email NSString"
|
s.summary = "NSString-Helper is usefull helper to validate email NSString"
|
||||||
s.homepage = "https://github.com/giuseppenucifora/NSString-Helper"
|
s.homepage = "https://github.com/giuseppenucifora/NSString-Helper"
|
||||||
s.license = 'MIT'
|
s.license = 'MIT'
|
||||||
|
|||||||
@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
@interface NSString (Helper)
|
@interface NSString (Helper)
|
||||||
|
|
||||||
|
+ (NSString *) getRandString: (int) length;
|
||||||
|
|
||||||
- (BOOL) isValidEmail;
|
- (BOOL) isValidEmail;
|
||||||
|
|
||||||
- (BOOL) isNumeric;
|
- (BOOL) isNumeric;
|
||||||
@ -20,4 +22,12 @@
|
|||||||
|
|
||||||
- (BOOL) isValidTaxCode;
|
- (BOOL) isValidTaxCode;
|
||||||
|
|
||||||
|
- (NSString *) md5;
|
||||||
|
|
||||||
|
- (NSString*) sha1;
|
||||||
|
|
||||||
|
- (NSString*) sha256;
|
||||||
|
|
||||||
|
- (NSString*) sha512;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "NSString+Helper.h"
|
#import "NSString+Helper.h"
|
||||||
|
#import <CommonCrypto/CommonDigest.h>
|
||||||
|
|
||||||
@implementation NSString (Helper)
|
@implementation NSString (Helper)
|
||||||
|
|
||||||
@ -58,4 +59,84 @@
|
|||||||
return [urlTest evaluateWithObject:self];
|
return [urlTest evaluateWithObject:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark - Random String Method
|
||||||
|
|
||||||
|
+ (NSString *) getRandString: (int) length {
|
||||||
|
|
||||||
|
NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||||
|
|
||||||
|
NSMutableString *randomString = [NSMutableString stringWithCapacity: length];
|
||||||
|
|
||||||
|
for (int i=0; i<length; i++) {
|
||||||
|
[randomString appendFormat: @"%C", [letters characterAtIndex: arc4random() % [letters length]]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return randomString;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) md5 {
|
||||||
|
const char *cStr = [self UTF8String];
|
||||||
|
unsigned char digest[16];
|
||||||
|
CC_MD5( cStr, (CC_LONG)strlen(cStr), digest ); // This is the md5 call
|
||||||
|
|
||||||
|
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
|
||||||
|
|
||||||
|
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
|
||||||
|
[output appendFormat:@"%02x", digest[i]];
|
||||||
|
|
||||||
|
return output;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*) sha1 {
|
||||||
|
|
||||||
|
const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding];
|
||||||
|
|
||||||
|
NSData *data = [NSData dataWithBytes:cstr length:self.length];
|
||||||
|
|
||||||
|
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
|
||||||
|
|
||||||
|
CC_SHA1(data.bytes, (CC_LONG)data.length, digest);
|
||||||
|
|
||||||
|
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
|
||||||
|
|
||||||
|
for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
|
||||||
|
[output appendFormat:@"%02x", digest[i]];
|
||||||
|
|
||||||
|
return output;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*) sha256 {
|
||||||
|
|
||||||
|
const char *s=[self cStringUsingEncoding:NSASCIIStringEncoding];
|
||||||
|
NSData *keyData=[NSData dataWithBytes:s length:strlen(s)];
|
||||||
|
|
||||||
|
uint8_t digest[CC_SHA256_DIGEST_LENGTH]={0};
|
||||||
|
CC_SHA256(keyData.bytes, (CC_LONG)keyData.length, digest);
|
||||||
|
NSData *out=[NSData dataWithBytes:digest length:CC_SHA256_DIGEST_LENGTH];
|
||||||
|
NSString *hash=[out description];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*) sha512 {
|
||||||
|
|
||||||
|
const char *s=[self cStringUsingEncoding:NSASCIIStringEncoding];
|
||||||
|
NSData *keyData=[NSData dataWithBytes:s length:strlen(s)];
|
||||||
|
|
||||||
|
uint8_t digest[CC_SHA512_DIGEST_LENGTH]={0};
|
||||||
|
CC_SHA512(keyData.bytes, (CC_LONG)keyData.length, digest);
|
||||||
|
NSData *out=[NSData dataWithBytes:digest length:CC_SHA512_DIGEST_LENGTH];
|
||||||
|
NSString *hash=[out description];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
|
||||||
|
hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user