Merge branch 'new_develop' into develop

This commit is contained in:
giuseppenuc committed 2016-04-04 17:39:12 +02:00
commit 143d532745
112 files changed
+7893 -2449

No files matched your search

+13 -14
View File
@@ -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.0):
- FBSnapshotTestCase/Core (2.0.7) - FBSnapshotTestCase/SwiftSupport (= 2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.0.7): - FBSnapshotTestCase/Core (2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.1.0):
- FBSnapshotTestCase/Core - FBSnapshotTestCase/Core
- GradientButton (0.1.0) - GradientButton (0.1.4)
- PureLayout (3.0.1) - PureLayout (3.0.1)
- Specta (1.0.5) - Specta (1.0.5)
@@ -22,16 +23,14 @@ DEPENDENCIES:
EXTERNAL SOURCES: EXTERNAL SOURCES:
GradientButton: GradientButton:
:path: "../" :path: ../
SPEC CHECKSUMS: SPEC CHECKSUMS:
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
Expecta+Snapshots: 29b38dd695bc72a0ed2bea833937d78df41943ba Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547 FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
GradientButton: a7372818b72063640a0b834938032cf3df2cea47 GradientButton: 44bc0921357db40e4860b3e6af5d1fe54078e800
PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
PODFILE CHECKSUM: 630dfff3704fb33c3f204e868047b8f07051d5ba COCOAPODS: 0.39.0
COCOAPODS: 1.0.0.beta.2
@@ -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"
+22 -57
View File
@@ -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];
} }
@@ -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
@@ -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)
} }
@@ -0,0 +1 @@
../../../Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
@@ -0,0 +1 @@
../../../Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPBlockDefinedMatcher.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPDefines.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPDoubleTuple.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPExpect.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPFloatTuple.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPMatcher.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+match.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Matchers/EXPMatchers.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/EXPUnsupportedObject.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/Expecta.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/ExpectaObject.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/ExpectaSupport.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/NSObject+Expecta.h
+1
View File
@@ -0,0 +1 @@
../../../Expecta/Expecta/NSValue+Expecta.h
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
+1
View File
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
+1
View File
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
+1
View File
@@ -0,0 +1 @@
../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
+1
View File
@@ -0,0 +1 @@
../../../../../Pod/Classes/GradientButton.h
+1
View File
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/ALView+PureLayout.h
+1
View File
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h
+1
View File
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/PureLayout+Internal.h
+1
View File
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/PureLayout.h
+1
View File
@@ -0,0 +1 @@
../../../PureLayout/PureLayout/PureLayout/PureLayoutDefines.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTCallSite.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTCompiledExample.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTExample.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTExampleGroup.h
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTSharedExampleGroups.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTSpec.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SPTTestSuite.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/Specta.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SpectaDSL.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SpectaTypes.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/SpectaUtility.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/XCTest+Private.h
+1
View File
@@ -0,0 +1 @@
../../../Specta/Specta/Specta/XCTestCase+Specta.h
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "GradientButton", "name": "GradientButton",
"version": "0.1.0", "version": "0.1.4",
"summary": "GradientButton is a UIBUtton subclassing with gradient support", "summary": "GradientButton is a UIBUtton subclassing with gradient support",
"homepage": "https://github.com/giuseppenucifora/GradientButton", "homepage": "https://github.com/giuseppenucifora/GradientButton",
"license": "MIT", "license": "MIT",
@@ -9,7 +9,7 @@
}, },
"source": { "source": {
"git": "https://github.com/giuseppenucifora/GradientButton.git", "git": "https://github.com/giuseppenucifora/GradientButton.git",
"tag": "0.1.0" "tag": "0.1.4"
}, },
"platforms": { "platforms": {
"ios": "7.0" "ios": "7.0"
+13 -14
View File
@@ -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.0):
- FBSnapshotTestCase/Core (2.0.7) - FBSnapshotTestCase/SwiftSupport (= 2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.0.7): - FBSnapshotTestCase/Core (2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.1.0):
- FBSnapshotTestCase/Core - FBSnapshotTestCase/Core
- GradientButton (0.1.0) - GradientButton (0.1.4)
- PureLayout (3.0.1) - PureLayout (3.0.1)
- Specta (1.0.5) - Specta (1.0.5)
@@ -22,16 +23,14 @@ DEPENDENCIES:
EXTERNAL SOURCES: EXTERNAL SOURCES:
GradientButton: GradientButton:
:path: "../" :path: ../
SPEC CHECKSUMS: SPEC CHECKSUMS:
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
Expecta+Snapshots: 29b38dd695bc72a0ed2bea833937d78df41943ba Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547 FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
GradientButton: a7372818b72063640a0b834938032cf3df2cea47 GradientButton: 44bc0921357db40e4860b3e6af5d1fe54078e800
PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
PODFILE CHECKSUM: 630dfff3704fb33c3f204e868047b8f07051d5ba COCOAPODS: 0.39.0
COCOAPODS: 1.0.0.beta.2
+7559 -2169
View File
File diff suppressed because it is too large. Load diff
@@ -14,7 +14,7 @@
buildForArchiving = "YES"> buildForArchiving = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = 'primary' BuildableIdentifier = 'primary'
BlueprintIdentifier = '2DC32BF704B6802BAA6DA3B9' BlueprintIdentifier = '71AFE04B13EC9CD3D9995CD6'
BlueprintName = 'GradientButton' BlueprintName = 'GradientButton'
ReferencedContainer = 'container:Pods.xcodeproj' ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'GradientButton.framework'> BuildableName = 'GradientButton.framework'>
@@ -1,7 +1,6 @@
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/Expecta+Snapshots" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
PODS_ROOT = ${SRCROOT} PODS_ROOT = ${SRCROOT}
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>${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.0</string> <string>3.0.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
+2 -3
View File
@@ -1,8 +1,7 @@
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/Expecta" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
PODS_ROOT = ${SRCROOT} PODS_ROOT = ${SRCROOT}
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES
SKIP_INSTALL = YES
+1 -1
View File
@@ -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>
@@ -1,9 +1,8 @@
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}
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>${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>
@@ -1,6 +1,5 @@
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/GradientButton" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "QuartzCore" OTHER_LDFLAGS = -framework "QuartzCore"
PODS_ROOT = ${SRCROOT} PODS_ROOT = ${SRCROOT}
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES
SKIP_INSTALL = YES
+20 -20
View File
@@ -2,25 +2,25 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>en</string> <string>en</string>
<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>
<string>${PRODUCT_NAME}</string> <string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.1.1</string> <string>0.1.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string> <string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>
<string></string> <string></string>
</dict> </dict>
</plist> </plist>
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -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>
@@ -36,4 +36,4 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 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 THE SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 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 THE SOFTWARE.
Generated by CocoaPods - https://cocoapods.org Generated by CocoaPods - http://cocoapods.org
@@ -58,7 +58,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
</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,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}" 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}" 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
} }
@@ -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
@@ -3,4 +3,4 @@ LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_pa
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods
@@ -3,4 +3,4 @@ LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_pa
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods
Loaded 100 of 112 files, more files were not shown because too many files have changed in this diff. Show more