Skip to content

Commit 8b3eff1

Browse files
authored
Update to v2.12.0 (#40)
* Update to v2.12.0 - Fix bug in Fetch Helper related to view hide/show - Update global config defaults for memory cache sizes - Add HEIC/AVCI support (when available on the device) * update build for travis ci (Note: Travis CI virtual boxes do not have the resources to run the unit tests anymore.)
1 parent ebcca85 commit 8b3eff1

25 files changed

+289
-70
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
language: objective-c
2-
osx_image: xcode10
2+
osx_image: xcode10.1
33
script:
44
./build.sh

CHANGELOG.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,27 @@
22

33
## Info
44

5-
**Document version:** 2.11.0
5+
**Document version:** 2.12.0
66

7-
**Last updated:** 09/03/2018
7+
**Last updated:** 12/18/2018
88

99
**Author:** Nolan O'Brien
1010

1111
## History
1212

13+
### 2.12.0
14+
15+
- Add `TIPImageTypeHEIC` and `TIPImageTypeAVCI` support
16+
- There are OS version limitations, see `TIPImageTypes.h` for details
17+
18+
### 2.11.1
19+
20+
- Update defaults in `TIPGlobalConfiguration` for cache sizes
21+
- `TIPMaxBytesForAllRenderedCachesDefault` and `TIPMaxBytesForAllMemoryCachesDefault`
22+
- the lesser of `System RAM / 12` or `160 MBs`
23+
- `TIPMaxCountForAllRenderedCachesDefault` and `TIPMaxCountForAllMemoryCachesDefault`
24+
- default cap to `255` instead of `511`
25+
1326
### 2.11.0
1427

1528
- add support for animated images with `TIPImageViewFetchHelper` by supporting `TIPImageContainer` as well as `UIImage`

ImageSpeedComparison/ViewController.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
{ @"public.tiff", "TIFF", "twitterfied.tiff", NO, NO },
3030
{ @"com.compuserve.gif", "GIF", "fireworks_original.gif", NO, YES },
3131
{ @"com.google.webp", "WEBP", "twitterfied.webp", NO, NO },
32+
{ @"public.heic", "HEIC", "twitterfied.heic", NO, NO },
3233
{ @"public.jpeg", "Small-PJPEG", "twitterfied.small.pjpg", YES, NO },
3334
};
3435

@@ -391,8 +392,8 @@ - (NSString *)tip_transformerIdentifier
391392

392393
//- (NSDictionary *)progressiveLoadingPolicies
393394
//{
394-
// if ([sImageTypes[_imageTypeIndex].type isEqualToString:TIPImageTypeJPEG2000] || [sImageTypes[_imageTypeIndex].type isEqualToString:TIPImageTypePNG]) {
395-
// if (sImageTypes[_imageTypeIndex].isProgressive) {
395+
// if (sImageTypes[_imageTypeIndex].isProgressive) {
396+
// if (![sImageTypes[_imageTypeIndex].type isEqualToString:TIPImageTypeJPEG]) {
396397
// return @{ sImageTypes[_imageTypeIndex].type : [[TIPGreedyProgressiveLoadingPolicy alloc] init] };
397398
// }
398399
// }

ImageSpeedComparison/twitterfied.heic

103 KB
Binary file not shown.
1.58 MB
Binary file not shown.
103 KB
Binary file not shown.

TwitterImagePipeline.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = 'TwitterImagePipeline'
3-
s.version = '2.11.0'
4-
s.compiler_flags = '-DTIP_PROJECT_VERSION=2.11.0'
3+
s.version = '2.12.0'
4+
s.compiler_flags = '-DTIP_PROJECT_VERSION=2.12.0'
55
s.summary = 'Twitter Image Pipeline is a robust and performant image loading and caching framework for iOS'
66
s.description = 'Twitter created a framework for image loading/caching in order to fulfill the numerous needs of Twitter for iOS including being fast, safe, modular and versatile.'
77
s.homepage = 'https://github.com/twitter/ios-twitter-image-pipeline'

