Просмотр исходного кода

Merge pull request #220 from bharat/master

Resolve Xcode 9.3 warnings and deprecations
Tanner Bennett лет назад: 8
Родитель
Сommit
faef524b6c

+ 22 - 24
Classes/ExplorerInterface/FLEXExplorerViewController.m

@@ -171,32 +171,30 @@ typedef NS_ENUM(NSUInteger, FLEXExplorerMode) {
     return shouldAutorotate;
 }
 
-- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
-{
-    for (UIView *outlineView in [self.outlineViewsForVisibleViews allValues]) {
-        outlineView.hidden = YES;
-    }
-    self.selectedViewOverlay.hidden = YES;
-}
-
-- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
-{
-    for (UIView *view in self.viewsAtTapPoint) {
-        NSValue *key = [NSValue valueWithNonretainedObject:view];
-        UIView *outlineView = self.outlineViewsForVisibleViews[key];
-        outlineView.frame = [self frameInLocalCoordinatesForView:view];
-        if (self.currentMode == FLEXExplorerModeSelect) {
-            outlineView.hidden = NO;
-        }
-    }
-    
-    if (self.selectedView) {
-        self.selectedViewOverlay.frame = [self frameInLocalCoordinatesForView:self.selectedView];
-        self.selectedViewOverlay.hidden = NO;
-    }
+- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
+{
+    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
+         for (UIView *outlineView in [self.outlineViewsForVisibleViews allValues]) {
+             outlineView.hidden = YES;
+         }
+         self.selectedViewOverlay.hidden = YES;
+     } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
+         for (UIView *view in self.viewsAtTapPoint) {
+             NSValue *key = [NSValue valueWithNonretainedObject:view];
+             UIView *outlineView = self.outlineViewsForVisibleViews[key];
+             outlineView.frame = [self frameInLocalCoordinatesForView:view];
+             if (self.currentMode == FLEXExplorerModeSelect) {
+                 outlineView.hidden = NO;
+             }
+         }
+
+         if (self.selectedView) {
+             self.selectedViewOverlay.frame = [self frameInLocalCoordinatesForView:self.selectedView];
+             self.selectedViewOverlay.hidden = NO;
+         }
+     }];
 }
 
-
 #pragma mark - Setter Overrides
 
 - (void)setSelectedView:(UIView *)selectedView

+ 2 - 2
Classes/GlobalStateExplorers/DatabaseBrowser/FLEXTableContentViewController.m

@@ -175,10 +175,10 @@
     [coordinator animateAlongsideTransition:^(id <UIViewControllerTransitionCoordinatorContext> context) {
         if (newCollection.verticalSizeClass == UIUserInterfaceSizeClassCompact) {
             
-            _multiColumView.frame = CGRectMake(0, 32, self.view.frame.size.width, self.view.frame.size.height - 32);
+            self->_multiColumView.frame = CGRectMake(0, 32, self.view.frame.size.width, self.view.frame.size.height - 32);
         }
         else {
-            _multiColumView.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64);
+            self->_multiColumView.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64);
         }
         [self.view setNeedsLayout];
     } completion:nil];

+ 7 - 3
Classes/Utility/FLEXKeyboardShortcutManager.m

@@ -165,10 +165,14 @@
                     pressureLevel++;
                 }
                 if (pressureLevel > 0) {
-                    for (UITouch *touch in [event allTouches]) {
-                        double adjustedPressureLevel = pressureLevel * 20 * touch.maximumPossibleForce;
-                        [touch setValue:@(adjustedPressureLevel) forKey:@"_pressure"];
+#if FLEX_AT_LEAST_IOS11_SDK
+                    if (@available(iOS 9.0, *)) {
+                        for (UITouch *touch in [event allTouches]) {
+                            double adjustedPressureLevel = pressureLevel * 20 * touch.maximumPossibleForce;
+                            [touch setValue:@(adjustedPressureLevel) forKey:@"_pressure"];
+                        }
                     }
+#endif
                 }
             }
             

+ 5 - 1
Classes/Utility/FLEXUtility.h

@@ -14,7 +14,11 @@
 
 #define FLEXFloor(x) (floor([[UIScreen mainScreen] scale] * (x)) / [[UIScreen mainScreen] scale])
 
-#define FLEX_AT_LEAST_IOS11_SDK defined(__IPHONE_11_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0)
+#if defined(__IPHONE_11_0)
+#define FLEX_AT_LEAST_IOS11_SDK (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0)
+#else
+#define FLEX_AT_LEAST_IOS11_SDK NO
+#endif
 
 @interface FLEXUtility : NSObject
 

+ 8 - 1
FLEX.xcodeproj/project.pbxproj

@@ -815,9 +815,12 @@
 			isa = PBXProject;
 			attributes = {
 				CLASSPREFIX = FLEX;
-				LastUpgradeCheck = 0900;
+				LastUpgradeCheck = 0930;
 				ORGANIZATIONNAME = Flipboard;
 				TargetAttributes = {
+					1C27A8B51F0E5A0300F0D02D = {
+						DevelopmentTeam = U3LST7M92S;
+					};
 					3A4C941E1B5B20570088C3F2 = {
 						CreatedOnToolsVersion = 6.4;
 					};
@@ -1004,12 +1007,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;
@@ -1061,12 +1066,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;