Browse Source

Support iOS 11 scroll view insets

Closes #653
Leo Natan 7 years ago
parent
commit
0d9711d4a6
No account linked to committer's email address

+ 13
- 0
lib/ios/RNNSwizzles.h View File

1
+//
2
+//  RNNSwizzles.h
3
+//  ReactNativeNavigation
4
+//
5
+//  Created by Leo Natan (Wix) on 1/17/18.
6
+//  Copyright © 2018 Wix. All rights reserved.
7
+//
8
+
9
+#import <Foundation/Foundation.h>
10
+
11
+@interface RNNSwizzles : NSObject
12
+
13
+@end

+ 49
- 0
lib/ios/RNNSwizzles.m View File

1
+//
2
+//  RNNSwizzles.m
3
+//  ReactNativeNavigation
4
+//
5
+//  Created by Leo Natan (Wix) on 1/17/18.
6
+//  Copyright © 2018 Wix. All rights reserved.
7
+//
8
+
9
+#import "RNNSwizzles.h"
10
+@import ObjectiveC;
11
+@import UIKit;
12
+
13
+static id (*__SWZ_initWithEventDispatcher_orig)(id self, SEL _cmd, id eventDispatcher);
14
+
15
+@implementation RNNSwizzles
16
+
17
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0
18
+- (id)__swz_initWithEventDispatcher:(id)eventDispatcher
19
+{
20
+	id returnValue = __SWZ_initWithEventDispatcher_orig(self, _cmd, eventDispatcher);
21
+	
22
+	if (@available(iOS 11.0, *)) {
23
+		[(UIScrollView*)[returnValue valueForKey:@"scrollView"] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentAutomatic];
24
+	}
25
+	
26
+	return returnValue;
27
+}
28
+
29
++ (void)load
30
+{
31
+	Class cls = NSClassFromString(@"RCTScrollView");
32
+	if(cls == NULL)
33
+	{
34
+		return;
35
+	}
36
+	Method m1 = class_getInstanceMethod(cls, NSSelectorFromString(@"initWithEventDispatcher:"));
37
+	
38
+	if(m1 == NULL)
39
+	{
40
+		return;
41
+	}
42
+	
43
+	__SWZ_initWithEventDispatcher_orig = (void*)method_getImplementation(m1);
44
+	Method m2 = class_getInstanceMethod([RNNSwizzles class], NSSelectorFromString(@"__swz_initWithEventDispatcher:"));
45
+	method_exchangeImplementations(m1, m2);
46
+}
47
+#endif
48
+
49
+@end

+ 1
- 1
lib/ios/RNNTopBarOptions.m View File

98
 		}
98
 		}
99
 	}
99
 	}
100
 	
100
 	
101
-	void (^disableTopBarTransparent)() = ^void(){
101
+	void (^disableTopBarTransparent)(void) = ^ {
102
 		UIView *transparentView = [viewController.navigationController.navigationBar viewWithTag:TOP_BAR_TRANSPARENT_TAG];
102
 		UIView *transparentView = [viewController.navigationController.navigationBar viewWithTag:TOP_BAR_TRANSPARENT_TAG];
103
 		if (transparentView){
103
 		if (transparentView){
104
 			[transparentView removeFromSuperview];
104
 			[transparentView removeFromSuperview];

+ 21
- 3
lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj View File

59
 		26916C991E4B9E7700D13680 /* RNNReactRootViewCreator.m in Sources */ = {isa = PBXBuildFile; fileRef = 26916C971E4B9E7700D13680 /* RNNReactRootViewCreator.m */; };
59
 		26916C991E4B9E7700D13680 /* RNNReactRootViewCreator.m in Sources */ = {isa = PBXBuildFile; fileRef = 26916C971E4B9E7700D13680 /* RNNReactRootViewCreator.m */; };
60
 		2DCD9195200014A900EDC75D /* RNNBridgeManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCD9193200014A900EDC75D /* RNNBridgeManager.h */; };
60
 		2DCD9195200014A900EDC75D /* RNNBridgeManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCD9193200014A900EDC75D /* RNNBridgeManager.h */; };
61
 		2DCD9196200014A900EDC75D /* RNNBridgeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DCD9194200014A900EDC75D /* RNNBridgeManager.m */; };
61
 		2DCD9196200014A900EDC75D /* RNNBridgeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DCD9194200014A900EDC75D /* RNNBridgeManager.m */; };
