Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 399036b

Browse files
committed
[image_picker] Define clang module for iOS
1 parent 6070d19 commit 399036b

13 files changed

Lines changed: 187 additions & 90 deletions

packages/image_picker/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.6.1+6
2+
3+
* Define clang module for iOS
4+
15
## 0.6.1+5
26

37
* Update and migrate iOS example project.

packages/image_picker/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
9FC8F0EC229FA68500C8D58F /* gifImage.gif in Resources */ = {isa = PBXBuildFile; fileRef = 9FC8F0E8229FA49E00C8D58F /* gifImage.gif */; };
2727
9FC8F0EE229FB90B00C8D58F /* ImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FC8F0ED229FB90B00C8D58F /* ImageUtilTests.m */; };
2828
F4F7A436CCA4BF276270A3AE /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EC32F6993F4529982D9519F1 /* libPods-Runner.a */; };
29+
F78AF3192342D9D7008449C7 /* ImagePickerTestImages.m in Sources */ = {isa = PBXBuildFile; fileRef = F78AF3182342D9D7008449C7 /* ImagePickerTestImages.m */; };
2930
/* End PBXBuildFile section */
3031

3132
/* Begin PBXContainerItemProxy section */
@@ -61,11 +62,11 @@
6162
5C9513001EC38BD300040975 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
6263
680049172280D368006DD6AB /* image_picker_exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = image_picker_exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
6364
6800491B2280D368006DD6AB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
64-
680049252280D736006DD6AB /* MetaDataUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MetaDataUtilTests.m; sourceTree = "<group>"; };
65+
680049252280D736006DD6AB /* MetaDataUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MetaDataUtilTests.m; path = ../../../ios/Tests/MetaDataUtilTests.m; sourceTree = "<group>"; };
6566
680049352280F2B8006DD6AB /* pngImage.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pngImage.png; sourceTree = "<group>"; };
6667
680049362280F2B8006DD6AB /* jpgImage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = jpgImage.jpg; sourceTree = "<group>"; };
6768
6801632E632668F4349764C9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
68-
68F4B463228B3AB500C25614 /* PhotoAssetUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PhotoAssetUtilTests.m; sourceTree = "<group>"; };
69+
68F4B463228B3AB500C25614 /* PhotoAssetUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PhotoAssetUtilTests.m; path = ../../../ios/Tests/PhotoAssetUtilTests.m; sourceTree = "<group>"; };
6970
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
7071
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
7172
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -79,8 +80,10 @@
7980
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
8081
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8182
9FC8F0E8229FA49E00C8D58F /* gifImage.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = gifImage.gif; sourceTree = "<group>"; };
82-
9FC8F0ED229FB90B00C8D58F /* ImageUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ImageUtilTests.m; sourceTree = "<group>"; };
83+
9FC8F0ED229FB90B00C8D58F /* ImageUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ImageUtilTests.m; path = ../../../ios/Tests/ImageUtilTests.m; sourceTree = "<group>"; };
8384
EC32F6993F4529982D9519F1 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
85+
F78AF3172342D9D7008449C7 /* ImagePickerTestImages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ImagePickerTestImages.h; path = ../../../ios/Tests/ImagePickerTestImages.h; sourceTree = "<group>"; };
86+
F78AF3182342D9D7008449C7 /* ImagePickerTestImages.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ImagePickerTestImages.m; path = ../../../ios/Tests/ImagePickerTestImages.m; sourceTree = "<group>"; };
8487
/* End PBXFileReference section */
8588

