From 1e0a9ba5ff8a73f80cd9a830bd745ddba0125166 Mon Sep 17 00:00:00 2001 From: Mikael Sand Date: Fri, 19 Oct 2018 03:52:04 +0300 Subject: [PATCH] [ios] Upgrade project version, fix warnings and types --- ios/RNSVG.xcodeproj/project.pbxproj | 6 +++++- ios/Text/RNSVGGlyphContext.h | 14 +++++++------- ios/Text/RNSVGGlyphContext.m | 14 +++++++------- ios/Text/RNSVGTSpan.m | 27 +++++++++++---------------- 4 files changed, 30 insertions(+), 31 deletions(-) diff --git a/ios/RNSVG.xcodeproj/project.pbxproj b/ios/RNSVG.xcodeproj/project.pbxproj index 8323cc11..f957c92a 100644 --- a/ios/RNSVG.xcodeproj/project.pbxproj +++ b/ios/RNSVG.xcodeproj/project.pbxproj @@ -540,7 +540,7 @@ 0CF68AB91AF0540F00FF9E5C /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0920; + LastUpgradeCheck = 0940; TargetAttributes = { 0CF68AC01AF0540F00FF9E5C = { CreatedOnToolsVersion = 6.2; @@ -707,12 +707,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -766,12 +768,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/ios/Text/RNSVGGlyphContext.h b/ios/Text/RNSVGGlyphContext.h index bcab135a..a6944e25 100644 --- a/ios/Text/RNSVGGlyphContext.h +++ b/ios/Text/RNSVGGlyphContext.h @@ -34,13 +34,13 @@ - (void)popContext; -- (void)pushContext:(RNSVGText *)node - font:(NSDictionary *)font - x:(NSArray*)x - y:(NSArray*)y - deltaX:(NSArray*)deltaX - deltaY:(NSArray*)deltaY - rotate:(NSArray*)rotate; +- (void)pushContext:(RNSVGText*)node + font:(NSDictionary*)font + x:(NSArray*)x + y:(NSArray*)y + deltaX:(NSArray*)deltaX + deltaY:(NSArray*)deltaY + rotate:(NSArray*)rotate; - (void)pushContext:(RNSVGGroup*)node font:(NSDictionary *)font; diff --git a/ios/Text/RNSVGGlyphContext.m b/ios/Text/RNSVGGlyphContext.m index 4416957e..52f0cb54 100644 --- a/ios/Text/RNSVGGlyphContext.m +++ b/ios/Text/RNSVGGlyphContext.m @@ -94,13 +94,13 @@ float mHeight_; } -- (void)pushContext:(RNSVGText *)node - font:(NSDictionary *)font - x:(NSArray*)x - y:(NSArray*)y - deltaX:(NSArray*)deltaX - deltaY:(NSArray*)deltaY - rotate:(NSArray*)rotate; +- (void)pushContext:(RNSVGText*)node + font:(NSDictionary*)font + x:(NSArray*)x + y:(NSArray*)y + deltaX:(NSArray*)deltaX + deltaY:(NSArray*)deltaY + rotate:(NSArray*)rotate; - (void)pushContext:(RNSVGGroup*)node font:(NSDictionary *)font; diff --git a/ios/Text/RNSVGTSpan.m b/ios/Text/RNSVGTSpan.m index 465c1e52..7fb61fae 100644 --- a/ios/Text/RNSVGTSpan.m +++ b/ios/Text/RNSVGTSpan.m @@ -874,29 +874,24 @@ static double RNSVGTSpan_radToDeg = 180 / M_PI; lines = nil; lengths = nil; textPath = nil; - [self traverseTextSuperviews:^(__kindof RNSVGText *node) { - if ([node class] == [RNSVGTextPath class]) { - textPath = (RNSVGTextPath*) node; - [textPath getPathLength:&_pathLength lineCount:&lineCount lengths:&lengths lines:&lines isClosed:&isClosed]; - return NO; - } - return YES; - }]; -} - -- (void)traverseTextSuperviews:(BOOL (^)(__kindof RNSVGText *node))block -{ RNSVGText *targetView = self; - BOOL result = block(self); - while (targetView && [targetView class] != [RNSVGText class] && result) { + while (targetView && [targetView class] != [RNSVGText class]) { if (![targetView isKindOfClass:[RNSVGText class]]) { //todo: throw exception here - break; + return; } targetView = (RNSVGText*)[targetView superview]; - result = block(targetView); + if ([targetView class] == [RNSVGTextPath class]) { + textPath = (RNSVGTextPath*) targetView; + [textPath getPathLength:&_pathLength + lineCount:&lineCount + lengths:&lengths + lines:&lines + isClosed:&isClosed]; + return; + } } }