62
+		390AD477200F499D00A8250D /* RNNSwizzles.h in Headers */ = {isa = PBXBuildFile; fileRef = 390AD475200F499D00A8250D /* RNNSwizzles.h */; };
63
+		390AD478200F499D00A8250D /* RNNSwizzles.m in Sources */ = {isa = PBXBuildFile; fileRef = 390AD476200F499D00A8250D /* RNNSwizzles.m */; };
62
 		504AFE641FFE53070076E904 /* RNNOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 504AFE621FFE53070076E904 /* RNNOptions.h */; };
64
 		504AFE641FFE53070076E904 /* RNNOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 504AFE621FFE53070076E904 /* RNNOptions.h */; };
63
 		504AFE651FFE53070076E904 /* RNNOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 504AFE631FFE53070076E904 /* RNNOptions.m */; };
65
 		504AFE651FFE53070076E904 /* RNNOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 504AFE631FFE53070076E904 /* RNNOptions.m */; };
64
 		504AFE741FFFF0540076E904 /* RNNTopTabsOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 504AFE721FFFF0540076E904 /* RNNTopTabsOptions.h */; };
66
 		504AFE741FFFF0540076E904 /* RNNTopTabsOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 504AFE721FFFF0540076E904 /* RNNTopTabsOptions.h */; };
131
 		E8A430121F9CB87B00B61A20 /* RNNAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A430101F9CB87B00B61A20 /* RNNAnimatedView.m */; };
133
 		E8A430121F9CB87B00B61A20 /* RNNAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A430101F9CB87B00B61A20 /* RNNAnimatedView.m */; };
132
 		E8A5CD521F464F0400E89D0D /* RNNAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A5CD501F464F0400E89D0D /* RNNAnimator.h */; };
134
 		E8A5CD521F464F0400E89D0D /* RNNAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A5CD501F464F0400E89D0D /* RNNAnimator.h */; };
133
 		E8A5CD531F464F0400E89D0D /* RNNAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A5CD511F464F0400E89D0D /* RNNAnimator.m */; };
135
 		E8A5CD531F464F0400E89D0D /* RNNAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A5CD511F464F0400E89D0D /* RNNAnimator.m */; };
134
-		E8A5CD5A1F48CCC300E89D0D /* RNNNavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A5CD581F48CCC300E89D0D /* RNNNavigationController.h */; };
135
 		E8A5CD621F49114F00E89D0D /* RNNElement.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A5CD601F49114F00E89D0D /* RNNElement.h */; };
136
 		E8A5CD621F49114F00E89D0D /* RNNElement.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A5CD601F49114F00E89D0D /* RNNElement.h */; };
136
 		E8A5CD631F49114F00E89D0D /* RNNElement.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A5CD611F49114F00E89D0D /* RNNElement.m */; };
137
 		E8A5CD631F49114F00E89D0D /* RNNElement.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A5CD611F49114F00E89D0D /* RNNElement.m */; };
137
 		E8AEDB3C1F55A1C2000F5A6A /* RNNElementView.h in Headers */ = {isa = PBXBuildFile; fileRef = E8AEDB3A1F55A1C2000F5A6A /* RNNElementView.h */; };
138
 		E8AEDB3C1F55A1C2000F5A6A /* RNNElementView.h in Headers */ = {isa = PBXBuildFile; fileRef = E8AEDB3A1F55A1C2000F5A6A /* RNNElementView.h */; };
