diff --git a/ios/devhub.xcodeproj/project.pbxproj b/ios/devhub.xcodeproj/project.pbxproj index 9eb6e594..8bed74fe 100644 --- a/ios/devhub.xcodeproj/project.pbxproj +++ b/ios/devhub.xcodeproj/project.pbxproj @@ -39,6 +39,7 @@ 70529AC5247643599CF57A1E /* libBugsnagReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FEA28150F0284124B5AAA6E5 /* libBugsnagReactNative.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 8D76C76874A04A2995094F54 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3EECC793DFFB4ED6B076E626 /* Octicons.ttf */; }; + AF5CA5BEDDF841C1A396C9E5 /* libRCTWKWebView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AD860DD733B4A5D8663A92E /* libRCTWKWebView.a */; }; CE2BE6CB5D154078874FB499 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57AA208D43CA480F8D711CC4 /* libRNVectorIcons.a */; }; E620E174FB04479A83B63EF2 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CFD9476C09474046AC17A14E /* libz.tbd */; }; FB160032F99C480BA68444DD /* libCodePush.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A31A58FBC5448608452A5BB /* libCodePush.a */; }; @@ -151,6 +152,13 @@ remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = CodePush; }; + 2ECCD5DE1E907A04007DF805 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2C989B298AFF449FBEB9A0C3 /* RCTWKWebView.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0974579A1D2A440A000D9368; + remoteInfo = RCTWKWebView; + }; 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; @@ -297,6 +305,7 @@ 25C710C69B5F45C7B0AAC12E /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = ""; }; 2893507154194F37A0506471 /* 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 = ""; }; 2A9840694FB74C18BE3E68BA /* 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 = ""; }; + 2C989B298AFF449FBEB9A0C3 /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* devhub-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "devhub-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* devhub-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "devhub-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 2E207F1B8D1E436EA57BBBB8 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; @@ -305,6 +314,7 @@ 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 7A31A58FBC5448608452A5BB /* libCodePush.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libCodePush.a; sourceTree = ""; }; + 7AD860DD733B4A5D8663A92E /* libRCTWKWebView.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTWKWebView.a; sourceTree = ""; }; 81CBED937A794546B2944E97 /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 910FE5001BCD4451A788F4BA /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; @@ -350,6 +360,7 @@ FC6C552136EF4C0E8A14BD70 /* libRCTOrientationListener.a in Frameworks */, CE2BE6CB5D154078874FB499 /* libRNVectorIcons.a in Frameworks */, FB160032F99C480BA68444DD /* libCodePush.a in Frameworks */, + AF5CA5BEDDF841C1A396C9E5 /* libRCTWKWebView.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -524,6 +535,14 @@ name = Products; sourceTree = ""; }; + 2ECCD5C61E907A04007DF805 /* Products */ = { + isa = PBXGroup; + children = ( + 2ECCD5DF1E907A04007DF805 /* libRCTWKWebView.a */, + ); + name = Products; + sourceTree = ""; + }; 37BD2C74772940869DA52D8D /* Frameworks */ = { isa = PBXGroup; children = ( @@ -586,6 +605,7 @@ AB600FA23AD64E789E7929C8 /* RCTOrientationListener.xcodeproj */, 16B358E9AC2546ED9A8E8D22 /* RNVectorIcons.xcodeproj */, EB7551F877DB4815969BF2BF /* CodePush.xcodeproj */, + 2C989B298AFF449FBEB9A0C3 /* RCTWKWebView.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -795,6 +815,10 @@ ProductGroup = 139FDEE71B06529A00C62182 /* Products */; ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; }, + { + ProductGroup = 2ECCD5C61E907A04007DF805 /* Products */; + ProjectRef = 2C989B298AFF449FBEB9A0C3 /* RCTWKWebView.xcodeproj */; + }, { ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; @@ -906,6 +930,13 @@ remoteRef = 2EA88ECB1E72B1260078504B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 2ECCD5DF1E907A04007DF805 /* libRCTWKWebView.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTWKWebView.a; + remoteRef = 2ECCD5DE1E907A04007DF805 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1171,6 +1202,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = devhubTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1182,6 +1214,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1205,6 +1238,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = devhubTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1216,6 +1250,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1242,6 +1277,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = devhub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1270,6 +1306,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = devhub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1303,6 +1340,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = "devhub-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1313,6 +1351,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1345,6 +1384,7 @@ "$(SRCROOT)/../node_modules/react-native-orientation-listener", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**", + "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", ); INFOPLIST_FILE = "devhub-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1355,6 +1395,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1388,6 +1429,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.devhub-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1417,6 +1459,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.devhub-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/package.json b/package.json index fb566cd0..c96a4af6 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "react-native-orientation-listener": "https://github.com/iRoachie/react-native-orientation-listener", "react-native-prompt-android": "^0.0.5", "react-native-vector-icons": "^4.0.0", + "react-native-wkwebview-reborn": "^1.4.0", "react-navigation": "^1.0.0-beta.6", "react-redux": "^5.0.3", "redux": "^3.6.0", @@ -75,8 +76,13 @@ }, "jest": { "preset": "jest-react-native", - "moduleFileExtensions": ["js"], - "moduleDirectories": ["node_modules", "web/node_modules"], + "moduleFileExtensions": [ + "js" + ], + "moduleDirectories": [ + "node_modules", + "web/node_modules" + ], "testRegex": "/(web/src|src)/.*\\.test\\.js$" } } diff --git a/src/components/Browser.ios.js b/src/components/Browser.ios.js new file mode 100644 index 00000000..291d8c54 --- /dev/null +++ b/src/components/Browser.ios.js @@ -0,0 +1 @@ +export default from 'react-native-wkwebview-reborn'; diff --git a/yarn.lock b/yarn.lock index 7d9b023c..20774042 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2136,7 +2136,7 @@ fbjs-scripts@^0.7.0: semver "^5.1.0" through2 "^2.0.0" -fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.8, fbjs@^0.8.9, fbjs@~0.8.9: +fbjs@^0.8.3, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.8, fbjs@^0.8.9, fbjs@~0.8.9: version "0.8.9" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.9.tgz#180247fbd347dcc9004517b904f865400a0c8f14" dependencies: @@ -4205,9 +4205,15 @@ react-native-vector-icons@^4.0.0: lodash "^4.0.0" yargs "^6.3.0" -react-native@0.43.0-rc.3: - version "0.43.0-rc.3" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.43.0-rc.3.tgz#021e5910887b9c7c6bd7e04591b5c6e145d7ab8a" +react-native-wkwebview-reborn@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/react-native-wkwebview-reborn/-/react-native-wkwebview-reborn-1.4.0.tgz#5558ac1f7bc8e7ac30bc6f8b30e5ab4ab64523f8" + dependencies: + fbjs "^0.8.3" + +react-native@0.43.0-rc.0: + version "0.43.0-rc.0" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.43.0-rc.0.tgz#0eefefcda4e5546b69072fa9020c51e42294cb2e" dependencies: absolute-path "^0.0.0" art "^0.10.0" @@ -5134,9 +5140,9 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -styled-components@2.0.0-7: - version "2.0.0-7" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-7.tgz#a420b99622eacec26ae3d62c1c75985791d9691b" +styled-components@2.0.0-6: + version "2.0.0-6" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-6.tgz#ab338ebf42a0c7ca667ad9478ec5a138d41530ec" dependencies: buffer "^5.0.3" css-to-react-native "2.0.1"