소스 검색

fix(WKWebview): Fixed for supporting mediaPlaybackRequiresUserAction option under iOS 10. (#129)

ifsnow 5 년 전
부모
커밋
c0c0116c80
1개의 변경된 파일11개의 추가작업 그리고 9개의 파일을 삭제
  1. 11
    9
      ios/RNCWKWebView.m

+ 11
- 9
ios/RNCWKWebView.m 파일 보기

92
     wkWebViewConfig.mediaTypesRequiringUserActionForPlayback = _mediaPlaybackRequiresUserAction
92
     wkWebViewConfig.mediaTypesRequiringUserActionForPlayback = _mediaPlaybackRequiresUserAction
93
       ? WKAudiovisualMediaTypeAll
93
       ? WKAudiovisualMediaTypeAll
94
       : WKAudiovisualMediaTypeNone;
94
       : WKAudiovisualMediaTypeNone;
95
-   wkWebViewConfig.dataDetectorTypes = _dataDetectorTypes;
95
+    wkWebViewConfig.dataDetectorTypes = _dataDetectorTypes;
96
+#else
97
+    wkWebViewConfig.mediaPlaybackRequiresUserAction = _mediaPlaybackRequiresUserAction;
96
 #endif
98
 #endif
97
 
99
 
98
     _webView = [[WKWebView alloc] initWithFrame:self.bounds configuration: wkWebViewConfig];
100
     _webView = [[WKWebView alloc] initWithFrame:self.bounds configuration: wkWebViewConfig];
216
 
218
 
217
 -(void)setHideKeyboardAccessoryView:(BOOL)hideKeyboardAccessoryView
219
 -(void)setHideKeyboardAccessoryView:(BOOL)hideKeyboardAccessoryView
218
 {
220
 {
219
-    
221
+
220
     if (_webView == nil) {
222
     if (_webView == nil) {
221
         _savedHideKeyboardAccessoryView = hideKeyboardAccessoryView;
223
         _savedHideKeyboardAccessoryView = hideKeyboardAccessoryView;
222
         return;
224
         return;
225
     if (_savedHideKeyboardAccessoryView == false) {
227
     if (_savedHideKeyboardAccessoryView == false) {
226
         return;
228
         return;
227
     }
229
     }
228
-    
230
+
229
     UIView* subview;
231
     UIView* subview;
230
     for (UIView* view in _webView.scrollView.subviews) {
232
     for (UIView* view in _webView.scrollView.subviews) {
231
         if([[view.class description] hasPrefix:@"WK"])
233
         if([[view.class description] hasPrefix:@"WK"])
232
             subview = view;
234
             subview = view;
233
     }
235
     }
234
-    
236
+
235
     if(subview == nil) return;
237
     if(subview == nil) return;
236
-    
238
+
237
     NSString* name = [NSString stringWithFormat:@"%@_SwizzleHelperWK", subview.class.superclass];
239
     NSString* name = [NSString stringWithFormat:@"%@_SwizzleHelperWK", subview.class.superclass];
238
     Class newClass = NSClassFromString(name);
240
     Class newClass = NSClassFromString(name);
239
-    
241
+
240
     if(newClass == nil)
242
     if(newClass == nil)
241
     {
243
     {
242
         newClass = objc_allocateClassPair(subview.class, [name cStringUsingEncoding:NSASCIIStringEncoding], 0);
244
         newClass = objc_allocateClassPair(subview.class, [name cStringUsingEncoding:NSASCIIStringEncoding], 0);
243
         if(!newClass) return;
245
         if(!newClass) return;
244
-        
246
+
245
         Method method = class_getInstanceMethod([_SwizzleHelperWK class], @selector(inputAccessoryView));
247
         Method method = class_getInstanceMethod([_SwizzleHelperWK class], @selector(inputAccessoryView));
246
         class_addMethod(newClass, @selector(inputAccessoryView), method_getImplementation(method), method_getTypeEncoding(method));
248
         class_addMethod(newClass, @selector(inputAccessoryView), method_getImplementation(method), method_getTypeEncoding(method));
247
-        
249
+
248
         objc_registerClassPair(newClass);
250
         objc_registerClassPair(newClass);
249
     }
251
     }
250
-    
252
+
251
     object_setClass(subview, newClass);
253
     object_setClass(subview, newClass);
252
 }
254
 }
253
 
255