227
 		26916C971E4B9E7700D13680 /* RNNReactRootViewCreator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNReactRootViewCreator.m; sourceTree = "<group>"; };
228
 		26916C971E4B9E7700D13680 /* RNNReactRootViewCreator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNReactRootViewCreator.m; sourceTree = "<group>"; };
228
 		2DCD9193200014A900EDC75D /* RNNBridgeManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNBridgeManager.h; sourceTree = "<group>"; };
229
 		2DCD9193200014A900EDC75D /* RNNBridgeManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNBridgeManager.h; sourceTree = "<group>"; };
229
 		2DCD9194200014A900EDC75D /* RNNBridgeManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNBridgeManager.m; sourceTree = "<group>"; };
230
 		2DCD9194200014A900EDC75D /* RNNBridgeManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNBridgeManager.m; sourceTree = "<group>"; };
231
+		390AD475200F499D00A8250D /* RNNSwizzles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNSwizzles.h; sourceTree = "<group>"; };
232
+		390AD476200F499D00A8250D /* RNNSwizzles.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNSwizzles.m; sourceTree = "<group>"; };
230
 		504AFE621FFE53070076E904 /* RNNOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNOptions.h; sourceTree = "<group>"; };
233
 		504AFE621FFE53070076E904 /* RNNOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNOptions.h; sourceTree = "<group>"; };
231
 		504AFE631FFE53070076E904 /* RNNOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNOptions.m; sourceTree = "<group>"; };
234
 		504AFE631FFE53070076E904 /* RNNOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNOptions.m; sourceTree = "<group>"; };
232
 		504AFE721FFFF0540076E904 /* RNNTopTabsOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNTopTabsOptions.h; sourceTree = "<group>"; };
235
 		504AFE721FFFF0540076E904 /* RNNTopTabsOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNTopTabsOptions.h; sourceTree = "<group>"; };
362
 				E8E518311F83B3E0000467AC /* RNNUtils.m */,
365
 				E8E518311F83B3E0000467AC /* RNNUtils.m */,
363
 				214545281F4DC81F006E8DA1 /* RCTHelpers.h */,
366
 				214545281F4DC81F006E8DA1 /* RCTHelpers.h */,
364
 				214545291F4DC85F006E8DA1 /* RCTHelpers.m */,
367
 				214545291F4DC85F006E8DA1 /* RCTHelpers.m */,
368
+				390AD475200F499D00A8250D /* RNNSwizzles.h */,
369
+				390AD476200F499D00A8250D /* RNNSwizzles.m */,
365
 			);
370
 			);
366
 			name = Helpers;
371
 			name = Helpers;
367
 			sourceTree = "<group>";
372
 			sourceTree = "<group>";
677
 				50F5DFC51F407AA0001A00BC /* RNNNavigationController.h in Headers */,
682
 				50F5DFC51F407AA0001A00BC /* RNNNavigationController.h in Headers */,
678
 				21B85E5F1F44482A00B314B5 /* RNNNavigationButtons.h in Headers */,
683
 				21B85E5F1F44482A00B314B5 /* RNNNavigationButtons.h in Headers */,
679
 				7BEF0D181E437684003E96B0 /* RNNRootViewController.h in Headers */,
684
 				7BEF0D181E437684003E96B0 /* RNNRootViewController.h in Headers */,
680
-				E8A5CD5A1F48CCC300E89D0D /* RNNNavigationController.h in Headers */,
681
 				7B1126A61E2D2B6C00F9B03B /* RNNBridgeModule.h in Headers */,
685
 				7B1126A61E2D2B6C00F9B03B /* RNNBridgeModule.h in Headers */,
682
 				E8DA24401F97459B00CD552B /* RNNElementFinder.h in Headers */,
686
 				E8DA24401F97459B00CD552B /* RNNElementFinder.h in Headers */,
683
 				263905BE1E4C6F440023D7D3 /* RCCTheSideBarManagerViewController.h in Headers */,
687
 				263905BE1E4C6F440023D7D3 /* RCCTheSideBarManagerViewController.h in Headers */,
690
 				E8E518321F83B3E0000467AC /* RNNUtils.h in Headers */,
694
 				E8E518321F83B3E0000467AC /* RNNUtils.h in Headers */,
691
 				507F44201FFA8A8800D9425B /* RNNRootViewProtocol.h in Headers */,
695
 				507F44201FFA8A8800D9425B /* RNNRootViewProtocol.h in Headers */,
692
 				263905CA1E4C6F440023D7D3 /* SidebarLuvocracyAnimation.h in Headers */,
696
 				263905CA1E4C6F440023D7D3 /* SidebarLuvocracyAnimation.h in Headers */,
697
+				390AD477200F499D00A8250D /* RNNSwizzles.h in Headers */,
693
 				263905B11E4C6F440023D7D3 /* MMDrawerController.h in Headers */,
