├── .gitignore
├── AQWebView.ios.js
├── AQWebView.xcodeproj
└── project.pbxproj
├── AQWebView
├── AQWebView.h
├── AQWebView.m
├── AQWebViewManager.h
└── AQWebViewManager.m
├── LICENSE
├── README.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # xcode noise
2 | build/*
3 | *.pbxuser
4 | *.mode1v3
5 | *.mode2v3
6 | *.perspectivev3
7 | *.xcuserstate
8 | *.xccheckout
9 | project.xcworkspace/
10 | xcuserdata/
11 |
12 | # old skool
13 | .svn
14 |
15 | # osx noise
16 | .DS_Store
17 | profile
18 |
19 | # node.js
20 | #
21 | npm-debug.log
22 | node_modules/
23 |
24 | # CocoaPods
25 | Pods/
26 |
--------------------------------------------------------------------------------
/AQWebView.ios.js:
--------------------------------------------------------------------------------
1 | var React = require('react-native');
2 | var { requireNativeComponent } = React;
3 |
4 | class WKWebView extends React.Component {
5 | render() {
6 | return ;
7 | }
8 | }
9 |
10 | WKWebView.propTypes = {
11 | url: React.PropTypes.string,
12 | automaticallyAdjustContentInsets: React.PropTypes.bool,
13 | contentInset: React.PropTypes.shape({
14 | top: React.PropTypes.number,
15 | left: React.PropTypes.number,
16 | bottom: React.PropTypes.number,
17 | right: React.PropTypes.number
18 | }),
19 | };
20 |
21 | var AQWebView = requireNativeComponent('AQWebView', WKWebView);
22 |
23 | module.exports = WKWebView;
24 |
--------------------------------------------------------------------------------
/AQWebView.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1B461C611BB2360700A57DA9 /* AQWebViewManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1B461C601BB2360700A57DA9 /* AQWebViewManager.h */; };
11 | 1B461C631BB2360700A57DA9 /* AQWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B461C621BB2360700A57DA9 /* AQWebViewManager.m */; };
12 | 1B461C6A1BB2366900A57DA9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B461C691BB2366900A57DA9 /* UIKit.framework */; };
13 | 1B461C6C1BB2367C00A57DA9 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B461C6B1BB2367C00A57DA9 /* WebKit.framework */; };
14 | 1B461C6F1BB23EBF00A57DA9 /* AQWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B461C6E1BB23EBF00A57DA9 /* AQWebView.m */; settings = {ASSET_TAGS = (); }; };
15 | /* End PBXBuildFile section */
16 |
17 | /* Begin PBXCopyFilesBuildPhase section */
18 | 1B461C5B1BB2360700A57DA9 /* CopyFiles */ = {
19 | isa = PBXCopyFilesBuildPhase;
20 | buildActionMask = 2147483647;
21 | dstPath = "include/$(PRODUCT_NAME)";
22 | dstSubfolderSpec = 16;
23 | files = (
24 | 1B461C611BB2360700A57DA9 /* AQWebViewManager.h in CopyFiles */,
25 | );
26 | runOnlyForDeploymentPostprocessing = 0;
27 | };
28 | /* End PBXCopyFilesBuildPhase section */
29 |
30 | /* Begin PBXFileReference section */
31 | 1B461C5D1BB2360700A57DA9 /* libAQWebView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAQWebView.a; sourceTree = BUILT_PRODUCTS_DIR; };
32 | 1B461C601BB2360700A57DA9 /* AQWebViewManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AQWebViewManager.h; sourceTree = ""; };
33 | 1B461C621BB2360700A57DA9 /* AQWebViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AQWebViewManager.m; sourceTree = ""; };
34 | 1B461C691BB2366900A57DA9 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
35 | 1B461C6B1BB2367C00A57DA9 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
36 | 1B461C6D1BB23EBF00A57DA9 /* AQWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AQWebView.h; sourceTree = ""; };
37 | 1B461C6E1BB23EBF00A57DA9 /* AQWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AQWebView.m; sourceTree = ""; };
38 | /* End PBXFileReference section */
39 |
40 | /* Begin PBXFrameworksBuildPhase section */
41 | 1B461C5A1BB2360700A57DA9 /* Frameworks */ = {
42 | isa = PBXFrameworksBuildPhase;
43 | buildActionMask = 2147483647;
44 | files = (
45 | 1B461C6C1BB2367C00A57DA9 /* WebKit.framework in Frameworks */,
46 | 1B461C6A1BB2366900A57DA9 /* UIKit.framework in Frameworks */,
47 | );
48 | runOnlyForDeploymentPostprocessing = 0;
49 | };
50 | /* End PBXFrameworksBuildPhase section */
51 |
52 | /* Begin PBXGroup section */
53 | 1B461C541BB2360700A57DA9 = {
54 | isa = PBXGroup;
55 | children = (
56 | 1B461C6B1BB2367C00A57DA9 /* WebKit.framework */,
57 | 1B461C691BB2366900A57DA9 /* UIKit.framework */,
58 | 1B461C5F1BB2360700A57DA9 /* AQWebView */,
59 | 1B461C5E1BB2360700A57DA9 /* Products */,
60 | );
61 | sourceTree = "";
62 | };
63 | 1B461C5E1BB2360700A57DA9 /* Products */ = {
64 | isa = PBXGroup;
65 | children = (
66 | 1B461C5D1BB2360700A57DA9 /* libAQWebView.a */,
67 | );
68 | name = Products;
69 | sourceTree = "";
70 | };
71 | 1B461C5F1BB2360700A57DA9 /* AQWebView */ = {
72 | isa = PBXGroup;
73 | children = (
74 | 1B461C601BB2360700A57DA9 /* AQWebViewManager.h */,
75 | 1B461C621BB2360700A57DA9 /* AQWebViewManager.m */,
76 | 1B461C6D1BB23EBF00A57DA9 /* AQWebView.h */,
77 | 1B461C6E1BB23EBF00A57DA9 /* AQWebView.m */,
78 | );
79 | path = AQWebView;
80 | sourceTree = "";
81 | };
82 | /* End PBXGroup section */
83 |
84 | /* Begin PBXNativeTarget section */
85 | 1B461C5C1BB2360700A57DA9 /* AQWebView */ = {
86 | isa = PBXNativeTarget;
87 | buildConfigurationList = 1B461C661BB2360700A57DA9 /* Build configuration list for PBXNativeTarget "AQWebView" */;
88 | buildPhases = (
89 | 1B461C591BB2360700A57DA9 /* Sources */,
90 | 1B461C5A1BB2360700A57DA9 /* Frameworks */,
91 | 1B461C5B1BB2360700A57DA9 /* CopyFiles */,
92 | );
93 | buildRules = (
94 | );
95 | dependencies = (
96 | );
97 | name = AQWebView;
98 | productName = AQWebView;
99 | productReference = 1B461C5D1BB2360700A57DA9 /* libAQWebView.a */;
100 | productType = "com.apple.product-type.library.static";
101 | };
102 | /* End PBXNativeTarget section */
103 |
104 | /* Begin PBXProject section */
105 | 1B461C551BB2360700A57DA9 /* Project object */ = {
106 | isa = PBXProject;
107 | attributes = {
108 | LastUpgradeCheck = 0700;
109 | ORGANIZATIONNAME = Aqueous;
110 | TargetAttributes = {
111 | 1B461C5C1BB2360700A57DA9 = {
112 | CreatedOnToolsVersion = 7.0;
113 | };
114 | };
115 | };
116 | buildConfigurationList = 1B461C581BB2360700A57DA9 /* Build configuration list for PBXProject "AQWebView" */;
117 | compatibilityVersion = "Xcode 3.2";
118 | developmentRegion = English;
119 | hasScannedForEncodings = 0;
120 | knownRegions = (
121 | en,
122 | );
123 | mainGroup = 1B461C541BB2360700A57DA9;
124 | productRefGroup = 1B461C5E1BB2360700A57DA9 /* Products */;
125 | projectDirPath = "";
126 | projectRoot = "";
127 | targets = (
128 | 1B461C5C1BB2360700A57DA9 /* AQWebView */,
129 | );
130 | };
131 | /* End PBXProject section */
132 |
133 | /* Begin PBXSourcesBuildPhase section */
134 | 1B461C591BB2360700A57DA9 /* Sources */ = {
135 | isa = PBXSourcesBuildPhase;
136 | buildActionMask = 2147483647;
137 | files = (
138 | 1B461C631BB2360700A57DA9 /* AQWebViewManager.m in Sources */,
139 | 1B461C6F1BB23EBF00A57DA9 /* AQWebView.m in Sources */,
140 | );
141 | runOnlyForDeploymentPostprocessing = 0;
142 | };
143 | /* End PBXSourcesBuildPhase section */
144 |
145 | /* Begin XCBuildConfiguration section */
146 | 1B461C641BB2360700A57DA9 /* Debug */ = {
147 | isa = XCBuildConfiguration;
148 | buildSettings = {
149 | ALWAYS_SEARCH_USER_PATHS = NO;
150 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
151 | CLANG_CXX_LIBRARY = "libc++";
152 | CLANG_ENABLE_MODULES = YES;
153 | CLANG_ENABLE_OBJC_ARC = YES;
154 | CLANG_WARN_BOOL_CONVERSION = YES;
155 | CLANG_WARN_CONSTANT_CONVERSION = YES;
156 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
157 | CLANG_WARN_EMPTY_BODY = YES;
158 | CLANG_WARN_ENUM_CONVERSION = YES;
159 | CLANG_WARN_INT_CONVERSION = YES;
160 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
161 | CLANG_WARN_UNREACHABLE_CODE = YES;
162 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
163 | COPY_PHASE_STRIP = NO;
164 | DEBUG_INFORMATION_FORMAT = dwarf;
165 | ENABLE_STRICT_OBJC_MSGSEND = YES;
166 | ENABLE_TESTABILITY = YES;
167 | GCC_C_LANGUAGE_STANDARD = gnu99;
168 | GCC_DYNAMIC_NO_PIC = NO;
169 | GCC_NO_COMMON_BLOCKS = YES;
170 | GCC_OPTIMIZATION_LEVEL = 0;
171 | GCC_PREPROCESSOR_DEFINITIONS = (
172 | "DEBUG=1",
173 | "$(inherited)",
174 | );
175 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
176 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
177 | GCC_WARN_UNDECLARED_SELECTOR = YES;
178 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
179 | GCC_WARN_UNUSED_FUNCTION = YES;
180 | GCC_WARN_UNUSED_VARIABLE = YES;
181 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
182 | MTL_ENABLE_DEBUG_INFO = YES;
183 | ONLY_ACTIVE_ARCH = YES;
184 | SDKROOT = iphoneos;
185 | };
186 | name = Debug;
187 | };
188 | 1B461C651BB2360700A57DA9 /* Release */ = {
189 | isa = XCBuildConfiguration;
190 | buildSettings = {
191 | ALWAYS_SEARCH_USER_PATHS = NO;
192 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
193 | CLANG_CXX_LIBRARY = "libc++";
194 | CLANG_ENABLE_MODULES = YES;
195 | CLANG_ENABLE_OBJC_ARC = YES;
196 | CLANG_WARN_BOOL_CONVERSION = YES;
197 | CLANG_WARN_CONSTANT_CONVERSION = YES;
198 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
199 | CLANG_WARN_EMPTY_BODY = YES;
200 | CLANG_WARN_ENUM_CONVERSION = YES;
201 | CLANG_WARN_INT_CONVERSION = YES;
202 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
203 | CLANG_WARN_UNREACHABLE_CODE = YES;
204 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
205 | COPY_PHASE_STRIP = NO;
206 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
207 | ENABLE_NS_ASSERTIONS = NO;
208 | ENABLE_STRICT_OBJC_MSGSEND = YES;
209 | GCC_C_LANGUAGE_STANDARD = gnu99;
210 | GCC_NO_COMMON_BLOCKS = YES;
211 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
212 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
213 | GCC_WARN_UNDECLARED_SELECTOR = YES;
214 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
215 | GCC_WARN_UNUSED_FUNCTION = YES;
216 | GCC_WARN_UNUSED_VARIABLE = YES;
217 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
218 | MTL_ENABLE_DEBUG_INFO = NO;
219 | SDKROOT = iphoneos;
220 | VALIDATE_PRODUCT = YES;
221 | };
222 | name = Release;
223 | };
224 | 1B461C671BB2360700A57DA9 /* Debug */ = {
225 | isa = XCBuildConfiguration;
226 | buildSettings = {
227 | HEADER_SEARCH_PATHS = (
228 | "$(SRCROOT)/../react-native/React/**",
229 | "$(SRCROOT)/node_modules/react-native/React/**",
230 | );
231 | OTHER_LDFLAGS = "-ObjC";
232 | PRODUCT_NAME = "$(TARGET_NAME)";
233 | SKIP_INSTALL = YES;
234 | };
235 | name = Debug;
236 | };
237 | 1B461C681BB2360700A57DA9 /* Release */ = {
238 | isa = XCBuildConfiguration;
239 | buildSettings = {
240 | HEADER_SEARCH_PATHS = (
241 | "$(SRCROOT)/../react-native/React/**",
242 | "$(SRCROOT)/node_modules/react-native/React/**",
243 | );
244 | OTHER_LDFLAGS = "-ObjC";
245 | PRODUCT_NAME = "$(TARGET_NAME)";
246 | SKIP_INSTALL = YES;
247 | };
248 | name = Release;
249 | };
250 | /* End XCBuildConfiguration section */
251 |
252 | /* Begin XCConfigurationList section */
253 | 1B461C581BB2360700A57DA9 /* Build configuration list for PBXProject "AQWebView" */ = {
254 | isa = XCConfigurationList;
255 | buildConfigurations = (
256 | 1B461C641BB2360700A57DA9 /* Debug */,
257 | 1B461C651BB2360700A57DA9 /* Release */,
258 | );
259 | defaultConfigurationIsVisible = 0;
260 | defaultConfigurationName = Release;
261 | };
262 | 1B461C661BB2360700A57DA9 /* Build configuration list for PBXNativeTarget "AQWebView" */ = {
263 | isa = XCConfigurationList;
264 | buildConfigurations = (
265 | 1B461C671BB2360700A57DA9 /* Debug */,
266 | 1B461C681BB2360700A57DA9 /* Release */,
267 | );
268 | defaultConfigurationIsVisible = 0;
269 | defaultConfigurationName = Release;
270 | };
271 | /* End XCConfigurationList section */
272 | };
273 | rootObject = 1B461C551BB2360700A57DA9 /* Project object */;
274 | }
275 |
--------------------------------------------------------------------------------
/AQWebView/AQWebView.h:
--------------------------------------------------------------------------------
1 | #import "RCTView.h"
2 |
3 | @interface AQWebView : RCTView
4 |
5 | @property (nonatomic, strong) NSURL *URL;
6 | @property (nonatomic, assign) UIEdgeInsets contentInset;
7 | @property (nonatomic, assign) BOOL automaticallyAdjustContentInsets;
8 |
9 | - (void)reload;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/AQWebView/AQWebView.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "AQWebView.h"
4 | #import "RCTAutoInsetsProtocol.h"
5 |
6 | // lots of code from https://github.com/facebook/react-native/blob/master/React/Views/RCTWebView.m
7 |
8 | @interface AQWebView ()
9 | @end
10 |
11 | @implementation AQWebView
12 | {
13 | WKWebView *_webView;
14 | UIActivityIndicatorView *_spinner;
15 | UIRefreshControl *_refreshControl;
16 | }
17 |
18 | - (instancetype)initWithFrame:(CGRect)frame
19 | {
20 | if ((self = [super initWithFrame:frame])) {
21 | super.backgroundColor = [UIColor clearColor];
22 | _automaticallyAdjustContentInsets = YES;
23 | _contentInset = UIEdgeInsetsZero;
24 |
25 | _webView = [[WKWebView alloc] initWithFrame:self.bounds];
26 | _webView.allowsBackForwardNavigationGestures = YES;
27 | _webView.allowsLinkPreview = YES;
28 | _webView.navigationDelegate = self;
29 | [self addSubview:_webView];
30 |
31 | _spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
32 | [_spinner setTranslatesAutoresizingMaskIntoConstraints:NO];
33 | [_spinner startAnimating];
34 | [_webView addSubview:_spinner];
35 |
36 | _refreshControl = [[UIRefreshControl alloc] init];
37 | [_webView.scrollView addSubview:_refreshControl];
38 | [_refreshControl addTarget:self action:@selector(reload) forControlEvents:UIControlEventValueChanged];
39 |
40 | [_webView addConstraint:[NSLayoutConstraint constraintWithItem:_spinner
41 | attribute:NSLayoutAttributeCenterX
42 | relatedBy:NSLayoutRelationEqual
43 | toItem:_webView
44 | attribute:NSLayoutAttributeCenterX
45 | multiplier:1
46 | constant:0]];
47 |
48 | [_webView addConstraint:[NSLayoutConstraint constraintWithItem:_spinner
49 | attribute:NSLayoutAttributeCenterY
50 | relatedBy:NSLayoutRelationEqual
51 | toItem:_webView
52 | attribute:NSLayoutAttributeCenterY
53 | multiplier:1
54 | constant:0]];
55 | }
56 | return self;
57 | }
58 |
59 | - (void)reload
60 | {
61 | [_webView loadRequest:[NSURLRequest requestWithURL:_webView.URL]];
62 | }
63 |
64 | - (NSURL *)URL
65 | {
66 | return _webView.URL;
67 | }
68 |
69 | - (void)setURL:(NSURL *)URL
70 | {
71 | [_webView loadRequest:[NSURLRequest requestWithURL:URL]];
72 | }
73 |
74 | - (void)layoutSubviews
75 | {
76 | [super layoutSubviews];
77 | _webView.frame = self.bounds;
78 | }
79 |
80 | - (void)setContentInset:(UIEdgeInsets)contentInset
81 | {
82 | _contentInset = contentInset;
83 | [RCTView autoAdjustInsetsForView:self
84 | withScrollView:_webView.scrollView
85 | updateOffset:NO];
86 | }
87 |
88 | - (void)setBackgroundColor:(UIColor *)backgroundColor
89 | {
90 | CGFloat alpha = CGColorGetAlpha(backgroundColor.CGColor);
91 | self.opaque = _webView.opaque = (alpha == 1.0);
92 | _webView.backgroundColor = backgroundColor;
93 | }
94 |
95 | - (UIColor *)backgroundColor
96 | {
97 | return _webView.backgroundColor;
98 | }
99 |
100 | - (void)refreshContentInset
101 | {
102 | [RCTView autoAdjustInsetsForView:self
103 | withScrollView:_webView.scrollView
104 | updateOffset:YES];
105 | }
106 |
107 | #pragma mark - WKNavigationDelegate
108 |
109 | -(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
110 | {
111 | [_spinner stopAnimating];
112 | [_refreshControl endRefreshing];
113 | }
114 |
115 | @end
116 |
--------------------------------------------------------------------------------
/AQWebView/AQWebViewManager.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "RCTViewManager.h"
3 |
4 | @interface AQWebViewManager : RCTViewManager
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/AQWebView/AQWebViewManager.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import "AQWebViewManager.h"
3 | #import "AQWebView.h"
4 |
5 | #import "RCTBridge.h"
6 | #import "RCTUIManager.h"
7 | #import "RCTWebView.h"
8 |
9 | @implementation AQWebViewManager
10 |
11 | RCT_EXPORT_MODULE()
12 |
13 | - (UIView *) view
14 | {
15 | return [[AQWebView alloc] init];
16 | }
17 |
18 | RCT_REMAP_VIEW_PROPERTY(url, URL, NSURL);
19 | RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets);
20 | RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustContentInsets, BOOL);
21 |
22 | RCT_EXPORT_METHOD(reload:(nonnull NSNumber *)reactTag)
23 | {
24 | [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) {
25 | AQWebView *view = viewRegistry[reactTag];
26 | if (![view isKindOfClass:[AQWebView class]]) {
27 | RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view);
28 | } else {
29 | [view reload];
30 | }
31 | }];
32 | }
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015, Nick Quaranto
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # react-native-wkwebview
2 |
3 | In Progress!
4 |
5 | ## License
6 |
7 | MIT. See `LICENSE`.
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-wkwebview",
3 | "version": "0.0.1",
4 | "description": "React Native Module for WKWebView",
5 | "main": "AQWebView.ios.js",
6 | "repository": {
7 | "type": "git",
8 | "url": "git@github.com:qrush/react-native-wkwebview.git"
9 | },
10 | "files": [
11 | "AQWebView.xcodeproj",
12 | "AQWebView/AQWebView.h",
13 | "AQWebView/AQWebView.m",
14 | "AQWebView/AQWebViewManager.h",
15 | "AQWebView/AQWebViewManager.m",
16 | "AQWebView.ios.js",
17 | "README.md"
18 | ],
19 | "keywords": [
20 | "react-component",
21 | "react-native",
22 | "ios",
23 | "webview",
24 | "uiwebview",
25 | "wkwebview"
26 | ],
27 | "author": "Nick Quaranto ",
28 | "license": "MIT",
29 | "dependencies": {
30 | "react-native": "< 1"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------