diff --git a/.travis.yml b/.travis.yml index b271819d..719bbebb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ --- language: objective-c +#osx_image: xcode61 before_install: # - brew update diff --git a/Core/Source/DTASN1/DTASN1Parser.m b/Core/Source/DTASN1/DTASN1Parser.m index da43fba4..9cceb48e 100644 --- a/Core/Source/DTASN1/DTASN1Parser.m +++ b/Core/Source/DTASN1/DTASN1Parser.m @@ -314,8 +314,8 @@ - (BOOL)_parseValueWithTag:(NSUInteger)tag dataRange:(NSRange)dataRange case DTASN1TypeTeletexString: case DTASN1TypeGraphicString: case DTASN1TypePrintableString: - case DTASN1TypeUTF8String: - case DTASN1TypeIA5String: + case DTASN1TypeUTF8String: + case DTASN1TypeIA5String: { if (_delegateFlags.delegateSupportsString) { @@ -324,7 +324,17 @@ - (BOOL)_parseValueWithTag:(NSUInteger)tag dataRange:(NSRange)dataRange NSString *string = [[NSString alloc] initWithBytesNoCopy:buffer length:dataRange.length encoding:NSUTF8StringEncoding freeWhenDone:YES]; - [_delegate parser:self foundString:string]; + // FIXME: This does not properly deal with Latin1 strings, those get simply ignored + + if (string) + { + [_delegate parser:self foundString:string]; + } + else + { + free(buffer); + buffer = NULL; + } } break; } diff --git a/Core/Source/DTCoreGraphicsUtils.h b/Core/Source/DTCoreGraphicsUtils.h index 420c8a04..3ecfc1f2 100644 --- a/Core/Source/DTCoreGraphicsUtils.h +++ b/Core/Source/DTCoreGraphicsUtils.h @@ -6,10 +6,17 @@ // Copyright 2010 Cocoanetics. All rights reserved. // +#import + /** Various CoreGraphics-related utility functions */ +/** + Promotes value to CGFloat type. + */ +#define CGFloat_(__x) ((CGFloat) (__x)) + /** Calculates a size that fits an original size into a different size preserving the aspect ratio. */ diff --git a/Core/Source/DTCoreGraphicsUtils.m b/Core/Source/DTCoreGraphicsUtils.m index 4f230dbf..906b3c1e 100644 --- a/Core/Source/DTCoreGraphicsUtils.m +++ b/Core/Source/DTCoreGraphicsUtils.m @@ -15,7 +15,7 @@ CGSize DTCGSizeThatFitsKeepingAspectRatio(CGSize originalSize, CGSize sizeToFit) CGFloat smallerZoom = MIN(necessaryZoomWidth, necessaryZoomHeight); - return CGSizeMake(roundf(originalSize.width*smallerZoom), roundf(originalSize.height*smallerZoom)); + return CGSizeMake(round(originalSize.width*smallerZoom), round(originalSize.height*smallerZoom)); } CGSize DTCGSizeThatFillsKeepingAspectRatio(CGSize originalSize, CGSize sizeToFit) @@ -25,7 +25,7 @@ CGSize DTCGSizeThatFillsKeepingAspectRatio(CGSize originalSize, CGSize sizeToFit CGFloat largerZoom = MAX(necessaryZoomWidth, necessaryZoomHeight); - return CGSizeMake(roundf(originalSize.width*largerZoom), roundf(originalSize.height*largerZoom)); + return CGSizeMake(round(originalSize.width*largerZoom), round(originalSize.height*largerZoom)); } BOOL DTCGSizeMakeWithDictionaryRepresentation(NSDictionary *dict, CGSize *size) @@ -40,8 +40,13 @@ BOOL DTCGSizeMakeWithDictionaryRepresentation(NSDictionary *dict, CGSize *size) if (size) { +#if CGFLOAT_IS_DOUBLE + size->width = [widthNumber doubleValue]; + size->height = [heightNumber doubleValue]; +#else size->width = [widthNumber floatValue]; size->height = [heightNumber floatValue]; +#endif } return YES; @@ -49,8 +54,13 @@ BOOL DTCGSizeMakeWithDictionaryRepresentation(NSDictionary *dict, CGSize *size) NSDictionary *DTCGSizeCreateDictionaryRepresentation(CGSize size) { +#if CGFLOAT_IS_DOUBLE + NSNumber *widthNumber = [NSNumber numberWithDouble:size.width]; + NSNumber *heightNumber = [NSNumber numberWithDouble:size.height]; +#else NSNumber *widthNumber = [NSNumber numberWithFloat:size.width]; NSNumber *heightNumber = [NSNumber numberWithFloat:size.height]; +#endif return [NSDictionary dictionaryWithObjectsAndKeys:widthNumber, @"Width", heightNumber, @"Height", nil]; } @@ -70,10 +80,17 @@ BOOL DTCGRectMakeWithDictionaryRepresentation(NSDictionary *dict, CGRect *rect) if (rect) { +#if CGFLOAT_IS_DOUBLE + rect->origin.x = [xNumber doubleValue]; + rect->origin.y = [yNumber doubleValue]; + rect->size.width = [widthNumber doubleValue]; + rect->size.height = [heightNumber doubleValue]; +#else rect->origin.x = [xNumber floatValue]; rect->origin.y = [yNumber floatValue]; rect->size.width = [widthNumber floatValue]; rect->size.height = [heightNumber floatValue]; +#endif } return YES; @@ -81,10 +98,17 @@ BOOL DTCGRectMakeWithDictionaryRepresentation(NSDictionary *dict, CGRect *rect) NSDictionary *DTCGRectCreateDictionaryRepresentation(CGRect rect) { +#if CGFLOAT_IS_DOUBLE + NSNumber *widthNumber = [NSNumber numberWithDouble:rect.size.width]; + NSNumber *heightNumber = [NSNumber numberWithDouble:rect.size.height]; + NSNumber *xNumber = [NSNumber numberWithDouble:rect.origin.x]; + NSNumber *yNumber = [NSNumber numberWithDouble:rect.origin.y]; +#else NSNumber *widthNumber = [NSNumber numberWithFloat:rect.size.width]; NSNumber *heightNumber = [NSNumber numberWithFloat:rect.size.height]; NSNumber *xNumber = [NSNumber numberWithFloat:rect.origin.x]; NSNumber *yNumber = [NSNumber numberWithFloat:rect.origin.y]; +#endif return [NSDictionary dictionaryWithObjectsAndKeys:widthNumber, @"Width", heightNumber, @"Height", xNumber, @"X", yNumber, @"Y", nil]; } diff --git a/Core/Source/DTHTMLParser/DTHTMLParser.m b/Core/Source/DTHTMLParser/DTHTMLParser.m index 0356c1bf..47089b4b 100644 --- a/Core/Source/DTHTMLParser/DTHTMLParser.m +++ b/Core/Source/DTHTMLParser/DTHTMLParser.m @@ -267,7 +267,7 @@ - (BOOL)parse unsigned long dataSize = [_data length]; // detect encoding if necessary - xmlCharEncoding charEnc = 0; + xmlCharEncoding charEnc = XML_CHAR_ENCODING_NONE; if (!_encoding) { @@ -276,12 +276,20 @@ - (BOOL)parse else { // convert the encoding - // TODO: proper mapping from _encoding to xmlCharEncoding CFStringEncoding cfenc = CFStringConvertNSStringEncodingToEncoding(_encoding); - CFStringRef cfencstr = CFStringConvertEncodingToIANACharSetName(cfenc); - const char *enc = CFStringGetCStringPtr(cfencstr, 0); - charEnc = xmlParseCharEncoding(enc); + if (cfenc != kCFStringEncodingInvalidId) + { + CFStringRef cfencstr = CFStringConvertEncodingToIANACharSetName(cfenc); + + if (cfencstr) + { + NSString *NS_VALID_UNTIL_END_OF_SCOPE encstr = [NSString stringWithString:(__bridge NSString*)cfencstr]; + const char *enc = [encstr UTF8String]; + + charEnc = xmlParseCharEncoding(enc); + } + } } // create a parse context diff --git a/Core/Source/DTZipArchive/DTZipArchiveNode.h b/Core/Source/DTZipArchive/DTZipArchiveNode.h index 96655a43..648eaf6e 100644 --- a/Core/Source/DTZipArchive/DTZipArchiveNode.h +++ b/Core/Source/DTZipArchive/DTZipArchiveNode.h @@ -18,7 +18,7 @@ /** File or directory name */ -@property (nonatomic, strong) NSString *name; +@property (nonatomic, copy) NSString *name; /** Size of file in bytes diff --git a/Core/Source/iOS/DTPieProgressIndicator.h b/Core/Source/iOS/DTPieProgressIndicator.h index efc3c49f..c53b94af 100644 --- a/Core/Source/iOS/DTPieProgressIndicator.h +++ b/Core/Source/iOS/DTPieProgressIndicator.h @@ -15,7 +15,7 @@ /** The progress in percent */ -@property (nonatomic, assign) CGFloat progressPercent; +@property (nonatomic, assign) float progressPercent; /** The color of the pie diff --git a/Core/Source/iOS/DTPieProgressIndicator.m b/Core/Source/iOS/DTPieProgressIndicator.m index 30830aab..fa8005fb 100644 --- a/Core/Source/iOS/DTPieProgressIndicator.m +++ b/Core/Source/iOS/DTPieProgressIndicator.m @@ -7,12 +7,13 @@ // #import "DTPieProgressIndicator.h" +#import "DTCoreGraphicsUtils.h" -#define PIE_SIZE 34.0f +#define PIE_SIZE CGFloat_(34) @implementation DTPieProgressIndicator { - CGFloat _progressPercent; + float _progressPercent; UIColor *_color; } @@ -32,6 +33,13 @@ - (id)initWithFrame:(CGRect)frame return self; } +- (void)awakeFromNib +{ + [super awakeFromNib]; + + self.contentMode = UIViewContentModeRedraw; + self.backgroundColor = [UIColor clearColor]; +} // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. @@ -51,10 +59,10 @@ - (void)drawRect:(CGRect)rect CGContextBeginTransparencyLayer(ctx, NULL); - CGFloat smallerDimension = MIN(self.bounds.size.width-6.0f, self.bounds.size.height-6.0f); - CGRect drawRect = CGRectMake(roundf(CGRectGetMidX(self.bounds)-smallerDimension/2.0f), roundf(CGRectGetMidY(self.bounds)-smallerDimension/2.0f), smallerDimension, smallerDimension); + CGFloat smallerDimension = MIN(self.bounds.size.width-CGFloat_(6), self.bounds.size.height-CGFloat_(6)); + CGRect drawRect = CGRectMake(round(CGRectGetMidX(self.bounds)-smallerDimension/CGFloat_(2)), round(CGRectGetMidY(self.bounds)-smallerDimension/CGFloat_(2)), smallerDimension, smallerDimension); - CGContextSetLineWidth(ctx, 3.0f); + CGContextSetLineWidth(ctx, CGFloat_(3)); CGContextStrokeEllipseInRect(ctx, drawRect); // enough percent to draw @@ -62,10 +70,10 @@ - (void)drawRect:(CGRect)rect { CGPoint center = CGPointMake(CGRectGetMidX(drawRect), CGRectGetMidY(drawRect)); CGFloat radius = center.x - drawRect.origin.x; - CGFloat angle = _progressPercent * 2.0f * M_PI; + CGFloat angle = CGFloat_(_progressPercent) * CGFloat_(2.0 * M_PI); CGContextMoveToPoint(ctx, center.x, center.y); - CGContextAddArc(ctx, center.x, center.y, radius, -M_PI_2, angle-M_PI_2, 0); + CGContextAddArc(ctx, center.x, center.y, radius, CGFloat_(-M_PI_2), angle-CGFloat_(M_PI_2), 0); CGContextAddLineToPoint(ctx, center.x, center.y); CGContextFillPath(ctx); @@ -77,7 +85,7 @@ - (void)drawRect:(CGRect)rect #pragma mark Properties -- (void)setProgressPercent:(CGFloat)progressPercent +- (void)setProgressPercent:(float)progressPercent { if (_progressPercent != progressPercent) { diff --git a/Core/Source/iOS/DTSmartPagingScrollView.m b/Core/Source/iOS/DTSmartPagingScrollView.m index 56971dae..b0edb36f 100644 --- a/Core/Source/iOS/DTSmartPagingScrollView.m +++ b/Core/Source/iOS/DTSmartPagingScrollView.m @@ -7,6 +7,7 @@ // #import "DTSmartPagingScrollView.h" +#import "DTCoreGraphicsUtils.h" #import @interface DTSmartPagingScrollView () @@ -80,7 +81,7 @@ - (void)layoutSubviews - (void)_updateCurrentPage { - NSUInteger newPageIndex = roundf(self.contentOffset.x / self.frame.size.width); + NSUInteger newPageIndex = round(self.contentOffset.x / self.frame.size.width); if (_currentPageIndex != newPageIndex) { @@ -100,8 +101,8 @@ - (NSRange)rangeOfVisiblePages { CGFloat position = self.contentOffset.x / self.bounds.size.width; - NSInteger firstVisibleIndex = MAX(0, floorf(position)); - NSInteger lastVisibleIndex = MIN(ceilf(position), _numberOfPages-1); + NSInteger firstVisibleIndex = MAX(CGFloat_(0), floor(position)); + NSInteger lastVisibleIndex = MIN(ceil(position), CGFloat_(_numberOfPages-1)); // check if right page is really visible CGRect rightFrame = [self frameForPageViewAtIndex:lastVisibleIndex]; @@ -193,14 +194,14 @@ - (CGRect)frameForPageViewAtIndex:(NSUInteger)index CGRect frame = self.bounds; frame.origin.x = index * frame.size.width; - frame = CGRectInset(frame, 10, 0); + frame = CGRectInset(frame, CGFloat_(10), CGFloat_(0)); return frame; } - (void)scrollToPage:(NSInteger)page animated:(BOOL)animated { - CGRect pageRect = CGRectMake(page * self.frame.size.width, 0, self.frame.size.width, self.frame.size.height); + CGRect pageRect = CGRectMake(CGFloat_(page) * self.frame.size.width, CGFloat_(0), self.frame.size.width, self.frame.size.height); [self scrollRectToVisible:pageRect animated:animated]; } diff --git a/Core/Source/iOS/Experimental/DTStripedLayer.m b/Core/Source/iOS/Experimental/DTStripedLayer.m index 0ea3906d..6507c950 100644 --- a/Core/Source/iOS/Experimental/DTStripedLayer.m +++ b/Core/Source/iOS/Experimental/DTStripedLayer.m @@ -8,6 +8,7 @@ #import "DTStripedLayer.h" #import "DTStripedLayerTile.h" +#import "DTCoreGraphicsUtils.h" #import "UIColor+DTDebug.h" @interface DTStripedLayer () // private @@ -37,7 +38,7 @@ - (id)init if (self) { - _stripeHeight = 512.0f; + _stripeHeight = CGFloat_(512); _visibleTileKeys = [[NSMutableSet alloc] init]; _tileCreationQueue = [[NSOperationQueue alloc] init]; _tilesWithDrawingInQueue = [[NSMutableSet alloc] init]; @@ -89,15 +90,23 @@ - (void)setFrame:(CGRect)frame - (NSRange)_rangeOfVisibleStripesInBounds:(CGRect)bounds { - NSUInteger firstIndex = floorf(MAX(0, CGRectGetMinY(bounds))/_stripeHeight); - NSUInteger lastIndex = floorf(MIN(_contentSize.height, CGRectGetMaxY(bounds))/_stripeHeight); + NSInteger firstIndex = floor(MAX(CGFloat_(0), CGRectGetMinY(bounds))/_stripeHeight); + NSInteger lastIndex = floor(MIN(_contentSize.height, CGRectGetMaxY(bounds))/_stripeHeight); - return NSMakeRange(firstIndex, lastIndex - firstIndex + 1); + // validate range length + NSInteger length = lastIndex - firstIndex + 1; + if (length < 0) + { + DTLogDebug(@"length of visible stripes < 0: %ld", (long int)length); + length = 0; + } + + return NSMakeRange(firstIndex, length); } - (CGRect)_frameOfStripeAtIndex:(NSUInteger)index { - CGRect frame = CGRectMake(0, index*_stripeHeight, _contentSize.width, _stripeHeight); + CGRect frame = CGRectMake(0, CGFloat_(index)*_stripeHeight, _contentSize.width, _stripeHeight); // need to crop by total bounds, last item not full height frame = CGRectIntersection(self.bounds, frame); diff --git a/Core/Source/iOS/UIImage+DTFoundation.m b/Core/Source/iOS/UIImage+DTFoundation.m index a84f52bb..2e177217 100644 --- a/Core/Source/iOS/UIImage+DTFoundation.m +++ b/Core/Source/iOS/UIImage+DTFoundation.m @@ -7,6 +7,7 @@ // #import "UIImage+DTFoundation.h" +#import "DTCoreGraphicsUtils.h" #import "DTLog.h" @implementation UIImage (DTFoundation) @@ -127,12 +128,12 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode } - size.width = roundf(size.width * factor); - size.height = roundf(size.height * factor); + size.width = round(size.width * factor); + size.height = round(size.height * factor); // otherwise same as center - drawRect = CGRectMake(roundf(CGRectGetMidX(rect)-size.width/2.0f), - roundf(CGRectGetMidY(rect)-size.height/2.0f), + drawRect = CGRectMake(round(CGRectGetMidX(rect)-size.width/CGFloat_(2)), + round(CGRectGetMidY(rect)-size.height/CGFloat_(2)), size.width, size.height); @@ -154,12 +155,12 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode } - size.width = roundf(size.width * factor); - size.height = roundf(size.height * factor); + size.width = round(size.width * factor); + size.height = round(size.height * factor); // otherwise same as center - drawRect = CGRectMake(roundf(CGRectGetMidX(rect)-size.width/2.0f), - roundf(CGRectGetMidY(rect)-size.height/2.0f), + drawRect = CGRectMake(round(CGRectGetMidX(rect)-size.width/CGFloat_(2)), + round(CGRectGetMidY(rect)-size.height/CGFloat_(2)), size.width, size.height); @@ -168,8 +169,8 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode case UIViewContentModeCenter: { - drawRect = CGRectMake(roundf(CGRectGetMidX(rect)-size.width/2.0f), - roundf(CGRectGetMidY(rect)-size.height/2.0f), + drawRect = CGRectMake(round(CGRectGetMidX(rect)-size.width/CGFloat_(2)), + round(CGRectGetMidY(rect)-size.height/CGFloat_(2)), size.width, size.height); break; @@ -177,7 +178,7 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode case UIViewContentModeTop: { - drawRect = CGRectMake(roundf(CGRectGetMidX(rect)-size.width/2.0f), + drawRect = CGRectMake(round(CGRectGetMidX(rect)-size.width/CGFloat_(2)), rect.origin.y-size.height, size.width, size.height); @@ -186,7 +187,7 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode case UIViewContentModeBottom: { - drawRect = CGRectMake(roundf(CGRectGetMidX(rect)-size.width/2.0f), + drawRect = CGRectMake(round(CGRectGetMidX(rect)-size.width/CGFloat_(2)), rect.origin.y-size.height, size.width, size.height); @@ -196,7 +197,7 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode case UIViewContentModeLeft: { drawRect = CGRectMake(rect.origin.x, - roundf(CGRectGetMidY(rect)-size.height/2.0f), + round(CGRectGetMidY(rect)-size.height/CGFloat_(2)), size.width, size.height); break; @@ -205,7 +206,7 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode case UIViewContentModeRight: { drawRect = CGRectMake(CGRectGetMaxX(rect)-size.width, - roundf(CGRectGetMidY(rect)-size.height/2.0f), + round(CGRectGetMidY(rect)-size.height/CGFloat_(2)), size.width, size.height); break; @@ -266,8 +267,8 @@ - (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode - (UIImage *)tileImageAtColumn:(NSUInteger)column ofColumns:(NSUInteger)columns row:(NSUInteger)row ofRows:(NSUInteger)rows { // calculate resulting size - CGFloat retWidth = roundf(self.size.width / (CGFloat)columns); - CGFloat retHeight = roundf(self.size.height / (CGFloat)rows); + CGFloat retWidth = round(self.size.width / CGFloat_(columns)); + CGFloat retHeight = round(self.size.height / CGFloat_(rows)); UIGraphicsBeginImageContextWithOptions(CGSizeMake(retWidth, retHeight), YES, self.scale); @@ -289,7 +290,6 @@ - (UIImage *)tileImageInClipRect:(CGRect)clipRect inBounds:(CGRect)bounds scale: { UIGraphicsBeginImageContextWithOptions(clipRect.size, YES, scale); - CGFloat zoom = self.size.width / bounds.size.width; // this is the part from the origin image @@ -302,7 +302,7 @@ - (UIImage *)tileImageInClipRect:(CGRect)clipRect inBounds:(CGRect)bounds scale: // move the context such that the left/top of the tile is at the left/top of the context CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, -clipRect.origin.x, -clipRect.origin.y); - CGContextScaleCTM(context, 1.0/zoom, 1.0/zoom); + CGContextScaleCTM(context, CGFloat_(1)/zoom, CGFloat_(1)/zoom); // draw the image [self drawAtPoint:CGPointZero]; diff --git a/DTFoundation.podspec b/DTFoundation.podspec index 160835a6..c26a9425 100644 --- a/DTFoundation.podspec +++ b/DTFoundation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'DTFoundation' - spec.version = '1.7.4' + spec.version = '1.7.5' spec.summary = "Standard toolset classes and categories." spec.homepage = "https://github.com/Cocoanetics/DTFoundation" spec.author = { "Oliver Drobnik" => "oliver@cocoanetics.com" } @@ -59,6 +59,7 @@ Pod::Spec.new do |spec| spec.subspec 'DTHTMLParser' do |ss| ss.ios.deployment_target = '4.3' + ss.osx.deployment_target = '10.6' ss.dependency 'DTFoundation/Core' ss.source_files = 'Core/Source/DTHTMLParser/*.{h,m}' ss.library = 'xml2' diff --git a/DTFoundation.xcodeproj/project.pbxproj b/DTFoundation.xcodeproj/project.pbxproj index b0031c36..891babcc 100644 --- a/DTFoundation.xcodeproj/project.pbxproj +++ b/DTFoundation.xcodeproj/project.pbxproj @@ -148,6 +148,7 @@ A7950101161D680000358BC3 /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = A79500F6161D680000358BC3 /* NSData+DTCrypto.m */; }; A7950102161D680000358BC3 /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = A79500F6161D680000358BC3 /* NSData+DTCrypto.m */; }; A79D99C21792D2490082BC06 /* NSURL+DTAWS.m in Sources */ = {isa = PBXBuildFile; fileRef = A79D99C11792D2490082BC06 /* NSURL+DTAWS.m */; }; + A7A5F0AB1A2FA92400DA3B62 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7A5F0AA1A2FA92400DA3B62 /* Security.framework */; }; A7A7CC7A14866CAF00EC2EE4 /* NSString+DTFormatNumbers.m in Sources */ = {isa = PBXBuildFile; fileRef = A70B4CCB1486621B00873A4A /* NSString+DTFormatNumbers.m */; }; A7A8434D197EA49000170F3F /* DTAlertViewTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A7A8434C197EA49000170F3F /* DTAlertViewTest.m */; }; A7AC21C9196417BF0009E1B9 /* DTAnimatedGIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A7AC21A8196409560009E1B9 /* DTAnimatedGIF.m */; }; @@ -801,6 +802,7 @@ A79D99AA1792D1F50082BC06 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; A79D99C01792D2490082BC06 /* NSURL+DTAWS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURL+DTAWS.h"; sourceTree = ""; }; A79D99C11792D2490082BC06 /* NSURL+DTAWS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURL+DTAWS.m"; sourceTree = ""; }; + A7A5F0AA1A2FA92400DA3B62 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; A7A8434C197EA49000170F3F /* DTAlertViewTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTAlertViewTest.m; sourceTree = ""; }; A7AC21A7196409560009E1B9 /* DTAnimatedGIF.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTAnimatedGIF.h; sourceTree = ""; }; A7AC21A8196409560009E1B9 /* DTAnimatedGIF.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTAnimatedGIF.m; sourceTree = ""; }; @@ -1054,6 +1056,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A7A5F0AB1A2FA92400DA3B62 /* Security.framework in Frameworks */, A7917CB6191A3CD500964D63 /* UIKit.framework in Frameworks */, A7917CA3191A327A00964D63 /* libxml2.2.dylib in Frameworks */, A7917CA1191A325F00964D63 /* libDTZipArchive_iOS.a in Frameworks */, @@ -1544,6 +1547,7 @@ A7AB49DB1483C47F00028FE8 /* Frameworks */ = { isa = PBXGroup; children = ( + A7A5F0AA1A2FA92400DA3B62 /* Security.framework */, A7AC21CD1964184F0009E1B9 /* ImageIO.framework */, F88FF6CE1920B0CC00120808 /* QuartzCore.framework */, F88FF6C81920AE9700120808 /* CoreGraphics.framework */, @@ -4573,7 +4577,6 @@ A7EA07D21A2B2F6B00B61CCE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -4604,7 +4607,6 @@ A7EA07D31A2B2F6B00B61CCE /* Coverage */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -4637,7 +4639,6 @@ A7EA07D41A2B2F6B00B61CCE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; diff --git a/Documentation/Change Log-template.markdown b/Documentation/Change Log-template.markdown index 915c2d48..b82c9081 100644 --- a/Documentation/Change Log-template.markdown +++ b/Documentation/Change Log-template.markdown @@ -3,6 +3,14 @@ Change Log This is the history of version updates. +**Version 1.7.5** + +- FIXED: [DTHTMLParser] Implemented check for invalid encoding when auto-detecting HTML encoding +- FIXED: [DTHTMLParser] Added missing deployment target in pod spec to allow usage of parser under OS X +- FIXED: [DTASN1Parser] Crash when parsing ASN.1 data containing Latin1 string, instead ignore the string contents +- FIXED: Improved 64-bit handling in DTCoreGraphicsUtils, DTPieProgressIndicator and UIImage+DTFoundation +- FIXED: DTPieProgressIndicator would not display properly when instantiated from XIB + **Version 1.7.4** - FIXED: Added armv7s to static library targets (iOS)