698
 				263905B11E4C6F440023D7D3 /* MMDrawerController.h in Headers */,
694
 				504AFE641FFE53070076E904 /* RNNOptions.h in Headers */,
699
 				504AFE641FFE53070076E904 /* RNNOptions.h in Headers */,
695
 				263905B91E4C6F440023D7D3 /* RCCDrawerController.h in Headers */,
700
 				263905B91E4C6F440023D7D3 /* RCCDrawerController.h in Headers */,
753
 		D8AFADB51BEE6F3F00A4592D /* Project object */ = {
758
 		D8AFADB51BEE6F3F00A4592D /* Project object */ = {
754
 			isa = PBXProject;
759
 			isa = PBXProject;
755
 			attributes = {
760
 			attributes = {
756
-				LastUpgradeCheck = 0820;
761
+				LastUpgradeCheck = 0920;
757
 				ORGANIZATIONNAME = Wix;
762
 				ORGANIZATIONNAME = Wix;
758
 				TargetAttributes = {
763
 				TargetAttributes = {
759
 					7B49FEBA1E95090800DEB3EA = {
764
 					7B49FEBA1E95090800DEB3EA = {
829
 				A7626BFD1FC2FB2C00492FB8 /* RNNTopBarOptions.m in Sources */,
834
 				A7626BFD1FC2FB2C00492FB8 /* RNNTopBarOptions.m in Sources */,
830
 				263905CB1E4C6F440023D7D3 /* SidebarLuvocracyAnimation.m in Sources */,
835
 				263905CB1E4C6F440023D7D3 /* SidebarLuvocracyAnimation.m in Sources */,
831
 				263905E71E4CAC950023D7D3 /* RNNSideMenuChildVC.m in Sources */,
836
 				263905E71E4CAC950023D7D3 /* RNNSideMenuChildVC.m in Sources */,
837
+				390AD478200F499D00A8250D /* RNNSwizzles.m in Sources */,
832
 				7BA500751E2544B9001B9E1B /* ReactNativeNavigation.m in Sources */,
838
 				7BA500751E2544B9001B9E1B /* ReactNativeNavigation.m in Sources */,
833
 				263905B21E4C6F440023D7D3 /* MMDrawerController.m in Sources */,
839
 				263905B21E4C6F440023D7D3 /* MMDrawerController.m in Sources */,
834
 				E8AEDB3D1F55A1C2000F5A6A /* RNNElementView.m in Sources */,
840
 				E8AEDB3D1F55A1C2000F5A6A /* RNNElementView.m in Sources */,
931
 				CLANG_CXX_LIBRARY = "libc++";
937
 				CLANG_CXX_LIBRARY = "libc++";
932
 				CLANG_ENABLE_MODULES = YES;
938
 				CLANG_ENABLE_MODULES = YES;
933
 				CLANG_ENABLE_OBJC_ARC = YES;
939
 				CLANG_ENABLE_OBJC_ARC = YES;
940
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
934
 				CLANG_WARN_BOOL_CONVERSION = YES;
941
 				CLANG_WARN_BOOL_CONVERSION = YES;
942
+				CLANG_WARN_COMMA = YES;
935
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
943
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
936
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
944
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
937
 				CLANG_WARN_EMPTY_BODY = YES;
945
 				CLANG_WARN_EMPTY_BODY = YES;
938
 				CLANG_WARN_ENUM_CONVERSION = YES;
946
 				CLANG_WARN_ENUM_CONVERSION = YES;
939
 				CLANG_WARN_INFINITE_RECURSION = YES;
947
 				CLANG_WARN_INFINITE_RECURSION = YES;
940
 				CLANG_WARN_INT_CONVERSION = YES;
948
 				CLANG_WARN_INT_CONVERSION = YES;
949
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
950
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
941
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
951
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
952
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
953
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
942
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
954
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
943
 				CLANG_WARN_UNREACHABLE_CODE = YES;
955
 				CLANG_WARN_UNREACHABLE_CODE = YES;
944
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
956
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
976
 				CLANG_CXX_LIBRARY = "libc++";
988
 				CLANG_CXX_LIBRARY = "libc++";
977
 				CLANG_ENABLE_MODULES = YES;
989
 				CLANG_ENABLE_MODULES = YES;
978
 				CLANG_ENABLE_OBJC_ARC = YES;
990
 				CLANG_ENABLE_OBJC_ARC = YES;
991
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
979
 				CLANG_WARN_BOOL_CONVERSION = YES;
992
 				CLANG_WARN_BOOL_CONVERSION = YES;
993
+				CLANG_WARN_COMMA = YES;
980
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
994
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
981
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
995
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
982
 				CLANG_WARN_EMPTY_BODY = YES;
996
 				CLANG_WARN_EMPTY_BODY = YES;
983
 				CLANG_WARN_ENUM_CONVERSION = YES;
997
 				CLANG_WARN_ENUM_CONVERSION = YES;
984
 				CLANG_WARN_INFINITE_RECURSION = YES;
998
 				CLANG_WARN_INFINITE_RECURSION = YES;
985
 				CLANG_WARN_INT_CONVERSION = YES;
999
 				CLANG_WARN_INT_CONVERSION = YES;
1000
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1001
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
986
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1002
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1003
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1004
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
987
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
1005
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
988
 				CLANG_WARN_UNREACHABLE_CODE = YES;
1006
 				CLANG_WARN_UNREACHABLE_CODE = YES;
989
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1007
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;

+ 1
- 1
lib/ios/ReactNativeNavigation.xcodeproj/xcshareddata/xcschemes/ReactNativeNavigation.xcscheme View File

1
 <?xml version="1.0" encoding="UTF-8"?>
1
 <?xml version="1.0" encoding="UTF-8"?>
2
 <Scheme
2
 <Scheme
3
-   LastUpgradeVersion = "0820"
3
+   LastUpgradeVersion = "0920"
4
    version = "1.3">
4
    version = "1.3">
5
    <BuildAction
5
    <BuildAction
6
       parallelizeBuildables = "NO"
6
       parallelizeBuildables = "NO"

+ 44
- 1
playground/ios/playground.xcodeproj/project.pbxproj View File

29
 /* End PBXBuildFile section */
29
 /* End PBXBuildFile section */
30
 
30
 
31
 /* Begin PBXContainerItemProxy section */
31
 /* Begin PBXContainerItemProxy section */
32
+		39D599AE200F3D5C00A3B2ED /* PBXContainerItemProxy */ = {
33
+			isa = PBXContainerItemProxy;
34
+			containerPortal = 7B8F30401E8412E100110AEC /* RCTWebSocket.xcodeproj */;
35
+			proxyType = 2;
36
+			remoteGlobalIDString = 3DBE0D001F3B181A0099AA32;
37
+			remoteInfo = fishhook;
38
+		};
39
+		39D599B0200F3D5C00A3B2ED /* PBXContainerItemProxy */ = {
40
+			isa = PBXContainerItemProxy;
41
+			containerPortal = 7B8F30401E8412E100110AEC /* RCTWebSocket.xcodeproj */;
42
+			proxyType = 2;
43
+			remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32;
44
+			remoteInfo = "fishhook-tvOS";
45
+		};
32
 		7B49FF081E950AF400DEB3EA /* PBXContainerItemProxy */ = {
46
 		7B49FF081E950AF400DEB3EA /* PBXContainerItemProxy */ = {
33
 			isa = PBXContainerItemProxy;
47
 			isa = PBXContainerItemProxy;
34
 			containerPortal = 7B8F2FC41E840F1A00110AEC /* ReactNativeNavigation.xcodeproj */;
48
 			containerPortal = 7B8F2FC41E840F1A00110AEC /* ReactNativeNavigation.xcodeproj */;
420
 			children = (
434
 			children = (
421
 				7B8F30461E8412E100110AEC /* libRCTWebSocket.a */,
435
 				7B8F30461E8412E100110AEC /* libRCTWebSocket.a */,
422
 				7B8F30481E8412E100110AEC /* libRCTWebSocket-tvOS.a */,
436
 				7B8F30481E8412E100110AEC /* libRCTWebSocket-tvOS.a */,
437
+				39D599AF200F3D5C00A3B2ED /* libfishhook.a */,
438
+				39D599B1200F3D5C00A3B2ED /* libfishhook-tvOS.a */,
423
 			);
439
 			);
424
 			name = Products;
440
 			name = Products;
425
 			sourceTree = "<group>";
441
 			sourceTree = "<group>";
490
 		83CBB9F71A601CBA00E9B192 /* Project object */ = {
506
 		83CBB9F71A601CBA00E9B192 /* Project object */ = {
491
 			isa = PBXProject;
507
 			isa = PBXProject;
492
 			attributes = {
508
 			attributes = {
493
-				LastUpgradeCheck = 0820;
509
+				LastUpgradeCheck = 0920;
494
 				ORGANIZATIONNAME = Wix;
510
 				ORGANIZATIONNAME = Wix;
495
 				TargetAttributes = {
511
 				TargetAttributes = {
496
 					13B07F861A680F5B00A75B9A = {
512
 					13B07F861A680F5B00A75B9A = {
567
 /* End PBXProject section */
583
 /* End PBXProject section */
568
 
584
 
569
 /* Begin PBXReferenceProxy section */
585
 /* Begin PBXReferenceProxy section */
586
+		39D599AF200F3D5C00A3B2ED /* libfishhook.a */ = {
587
+			isa = PBXReferenceProxy;
588
+			fileType = archive.ar;
589
+			path = libfishhook.a;
590
+			remoteRef = 39D599AE200F3D5C00A3B2ED /* PBXContainerItemProxy */;
591
+			sourceTree = BUILT_PRODUCTS_DIR;
592
+		};
593
+		39D599B1200F3D5C00A3B2ED /* libfishhook-tvOS.a */ = {
594
+			isa = PBXReferenceProxy;
595
+			fileType = archive.ar;
596
+			path = "libfishhook-tvOS.a";
597
+			remoteRef = 39D599B0200F3D5C00A3B2ED /* PBXContainerItemProxy */;
598
+			sourceTree = BUILT_PRODUCTS_DIR;
599
+		};
570
 		7B49FF091E950AF400DEB3EA /* ReactNativeNavigationTests.xctest */ = {
600
 		7B49FF091E950AF400DEB3EA /* ReactNativeNavigationTests.xctest */ = {
571
 			isa = PBXReferenceProxy;
601
 			isa = PBXReferenceProxy;
572
 			fileType = wrapper.cfbundle;
602
 			fileType = wrapper.cfbundle;
886
 				CLANG_CXX_LIBRARY = "libc++";
916
 				CLANG_CXX_LIBRARY = "libc++";
887
 				CLANG_ENABLE_MODULES = YES;
917
 				CLANG_ENABLE_MODULES = YES;
888
 				CLANG_ENABLE_OBJC_ARC = YES;
918
 				CLANG_ENABLE_OBJC_ARC = YES;
919
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
889
 				CLANG_WARN_BOOL_CONVERSION = YES;
920
 				CLANG_WARN_BOOL_CONVERSION = YES;
921
+				CLANG_WARN_COMMA = YES;
890
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
922
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
891
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
923
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
892
 				CLANG_WARN_EMPTY_BODY = YES;
924
 				CLANG_WARN_EMPTY_BODY = YES;
893
 				CLANG_WARN_ENUM_CONVERSION = YES;
925
 				CLANG_WARN_ENUM_CONVERSION = YES;
894
 				CLANG_WARN_INFINITE_RECURSION = YES;
926
 				CLANG_WARN_INFINITE_RECURSION = YES;
895
 				CLANG_WARN_INT_CONVERSION = YES;
927
 				CLANG_WARN_INT_CONVERSION = YES;
928
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
929
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
896
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
930
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
931
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
932
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
897
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
933
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
898
 				CLANG_WARN_UNREACHABLE_CODE = YES;
934
 				CLANG_WARN_UNREACHABLE_CODE = YES;
899
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
935
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
900
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
936
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
901
 				COPY_PHASE_STRIP = NO;
937
 				COPY_PHASE_STRIP = NO;
902
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
938
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
939
+				ENABLE_TESTABILITY = YES;
903
 				GCC_C_LANGUAGE_STANDARD = gnu99;
940
 				GCC_C_LANGUAGE_STANDARD = gnu99;
904
 				GCC_DYNAMIC_NO_PIC = NO;
941
 				GCC_DYNAMIC_NO_PIC = NO;
905
 				GCC_NO_COMMON_BLOCKS = YES;
942
 				GCC_NO_COMMON_BLOCKS = YES;
931
 				CLANG_CXX_LIBRARY = "libc++";
968
 				CLANG_CXX_LIBRARY = "libc++";
932
 				CLANG_ENABLE_MODULES = YES;
969
 				CLANG_ENABLE_MODULES = YES;
933
 				CLANG_ENABLE_OBJC_ARC = YES;
970
 				CLANG_ENABLE_OBJC_ARC = YES;
971
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
934
 				CLANG_WARN_BOOL_CONVERSION = YES;
972
 				CLANG_WARN_BOOL_CONVERSION = YES;
973
+				CLANG_WARN_COMMA = YES;
935
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
974
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
936
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
975
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
937
 				CLANG_WARN_EMPTY_BODY = YES;
976
 				CLANG_WARN_EMPTY_BODY = YES;
938
 				CLANG_WARN_ENUM_CONVERSION = YES;
977
 				CLANG_WARN_ENUM_CONVERSION = YES;
939
 				CLANG_WARN_INFINITE_RECURSION = YES;
978
 				CLANG_WARN_INFINITE_RECURSION = YES;
940
 				CLANG_WARN_INT_CONVERSION = YES;
979
 				CLANG_WARN_INT_CONVERSION = YES;
980
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
981
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
941
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
982
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
983
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
984
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
942
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
985
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
943
 				CLANG_WARN_UNREACHABLE_CODE = YES;
986
 				CLANG_WARN_UNREACHABLE_CODE = YES;
944
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
987
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;

+ 1
- 1
playground/ios/playground.xcodeproj/xcshareddata/xcschemes/playground.xcscheme View File

1
 <?xml version="1.0" encoding="UTF-8"?>
1
 <?xml version="1.0" encoding="UTF-8"?>
2
 <Scheme
2
 <Scheme
3
-   LastUpgradeVersion = "0820"
3
+   LastUpgradeVersion = "0920"
4
    version = "1.3">
4
    version = "1.3">
5
    <BuildAction
5
    <BuildAction
6
       parallelizeBuildables = "NO"
6
       parallelizeBuildables = "NO"

+ 3
- 1
playground/ios/playground.xcodeproj/xcshareddata/xcschemes/playground_release.xcscheme View File

1
 <?xml version="1.0" encoding="UTF-8"?>
1
 <?xml version="1.0" encoding="UTF-8"?>
2
 <Scheme
2
 <Scheme
3
-   LastUpgradeVersion = "0820"
3
+   LastUpgradeVersion = "0920"
4
    version = "1.3">
4
    version = "1.3">
5
    <BuildAction
5
    <BuildAction
6
       parallelizeBuildables = "NO"
6
       parallelizeBuildables = "NO"
54
       buildConfiguration = "Debug"
54
       buildConfiguration = "Debug"
55
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
55
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
56
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57
+      language = ""
57
       shouldUseLaunchSchemeArgsEnv = "YES">
58
       shouldUseLaunchSchemeArgsEnv = "YES">
58
       <Testables>
59
       <Testables>
59
       </Testables>
60
       </Testables>
73
       buildConfiguration = "Release"
74
       buildConfiguration = "Release"
74
       selectedDebuggerIdentifier = ""
75
       selectedDebuggerIdentifier = ""
75
       selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
76
       selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
77
+      language = ""
76
       launchStyle = "0"
78
       launchStyle = "0"
77
       useCustomWorkingDirectory = "NO"
79
       useCustomWorkingDirectory = "NO"
78
       ignoresPersistentStateOnLaunch = "NO"
80
       ignoresPersistentStateOnLaunch = "NO"

+ 1
- 3
playground/src/screens/ScrollViewScreen.js View File

12
       topBar: {
12
       topBar: {
13
         title: 'Collapse',
13
         title: 'Collapse',
14
         textColor: 'black',
14
         textColor: 'black',
15
-        textFontSize: 16,
16
-        drawUnder: true,
17
-        translucent: false
15
+        textFontSize: 16
18
       }
16
       }
19
     };
17
     };
20
   }
18
   }