8689
/* Begin PBXFrameworksBuildPhase section */
@@ -111,6 +114,8 @@
111114
9FC8F0ED229FB90B00C8D58F /* ImageUtilTests.m */,
112115
680049252280D736006DD6AB /* MetaDataUtilTests.m */,
113116
68F4B463228B3AB500C25614 /* PhotoAssetUtilTests.m */,
117+
F78AF3172342D9D7008449C7 /* ImagePickerTestImages.h */,
118+
F78AF3182342D9D7008449C7 /* ImagePickerTestImages.m */,
114119
);
115120
path = image_picker_exampleTests;
116121
sourceTree = "<group>";
@@ -383,6 +388,7 @@
383388
buildActionMask = 2147483647;
384389
files = (
385390
9FC8F0EE229FB90B00C8D58F /* ImageUtilTests.m in Sources */,
391+
F78AF3192342D9D7008449C7 /* ImagePickerTestImages.m in Sources */,
386392
680049262280D736006DD6AB /* MetaDataUtilTests.m in Sources */,
387393
68F4B464228B3AB500C25614 /* PhotoAssetUtilTests.m in Sources */,
388394
);
@@ -433,7 +439,6 @@
433439
buildSettings = {
434440
BUNDLE_LOADER = "$(TEST_HOST)";
435441
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
436-
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
437442
CLANG_ENABLE_OBJC_WEAK = YES;
438443
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
439444
CLANG_WARN_COMMA = YES;
@@ -445,17 +450,12 @@
445450
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
446451
CLANG_WARN_STRICT_PROTOTYPES = YES;
447452
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
448-
CODE_SIGN_IDENTITY = "iPhone Developer";
449-
CODE_SIGN_STYLE = Automatic;
450-
GCC_C_LANGUAGE_STANDARD = gnu11;
451453
INFOPLIST_FILE = image_picker_exampleTests/Info.plist;
452-
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
453454
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
454455
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
455456
MTL_FAST_MATH = YES;
456457
PRODUCT_BUNDLE_IDENTIFIER = "com.google.transformTest.image-picker-exampleTests";
457458
PRODUCT_NAME = "$(TARGET_NAME)";
458-
TARGETED_DEVICE_FAMILY = "1,2";
459459
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner";
460460
};
461461
name = Debug;
@@ -465,7 +465,6 @@
465465
buildSettings = {
466466
BUNDLE_LOADER = "$(TEST_HOST)";
467467
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
468-
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
469468
CLANG_ENABLE_OBJC_WEAK = YES;
470469
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
471470
CLANG_WARN_COMMA = YES;
@@ -477,16 +476,11 @@
477476
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
478477
CLANG_WARN_STRICT_PROTOTYPES = YES;
479478
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
480-
CODE_SIGN_IDENTITY = "iPhone Developer";
481-
CODE_SIGN_STYLE = Automatic;
482-
GCC_C_LANGUAGE_STANDARD = gnu11;
483479
INFOPLIST_FILE = image_picker_exampleTests/Info.plist;
484-
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
485480
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
486481
MTL_FAST_MATH = YES;
487482
PRODUCT_BUNDLE_IDENTIFIER = "com.google.transformTest.image-picker-exampleTests";
488483
PRODUCT_NAME = "$(TARGET_NAME)";
489-
TARGETED_DEVICE_FAMILY = "1,2";
490484
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/Runner";
491485
};
492486
name = Release;
@@ -604,7 +598,6 @@
604598
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
605599
buildSettings = {
606600
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
607-
DEVELOPMENT_TEAM = "";
608601
ENABLE_BITCODE = NO;
609602
FRAMEWORK_SEARCH_PATHS = (
610603
"$(inherited)",
@@ -626,7 +619,6 @@
626619
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
627620
buildSettings = {
628621
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
629-
DEVELOPMENT_TEAM = "";
630622
ENABLE_BITCODE = NO;
631623
FRAMEWORK_SEARCH_PATHS = (
632624
"$(inherited)",

packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ + (GIFInfo *)scaledGIFImage:(NSData *)data
107107
NSDictionary *gifProperties = properties[(NSString *)kCGImagePropertyGIFDictionary];
108108

109109
NSNumber *delay = gifProperties[(NSString *)kCGImagePropertyGIFUnclampedDelayTime];
110-
if (!delay) {
110+
if (delay == nil) {
111111
delay = gifProperties[(NSString *)kCGImagePropertyGIFDelayTime];
112112
}
113113

packages/image_picker/ios/Classes/FLTImagePickerMetaDataUtil.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ extern const FLTImagePickerMIMEType kFLTImagePickerMIMETypeDefault;
2323
+ (FLTImagePickerMIMEType)getImageMIMETypeFromImageData:(NSData *)imageData;
2424

2525
// Get corresponding surfix from type.
26-
+ (NSString *)imageTypeSuffixFromType:(FLTImagePickerMIMEType)type;
26+
+ (nullable NSString *)imageTypeSuffixFromType:(FLTImagePickerMIMEType)type;
2727

2828
+ (NSDictionary *)getMetaDataFromImageData:(NSData *)imageData;
2929

packages/image_picker/ios/Classes/FLTImagePickerMetaDataUtil.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ + (NSData *)convertImage:(UIImage *)image
7171

7272
switch (type) {
7373
case FLTImagePickerMIMETypeJPEG: {
74-
CGFloat qualityFloat = quality ? quality.floatValue : 1;
74+
CGFloat qualityFloat = (quality != nil) ? quality.floatValue : 1;
7575
return UIImageJPEGRepresentation(image, qualityFloat);
7676
}
7777
case FLTImagePickerMIMETypePNG:
7878
return UIImagePNGRepresentation(image);
7979
default: {
8080
// converts to JPEG by default.
81-
CGFloat qualityFloat = quality ? quality.floatValue : 1;
81+
CGFloat qualityFloat = (quality != nil) ? quality.floatValue : 1;
8282
return UIImageJPEGRepresentation(image, qualityFloat);
8383
}
8484
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2019 The Chromium Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
@import Foundation;
6+
7+
NS_ASSUME_NONNULL_BEGIN
8+
9+
@interface ImagePickerTestImages : NSObject
10+
11+
@property (class, copy, readonly) NSData *JPGTestData;
12+
@property (class, copy, readonly) NSData *PNGTestData;
13+
@property (class, copy, readonly) NSData *GIFTestData;
14+
15+
@end
16+
17+
NS_ASSUME_NONNULL_END
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
// Copyright 2019 The Chromium Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
#import "ImagePickerTestImages.h"
6+
7+
@implementation ImagePickerTestImages
8+
9+
+ (NSData*)JPGTestData {
10+
NSBundle* bundle = [NSBundle bundleForClass:self];
11+
NSURL* url = [bundle URLForResource:@"jpgImage" withExtension:@"jpg"];
12+
NSData* data = [NSData dataWithContentsOfURL:url];
13+
if (!data.length) {
14+
// When the tests are run outside the example project (podspec lint) the image may not be
15+
// embedded in the test bundle. Fall back to the base64 string representation of the jpg.
16+
data = [[NSData alloc] initWithBase64EncodedString:
17+
@"/9j/4AAQSkZJRgABAQAALgAuAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABA"
18+
"AAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAAuAAAAAQAAAC4AAAABAAOg"
19+
"AQADAAAAAQABAACgAgAEAAAAAQAAAAygAwAEAAAAAQAAAAcAAAAA/+EJc2h0dHA6Ly9ucy5hZG9iZS5jb20"
20+
"veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz"
21+
"4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiP"
22+
"iA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucy"
23+
"MiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZ"
24+
"G9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHBob3Rvc2hvcDpDcmVkaXQ9IsKpIEdvb2dsZSIvPiA8L3JkZjpSR"
25+
"EY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
26+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
27+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
28+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
29+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
30+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
31+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
32+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
33+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
34+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
35+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
36+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
37+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
38+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
39+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
40+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
41+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
42+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
43+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
44+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
45+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
46+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
47+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
48+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
49+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
50+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
51+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
52+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
53+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
54+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
55+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
56+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI"
57+
"CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9In"
58+
"ciPz4A/+0AVlBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAdHAFaAAMbJUccAgAAAgACHAJuAAnCqSBHb29nbG"
59+
"UAOEJJTQQlAAAAAAAQmkt2IF3PgNJVMGnV2zijEf/AABEIAAcADAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQA"
60+
"AAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQ"
61+
"gjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h"
62+
"5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp"
63+
"6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAAB"
64+
"AncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0R"
65+
"FRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tr"
66+
"e4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAQDAwMDAgQDAwMEBAQFBgoGBg"
67+
"UFBgwICQcKDgwPDg4MDQ0PERYTDxAVEQ0NExoTFRcYGRkZDxIbHRsYHRYYGRj/2wBDAQQEBAYFBgsGBgsYEA0Q"
68+
"GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBj/3QAEAAH/2gAMAwEAAh"
69+
"EDEQA/AMWiiivzk/qo/9k=" options:0];
70+
}
71+
return data;
72+
}
73+
74+
+ (NSData*)PNGTestData {
75+
NSBundle* bundle = [NSBundle bundleForClass:self];
76+
NSURL* url = [bundle URLForResource:@"pngImage" withExtension:@"png"];
77+
NSData* data = [NSData dataWithContentsOfURL:url];
78+
if (!data.length) {
79+
// When the tests are run outside the example project (podspec lint) the image may not be
80+
// embedded in the test bundle. Fall back to the base64 string representation of the png.
81+
data = [[NSData alloc] initWithBase64EncodedString:
82+
@"iVBORw0KGgoAAAAEQ2dCSVAAIAYsuHdmAAAADUlIRFIAAAAMAAAABwgGAAAAPLKsJAAAAARnQU1BAACxj"
83+
"wv8YQUAAAABc1JHQgCuzhzpAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAJ"
84+
"cEhZcwAABxMAAAcTAc4gDwgAAAAOSURBVGMwdX71nxTMMKqBCAwAsfuEYQAAAABJRU5ErkJggg==" options:0];
85+
}
86+
return data;
87+
88+
}
89+
90+
+ (NSData*)GIFTestData {
91+
NSBundle* bundle = [NSBundle bundleForClass:self];
92+
NSURL* url = [bundle URLForResource:@"gifImage" withExtension:@"gif"];
93+
NSData* data = [NSData dataWithContentsOfURL:url];
94+
if (!data.length) {
95+
// When the tests are run outside the example project (podspec lint) the image may not be
96+
// embedded in the test bundle. Fall back to the base64 string representation of the gif.
97+
data = [[NSData alloc] initWithBase64EncodedString:
98+
@"R0lGODlhDAAHAPAAAOpCNQAAACH5BABkAAAAIf8LTkVUU0NBUEUyLjADAQAAAC""wAAAAADAAHAAACCISP"
99+
"qcvtD1UBACH5BABkAAAALAAAAAAMAAcAhuc/JPA/K+49Ne4+PvA7MrhYHoB+A4N9BYh+BYZ+E4xyG496HZJ"
100+
"8F5J4GaRtE6tsH7tWIr9SK7xVKJl3IKpvI7lrKc1FLc5PLNJILsdTJMFVJsZWJshWIM9XIshWJNBWLd1SK9"
101+
"BUMNFRNOlAI+9CMuNJMetHPnuCAF66F1u8FVu7GV27HGytG3utGH6rHGK1G3WxFWeuIHqlIG60IGi4JTnTDz"
102+
"jZDy/VEy/eFTnVEDzXFxflABfjBRPmBRbnBxPrABvpARntAxLuCBXuCQTyAAb1BgvwACnmDSPpDSLjECPpED"
103+
"HhFFDLGIeAFoiBFoqCF4uCHYWnHJGVJqSNJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
104+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
105+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdWgAIXCjE3PTtAPDUuByQfCzQ4Qj9BPjktBgAcC"
106+
"StJRURGQzYwJyMdDDM6SkhHS0xRCAEgD1IsKikoLzJTDgQlEBQNT05NUBMVBQMmGCEZHhsaEhEiFoEAIfkEAG"
107+
"QAAAAsAAAAAAwABwCFB+8ACewACu0ACe4ACO8AC+4ACu8ADOwAD+wAEOYAEekAA/EABfAAB/IAAfUAA/UAAP"
108+
"cAAfcAAvYAA/cBBPQABfUABvQAB/UBBvYBCfAACPEAC/AACvIACvMBAPgAAPkAAPgBAPkBAvgBAPoAAPoBA"
109+
"PsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
110+
"AAAAAAAAAAAAAAAAAAAAAAAABkfAAadjeUxEEYnk8QBoLhUHCASJJCWLyiTiIZFG3lAoO4F4SiUwScywYCQQ8S"
111+
"cEEokCG06D8pA4mBUWCQoIBwIGGQQGBgUFQQA7" options:0];
112+
}
113+
return data;
114+
115+
}
116+
117+
@end

0 commit comments

Comments
 (0)