TwitterImagePipeline.xcodeproj/project.pbxproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
8B5CFE3E1D3820CA00860D40 /* TIPError.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5CFE3C1D3820CA00860D40 /* TIPError.h */; settings = {ATTRIBUTES = (Public, ); }; };
8282
8B5CFE421D38246500860D40 /* TIPFileUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5CFE401D38246500860D40 /* TIPFileUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
8383
8B5CFE431D38246500860D40 /* TIPFileUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B5CFE411D38246500860D40 /* TIPFileUtils.m */; };
84+
8B62B66D21C313D300A1E4E4 /* twitterfied.heic in Resources */ = {isa = PBXBuildFile; fileRef = 8B62B66C21C313D300A1E4E4 /* twitterfied.heic */; };
8485
8B6301831E68F9B400C9A86A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B6301821E68F9B400C9A86A /* AppDelegate.swift */; };
8586
8B63018C1E68F9B400C9A86A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8B63018B1E68F9B400C9A86A /* Assets.xcassets */; };
8687
8B63018F1E68F9B400C9A86A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B63018D1E68F9B400C9A86A /* LaunchScreen.storyboard */; };
@@ -518,6 +519,7 @@
518519
8B5CFE3C1D3820CA00860D40 /* TIPError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TIPError.h; sourceTree = "<group>"; };
519520
8B5CFE401D38246500860D40 /* TIPFileUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TIPFileUtils.h; sourceTree = "<group>"; };
520521
8B5CFE411D38246500860D40 /* TIPFileUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TIPFileUtils.m; sourceTree = "<group>"; };
522+
8B62B66C21C313D300A1E4E4 /* twitterfied.heic */ = {isa = PBXFileReference; lastKnownFileType = file; path = twitterfied.heic; sourceTree = "<group>"; };
521523
8B6301801E68F9B400C9A86A /* TIP Swift Sample App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "TIP Swift Sample App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
522524
8B6301821E68F9B400C9A86A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
523525
8B63018B1E68F9B400C9A86A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -969,6 +971,7 @@
969971
8B7695091D4824B9009091B5 /* interlace.png */,
970972
8BE31C871B9A1BF5009BC0B2 /* main.m */,
971973
8B76950A1D4824B9009091B5 /* no-interlace.png */,
974+
8B62B66C21C313D300A1E4E4 /* twitterfied.heic */,
972975
8BE31CAE1B9A276F009BC0B2 /* twitterfied.jp2 */,
973976
8BE31CAF1B9A276F009BC0B2 /* twitterfied.jpg */,
974977
8BE31CB01B9A276F009BC0B2 /* twitterfied.pjpg */,
@@ -1639,6 +1642,7 @@
16391642
files = (
16401643
8B7695131D482A3A009091B5 /* interlace.png in Resources */,
16411644
8BAD1A271BBAFC44003395F3 /* twitterfied.RPCL.jp2 in Resources */,
1645+
8B62B66D21C313D300A1E4E4 /* twitterfied.heic in Resources */,
16421646
8B3B079B1DFE56B800174F40 /* twitterfied.tiff in Resources */,
16431647
8B3B079D1DFE59EE00174F40 /* fireworks_original.gif in Resources */,
16441648
8BE31CB31B9A276F009BC0B2 /* twitterfied.pjpg in Resources */,
@@ -2071,6 +2075,7 @@
20712075
CLANG_CXX_LIBRARY = "libc++";
20722076
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
20732077
CLANG_WARN_SUSPICIOUS_MOVES = YES;
2078+
CODE_SIGN_IDENTITY = "";
20742079
DEBUG_INFORMATION_FORMAT = dwarf;
20752080
DEFINES_MODULE = YES;
20762081
DYLIB_INSTALL_NAME_BASE = "@rpath";
@@ -2097,6 +2102,7 @@
20972102
CLANG_CXX_LIBRARY = "libc++";
20982103
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
20992104
CLANG_WARN_SUSPICIOUS_MOVES = YES;
2105+
CODE_SIGN_IDENTITY = "";
21002106
COPY_PHASE_STRIP = NO;
21012107
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
21022108
DEFINES_MODULE = YES;
@@ -2119,6 +2125,7 @@
21192125
isa = XCBuildConfiguration;
21202126
buildSettings = {
21212127
CLANG_ANALYZER_NONNULL = YES;
2128+
CODE_SIGN_IDENTITY = "";
21222129
DEBUG_INFORMATION_FORMAT = dwarf;
21232130
DEFINES_MODULE = YES;
21242131
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -2147,6 +2154,7 @@
21472154
isa = XCBuildConfiguration;
21482155
buildSettings = {
21492156
CLANG_ANALYZER_NONNULL = YES;
2157+
CODE_SIGN_IDENTITY = "";
21502158
COPY_PHASE_STRIP = NO;
21512159
DEBUG_INFORMATION_FORMAT = dwarf;
21522160
DEFINES_MODULE = YES;
@@ -2419,7 +2427,7 @@
24192427
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
24202428
CODE_SIGN_STYLE = Manual;
24212429
COPY_PHASE_STRIP = NO;
2422-
CURRENT_PROJECT_VERSION = 2.11;
2430+
CURRENT_PROJECT_VERSION = 2.12;
24232431
DEAD_CODE_STRIPPING = NO;
24242432
DYLIB_COMPATIBILITY_VERSION = 1;
24252433
DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";
@@ -2490,7 +2498,7 @@
24902498
CLANG_WARN_UNREACHABLE_CODE = YES;
24912499
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
24922500
CODE_SIGN_STYLE = Manual;
2493-
CURRENT_PROJECT_VERSION = 2.11;
2501+
CURRENT_PROJECT_VERSION = 2.12;
24942502
DEAD_CODE_STRIPPING = NO;
24952503
DYLIB_COMPATIBILITY_VERSION = 1;
24962504
DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)";

TwitterImagePipeline/Project/TIPDefaultImageCodecs.m

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,15 @@ + (nullable instancetype)codecWithImageType:(NSString *)imageType
147147
} else {
148148
TIPAssert(nil == decoder);
149149
}
150+
TIPAssert(nil == encoder);
150151
#else
151152
TIPAssert(nil == decoder);
152-
#endif
153153
TIPAssert(nil == encoder);
154+
#endif
155+
} else if ([imageType isEqualToString:TIPImageTypeHEIC]) {
156+
// it's a crapshoot when the encoder/decoder are present or not
157+
} else if ([imageType isEqualToString:TIPImageTypeAVCI]) {
158+
// it's a crapshoot when the encoder/decoder are present or not
154159
}
155160
}
156161
}

TwitterImagePipeline/Project/TIP_Project.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ FOUNDATION_EXTERN NSString *TIPVersion(void);
2323

2424
#pragma mark - Helpers
2525

26+
NS_INLINE BOOL tip_never(void)
27+
{
28+
return NO;
29+
}
30+
2631
FOUNDATION_EXTERN BOOL TIPImageTypeSupportsLossyQuality(NSString * __nullable type);
2732

2833
FOUNDATION_EXTERN void TIPSwizzle(Class cls, SEL originalSelector, SEL swizzledSelector);

0 commit comments

Comments
 (0)