From 7fbc2f4d7592f5b73fe52667f5b387e5e71db110 Mon Sep 17 00:00:00 2001 From: Alain Hufkens Date: Wed, 13 Feb 2019 09:31:31 +0100 Subject: [PATCH] Add tvOS Target (#448) Work in progress. I added a new -tvOS Target to the libraries project. Also some gestures are not supported on tvOS. I fixed that with a compiler flag. But there might be a better way to solve that. --- Example/ios/GestureHandler-tvOS/Info.plist | 54 ---- .../GestureHandler.xcodeproj/project.pbxproj | 19 +- .../xcschemes/GestureHandler-tvOS.xcscheme | 129 -------- .../Base.lproj/LaunchScreen.xib | 17 +- .../AppIcon.appiconset/Contents.json | 5 + Example/ios/MBFingerTipWindow.m | 2 + ios/Handlers/RNFlingHandler.m | 2 + ios/Handlers/RNForceTouchHandler.m | 2 + ios/Handlers/RNPanHandler.m | 11 +- ios/Handlers/RNPinchHandler.m | 4 + ios/Handlers/RNRotationHandler.m | 5 + .../project.pbxproj | 299 +++++++++++++++++- 12 files changed, 355 insertions(+), 194 deletions(-) delete mode 100644 Example/ios/GestureHandler-tvOS/Info.plist delete mode 100644 Example/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler-tvOS.xcscheme diff --git a/Example/ios/GestureHandler-tvOS/Info.plist b/Example/ios/GestureHandler-tvOS/Info.plist deleted file mode 100644 index 2fb6a11c2..000000000 --- a/Example/ios/GestureHandler-tvOS/Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - NSLocationWhenInUseUsageDescription - - NSAppTransportSecurity - - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - - - diff --git a/Example/ios/GestureHandler.xcodeproj/project.pbxproj b/Example/ios/GestureHandler.xcodeproj/project.pbxproj index d48bdf9eb..d6ca4eb08 100644 --- a/Example/ios/GestureHandler.xcodeproj/project.pbxproj +++ b/Example/ios/GestureHandler.xcodeproj/project.pbxproj @@ -300,6 +300,13 @@ remoteGlobalIDString = 58B5119B1A9E6C1200147676; remoteInfo = RCTText; }; + B55B75702208E9D3001B6E1A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 66D9329E21BEFC5200E14346 /* RNGestureHandler.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = B5AF2F842208E55A0080319A; + remoteInfo = "RNGestureHandler-tvOS"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -336,6 +343,7 @@ 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 9959AF8A7D2B4083BD8A4519 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; + B55B758D2208EC63001B6E1A /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.1.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; BB2E03EAE7A94DF18ADA38F7 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; C5DCC010E8A44473AA39F47E /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; D4363B3FAD994C7CB59220D8 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; @@ -517,6 +525,7 @@ isa = PBXGroup; children = ( 66D932A321BEFC5200E14346 /* libRNGestureHandler.a */, + B55B75712208E9D3001B6E1A /* libRNGestureHandler.a */, ); name = Products; sourceTree = ""; @@ -524,6 +533,7 @@ 66D932A421BEFC6D00E14346 /* Frameworks */ = { isa = PBXGroup; children = ( + B55B758D2208EC63001B6E1A /* JavaScriptCore.framework */, 66E46E0121D1296C00C788C0 /* JavaScriptCore.framework */, ); name = Frameworks; @@ -956,6 +966,13 @@ remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + B55B75712208E9D3001B6E1A /* libRNGestureHandler.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNGestureHandler.a; + remoteRef = B55B75702208E9D3001B6E1A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -994,7 +1011,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/Example/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler-tvOS.xcscheme b/Example/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler-tvOS.xcscheme deleted file mode 100644 index 2cb6a1628..000000000 --- a/Example/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler-tvOS.xcscheme +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/ios/GestureHandler/Base.lproj/LaunchScreen.xib b/Example/ios/GestureHandler/Base.lproj/LaunchScreen.xib index 6efc7263f..2d0ca2d3b 100644 --- a/Example/ios/GestureHandler/Base.lproj/LaunchScreen.xib +++ b/Example/ios/GestureHandler/Base.lproj/LaunchScreen.xib @@ -1,9 +1,12 @@ - - + + + + + - - + + @@ -12,20 +15,20 @@ - - + diff --git a/Example/ios/GestureHandler/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/ios/GestureHandler/Images.xcassets/AppIcon.appiconset/Contents.json index b8236c653..19882d568 100644 --- a/Example/ios/GestureHandler/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/ios/GestureHandler/Images.xcassets/AppIcon.appiconset/Contents.json @@ -39,6 +39,11 @@ "idiom" : "iphone", "size" : "60x60", "scale" : "3x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { diff --git a/Example/ios/MBFingerTipWindow.m b/Example/ios/MBFingerTipWindow.m index 130a265c1..535ff3336 100644 --- a/Example/ios/MBFingerTipWindow.m +++ b/Example/ios/MBFingerTipWindow.m @@ -112,7 +112,9 @@ - (UIWindow *)overlayWindow _overlayWindow = [[MBFingerTipOverlayWindow alloc] initWithFrame:self.frame]; _overlayWindow.userInteractionEnabled = NO; +#if !TARGET_OS_TV _overlayWindow.windowLevel = UIWindowLevelStatusBar; +#endif _overlayWindow.backgroundColor = [UIColor clearColor]; _overlayWindow.hidden = NO; } diff --git a/ios/Handlers/RNFlingHandler.m b/ios/Handlers/RNFlingHandler.m index 97428b73d..ec7da2832 100644 --- a/ios/Handlers/RNFlingHandler.m +++ b/ios/Handlers/RNFlingHandler.m @@ -21,10 +21,12 @@ - (void)configure:(NSDictionary *)config recognizer.direction = [RCTConvert NSInteger:prop]; } +#ifndef TARGET_OS_TV prop = config[@"numberOfPointers"]; if (prop != nil) { recognizer.numberOfTouchesRequired = [RCTConvert NSInteger:prop]; } +#endif } @end diff --git a/ios/Handlers/RNForceTouchHandler.m b/ios/Handlers/RNForceTouchHandler.m index 9a0a85bc0..cf09b52ff 100644 --- a/ios/Handlers/RNForceTouchHandler.m +++ b/ios/Handlers/RNForceTouchHandler.m @@ -76,11 +76,13 @@ - (BOOL)shouldFail { - (void)performFeedbackIfRequired { +#ifndef TARGET_OS_TV if (_feedbackOnActivation) { if (@available(iOS 10.0, *)) { [[[UIImpactFeedbackGenerator alloc] initWithStyle:(UIImpactFeedbackStyleMedium)] impactOccurred]; } } +#endif } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event diff --git a/ios/Handlers/RNPanHandler.m b/ios/Handlers/RNPanHandler.m index 38a4bda1d..ed756d78a 100644 --- a/ios/Handlers/RNPanHandler.m +++ b/ios/Handlers/RNPanHandler.m @@ -54,7 +54,9 @@ - (id)initWithGestureHandler:(RNGestureHandler*)gestureHandler _failOffsetYStart = NAN; _failOffsetYEnd = NAN; _hasCustomActivationCriteria = NO; +#ifndef TARGET_OS_TV _realMinimumNumberOfTouches = self.minimumNumberOfTouches; +#endif } return self; } @@ -66,6 +68,7 @@ - (void)setMinimumNumberOfTouches:(NSUInteger)minimumNumberOfTouches - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { +#ifndef TARGET_OS_TV if (_hasCustomActivationCriteria) { // We use "minimumNumberOfTouches" property to prevent pan handler from recognizing // the gesture too early before we are sure that all criteria (e.g. minimum distance @@ -74,6 +77,7 @@ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event } else { super.minimumNumberOfTouches = _realMinimumNumberOfTouches; } +#endif [super touchesBegan:touches withEvent:event]; } @@ -98,11 +102,13 @@ - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event } } if (_hasCustomActivationCriteria && self.state == UIGestureRecognizerStatePossible && [self shouldActivateUnderCustomCriteria]) { +#ifndef TARGET_OS_TV super.minimumNumberOfTouches = _realMinimumNumberOfTouches; if ([self numberOfTouches] >= _realMinimumNumberOfTouches) { self.state = UIGestureRecognizerStateBegan; [self setTranslation:CGPointMake(0, 0) inView:self.view]; } +#endif } } @@ -200,10 +206,11 @@ - (void)configure:(NSDictionary *)config APPLY_FLOAT_PROP(failOffsetYStart); APPLY_FLOAT_PROP(failOffsetYEnd); - +#ifndef TARGET_OS_TV APPLY_NAMED_INT_PROP(minimumNumberOfTouches, @"minPointers"); APPLY_NAMED_INT_PROP(maximumNumberOfTouches, @"maxPointers"); - +#endif + id prop = config[@"minDist"]; if (prop != nil) { CGFloat dist = [RCTConvert CGFloat:prop]; diff --git a/ios/Handlers/RNPinchHandler.m b/ios/Handlers/RNPinchHandler.m index edb996aa7..ec46de85b 100644 --- a/ios/Handlers/RNPinchHandler.m +++ b/ios/Handlers/RNPinchHandler.m @@ -13,11 +13,14 @@ @implementation RNPinchGestureHandler - (instancetype)initWithTag:(NSNumber *)tag { if ((self = [super initWithTag:tag])) { +#ifndef TARGET_OS_TV _recognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)]; +#endif } return self; } +#ifndef TARGET_OS_TV - (RNGestureHandlerEventExtraData *)eventExtraData:(UIPinchGestureRecognizer *)recognizer { return [RNGestureHandlerEventExtraData @@ -26,6 +29,7 @@ - (RNGestureHandlerEventExtraData *)eventExtraData:(UIPinchGestureRecognizer *)r withVelocity:recognizer.velocity withNumberOfTouches:recognizer.numberOfTouches]; } +#endif @end diff --git a/ios/Handlers/RNRotationHandler.m b/ios/Handlers/RNRotationHandler.m index 1e76df217..bdeae0021 100644 --- a/ios/Handlers/RNRotationHandler.m +++ b/ios/Handlers/RNRotationHandler.m @@ -13,11 +13,15 @@ @implementation RNRotationGestureHandler - (instancetype)initWithTag:(NSNumber *)tag { if ((self = [super initWithTag:tag])) { + #ifndef TARGET_OS_TV _recognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)]; + #endif } return self; } +#ifndef TARGET_OS_TV +_recognizer = [[UIRotation - (RNGestureHandlerEventExtraData *)eventExtraData:(UIRotationGestureRecognizer *)recognizer { return [RNGestureHandlerEventExtraData @@ -26,6 +30,7 @@ - (RNGestureHandlerEventExtraData *)eventExtraData:(UIRotationGestureRecognizer withVelocity:recognizer.velocity withNumberOfTouches:recognizer.numberOfTouches]; } +#endif @end diff --git a/ios/RNGestureHandler.xcodeproj/project.pbxproj b/ios/RNGestureHandler.xcodeproj/project.pbxproj index a33f3a859..6b3135edc 100644 --- a/ios/RNGestureHandler.xcodeproj/project.pbxproj +++ b/ios/RNGestureHandler.xcodeproj/project.pbxproj @@ -39,6 +39,38 @@ 668E083D21BDD70900EDDF40 /* RNForceTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 668E083B21BDD70900EDDF40 /* RNForceTouchHandler.m */; }; 66A291D5207D032400809C27 /* RNFlingHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A291D3207D032400809C27 /* RNFlingHandler.m */; }; 66A291D6207D032400809C27 /* RNFlingHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 66A291D4207D032400809C27 /* RNFlingHandler.h */; }; + B5C32A0E220C603B000FFB8D /* RNGestureHandlerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC71E1F8FA0700086889F /* RNGestureHandlerButton.m */; }; + B5C32A0F220C603B000FFB8D /* RNForceTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 668E083B21BDD70900EDDF40 /* RNForceTouchHandler.m */; }; + B5C32A10220C603B000FFB8D /* RNGestureHandlerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BE34471F1E1AAA008679D1 /* RNGestureHandlerManager.m */; }; + B5C32A11220C603B000FFB8D /* RNLongPressHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC7241F8FA1270086889F /* RNLongPressHandler.m */; }; + B5C32A12220C603B000FFB8D /* RNGestureHandlerEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 446E7FF71ED89A4B009282E7 /* RNGestureHandlerEvents.m */; }; + B5C32A13220C603B000FFB8D /* RNPanHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC7281F8FA1270086889F /* RNPanHandler.m */; }; + B5C32A14220C603B000FFB8D /* RNGestureHandlerRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC7161F8F9C090086889F /* RNGestureHandlerRegistry.m */; }; + B5C32A15220C603B000FFB8D /* RNGestureHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 448802DC1F6803DF00018214 /* RNGestureHandler.m */; }; + B5C32A16220C603B000FFB8D /* RNTapHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC72E1F8FA1270086889F /* RNTapHandler.m */; }; + B5C32A17220C603B000FFB8D /* RNGestureHandlerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 446E7FDD1ED57CA6009282E7 /* RNGestureHandlerModule.m */; }; + B5C32A18220C603B000FFB8D /* RNRotationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC72C1F8FA1270086889F /* RNRotationHandler.m */; }; + B5C32A19220C603B000FFB8D /* RNNativeViewHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC7261F8FA1270086889F /* RNNativeViewHandler.m */; }; + B5C32A1A220C603B000FFB8D /* RNRootViewGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC7121F8F9B770086889F /* RNRootViewGestureRecognizer.m */; }; + B5C32A1B220C603B000FFB8D /* RNFlingHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A291D3207D032400809C27 /* RNFlingHandler.m */; }; + B5C32A1C220C603B000FFB8D /* RNPinchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AEC72A1F8FA1270086889F /* RNPinchHandler.m */; }; + B5C32A1E220C603B000FFB8D /* RNForceTouchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 668E083A21BDD70900EDDF40 /* RNForceTouchHandler.h */; }; + B5C32A1F220C603B000FFB8D /* RNFlingHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 66A291D4207D032400809C27 /* RNFlingHandler.h */; }; + B5C32A20220C603B000FFB8D /* RNLongPressHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7231F8FA1270086889F /* RNLongPressHandler.h */; }; + B5C32A21220C603B000FFB8D /* RNGestureHandlerModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 446E7FDC1ED57CA6009282E7 /* RNGestureHandlerModule.h */; }; + B5C32A22220C603B000FFB8D /* RNPinchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7291F8FA1270086889F /* RNPinchHandler.h */; }; + B5C32A23220C603B000FFB8D /* RNGestureHandlerRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7141F8F9BEF0086889F /* RNGestureHandlerRegistry.h */; }; + B5C32A24220C603B000FFB8D /* RNGestureHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 448802DB1F6803DF00018214 /* RNGestureHandler.h */; }; + B5C32A25220C603B000FFB8D /* RNRotationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC72B1F8FA1270086889F /* RNRotationHandler.h */; }; + B5C32A26220C603B000FFB8D /* RNPanHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7271F8FA1270086889F /* RNPanHandler.h */; }; + B5C32A27220C603B000FFB8D /* RNGestureHandlerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BE34491F1E1ABA008679D1 /* RNGestureHandlerManager.h */; }; + B5C32A28220C603B000FFB8D /* RNGestureHandlerEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 446E7FF51ED89A31009282E7 /* RNGestureHandlerEvents.h */; }; + B5C32A29220C603B000FFB8D /* RNTapHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC72D1F8FA1270086889F /* RNTapHandler.h */; }; + B5C32A2A220C603B000FFB8D /* RNRootViewGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7101F8F9B6C0086889F /* RNRootViewGestureRecognizer.h */; }; + B5C32A2B220C603B000FFB8D /* RNNativeViewHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC7251F8FA1270086889F /* RNNativeViewHandler.h */; }; + B5C32A2C220C603B000FFB8D /* RNGestureHandlerState.h in Headers */ = {isa = PBXBuildFile; fileRef = 44384A781ECDE0DB006BAD02 /* RNGestureHandlerState.h */; }; + B5C32A2D220C603B000FFB8D /* RNGestureHandlerButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AEC71D1F8FA0700086889F /* RNGestureHandlerButton.h */; }; + B5C32A2E220C603B000FFB8D /* RNGestureHandlerDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 660F46732080D8F600B7B50D /* RNGestureHandlerDirection.h */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -51,6 +83,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B5C32A30220C603B000FFB8D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -87,6 +128,7 @@ 668E083B21BDD70900EDDF40 /* RNForceTouchHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNForceTouchHandler.m; path = Handlers/RNForceTouchHandler.m; sourceTree = ""; }; 66A291D3207D032400809C27 /* RNFlingHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNFlingHandler.m; path = Handlers/RNFlingHandler.m; sourceTree = ""; }; 66A291D4207D032400809C27 /* RNFlingHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNFlingHandler.h; path = Handlers/RNFlingHandler.h; sourceTree = ""; }; + B5C32A36220C603B000FFB8D /* libRNGestureHandler-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRNGestureHandler-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -97,6 +139,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B5C32A2F220C603B000FFB8D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -152,6 +201,7 @@ 44AEC71D1F8FA0700086889F /* RNGestureHandlerButton.h */, 44AEC71E1F8FA0700086889F /* RNGestureHandlerButton.m */, 134814211AA4EA7D00B7C361 /* Products */, + B5C32A36220C603B000FFB8D /* libRNGestureHandler-tvOS.a */, ); sourceTree = ""; }; @@ -182,6 +232,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B5C32A1D220C603B000FFB8D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B5C32A1E220C603B000FFB8D /* RNForceTouchHandler.h in Headers */, + B5C32A1F220C603B000FFB8D /* RNFlingHandler.h in Headers */, + B5C32A20220C603B000FFB8D /* RNLongPressHandler.h in Headers */, + B5C32A21220C603B000FFB8D /* RNGestureHandlerModule.h in Headers */, + B5C32A22220C603B000FFB8D /* RNPinchHandler.h in Headers */, + B5C32A23220C603B000FFB8D /* RNGestureHandlerRegistry.h in Headers */, + B5C32A24220C603B000FFB8D /* RNGestureHandler.h in Headers */, + B5C32A25220C603B000FFB8D /* RNRotationHandler.h in Headers */, + B5C32A26220C603B000FFB8D /* RNPanHandler.h in Headers */, + B5C32A27220C603B000FFB8D /* RNGestureHandlerManager.h in Headers */, + B5C32A28220C603B000FFB8D /* RNGestureHandlerEvents.h in Headers */, + B5C32A29220C603B000FFB8D /* RNTapHandler.h in Headers */, + B5C32A2A220C603B000FFB8D /* RNRootViewGestureRecognizer.h in Headers */, + B5C32A2B220C603B000FFB8D /* RNNativeViewHandler.h in Headers */, + B5C32A2C220C603B000FFB8D /* RNGestureHandlerState.h in Headers */, + B5C32A2D220C603B000FFB8D /* RNGestureHandlerButton.h in Headers */, + B5C32A2E220C603B000FFB8D /* RNGestureHandlerDirection.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -203,13 +277,31 @@ productReference = 134814201AA4EA6300B7C361 /* libRNGestureHandler.a */; productType = "com.apple.product-type.library.static"; }; + B5C32A0C220C603B000FFB8D /* RNGestureHandler-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B5C32A31220C603B000FFB8D /* Build configuration list for PBXNativeTarget "RNGestureHandler-tvOS" */; + buildPhases = ( + B5C32A0D220C603B000FFB8D /* Sources */, + B5C32A1D220C603B000FFB8D /* Headers */, + B5C32A2F220C603B000FFB8D /* Frameworks */, + B5C32A30220C603B000FFB8D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RNGestureHandler-tvOS"; + productName = RCTDataManager; + productReference = B5C32A36220C603B000FFB8D /* libRNGestureHandler-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 58B511D31A9E6C8500147676 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 610; ORGANIZATIONNAME = "Software Mansion"; TargetAttributes = { 58B511DA1A9E6C8500147676 = { @@ -230,6 +322,7 @@ projectRoot = ""; targets = ( 58B511DA1A9E6C8500147676 /* RNGestureHandler */, + B5C32A0C220C603B000FFB8D /* RNGestureHandler-tvOS */, ); }; /* End PBXProject section */ @@ -257,9 +350,47 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B5C32A0D220C603B000FFB8D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B5C32A0E220C603B000FFB8D /* RNGestureHandlerButton.m in Sources */, + B5C32A0F220C603B000FFB8D /* RNForceTouchHandler.m in Sources */, + B5C32A10220C603B000FFB8D /* RNGestureHandlerManager.m in Sources */, + B5C32A11220C603B000FFB8D /* RNLongPressHandler.m in Sources */, + B5C32A12220C603B000FFB8D /* RNGestureHandlerEvents.m in Sources */, + B5C32A13220C603B000FFB8D /* RNPanHandler.m in Sources */, + B5C32A14220C603B000FFB8D /* RNGestureHandlerRegistry.m in Sources */, + B5C32A15220C603B000FFB8D /* RNGestureHandler.m in Sources */, + B5C32A16220C603B000FFB8D /* RNTapHandler.m in Sources */, + B5C32A17220C603B000FFB8D /* RNGestureHandlerModule.m in Sources */, + B5C32A18220C603B000FFB8D /* RNRotationHandler.m in Sources */, + B5C32A19220C603B000FFB8D /* RNNativeViewHandler.m in Sources */, + B5C32A1A220C603B000FFB8D /* RNRootViewGestureRecognizer.m in Sources */, + B5C32A1B220C603B000FFB8D /* RNFlingHandler.m in Sources */, + B5C32A1C220C603B000FFB8D /* RNPinchHandler.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ + 3C75380331224952A9D19739 /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = RNGestureHandler; + SKIP_INSTALL = YES; + }; + name = Testflight; + }; 58B511ED1A9E6C8500147676 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -366,6 +497,157 @@ }; name = Release; }; + 64C7ABFB934A41BFB09378ED /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Testflight; + }; + 6E1E231AAE4C4EB5B94B5418 /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Testflight; + }; + 8F4E4CFC1C3048678D76E403 /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = RNGestureHandler; + SKIP_INSTALL = YES; + }; + name = Testflight; + }; + B5C32A32220C603B000FFB8D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + B5C32A33220C603B000FFB8D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + B5C32A34220C603B000FFB8D /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + }; + name = Testflight; + }; + B5C32A35220C603B000FFB8D /* Testflight */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = RNGestureHandler; + SKIP_INSTALL = YES; + }; + name = Testflight; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -374,6 +656,8 @@ buildConfigurations = ( 58B511ED1A9E6C8500147676 /* Debug */, 58B511EE1A9E6C8500147676 /* Release */, + 6E1E231AAE4C4EB5B94B5418 /* Testflight */, + 64C7ABFB934A41BFB09378ED /* Testflight */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -383,6 +667,19 @@ buildConfigurations = ( 58B511F01A9E6C8500147676 /* Debug */, 58B511F11A9E6C8500147676 /* Release */, + 3C75380331224952A9D19739 /* Testflight */, + 8F4E4CFC1C3048678D76E403 /* Testflight */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B5C32A31220C603B000FFB8D /* Build configuration list for PBXNativeTarget "RNGestureHandler-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B5C32A32220C603B000FFB8D /* Debug */, + B5C32A33220C603B000FFB8D /* Release */, + B5C32A34220C603B000FFB8D /* Testflight */, + B5C32A35220C603B000FFB8D /* Testflight */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release;