From 1164660450b6639b290951472048f05fe7e54652 Mon Sep 17 00:00:00 2001 From: duwen Date: Thu, 11 Oct 2018 14:01:35 +0800 Subject: [PATCH] refactor code --- .../Debug-iphonesimulator/libdsbridge.a | Bin 346424 -> 347160 bytes README.md | 5 +- dsBridge.podspec | 2 +- .../xcdebugger/Breakpoints_v2.xcbkptlist | 114 +----------------- dsbridge/DSCallInfo.h | 7 -- dsbridge/DWKWebView.m | 102 ++++++++-------- dsbridge/InternalApis.h | 8 -- dsbridge/InternalApis.m | 8 -- dsbridge/JSBUtil.h | 16 --- dsbridge/JSBUtil.m | 1 - dsbridge/dsbridge.h | 8 -- dsbridgedemo/test.html | 3 +- readme-chs.md | 7 +- 13 files changed, 57 insertions(+), 224 deletions(-) diff --git a/Build/Products/Debug-iphonesimulator/libdsbridge.a b/Build/Products/Debug-iphonesimulator/libdsbridge.a index a4d4e3a569cb24f5e277aff9414c16ab7c6d7c41..1651447693e8840fac507bd52e6d041f1899edb9 100644 GIT binary patch delta 87075 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�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 Modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native applications. - - -Chinese documentation [中文文档](https://github.com/wendux/DSBridge-IOS/blob/master/readme-chs.md) + DSBridge-Android:https://github.com/wendux/DSBridge-Android diff --git a/dsBridge.podspec b/dsBridge.podspec index b309fc4..d13e2c9 100644 --- a/dsBridge.podspec +++ b/dsBridge.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| # s.name = "dsBridge" - s.version = "3.0.4" + s.version = "3.0.5" s.summary = "An ios bridge for calling functions synchronously and asynchronously between JavaScript and Object-C in WKWebView/UIWebView" # This description is used to generate tags and improve search results. diff --git a/dsbridge.xcodeproj/xcuserdata/du.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/dsbridge.xcodeproj/xcuserdata/du.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 09cb715..c965ffe 100644 --- a/dsbridge.xcodeproj/xcuserdata/du.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/dsbridge.xcodeproj/xcuserdata/du.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -211,118 +211,6 @@ landmarkType = "7"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dsbridge/DWKWebView.m b/dsbridge/DWKWebView.m index 16de54e..9656317 100644 --- a/dsbridge/DWKWebView.m +++ b/dsbridge/DWKWebView.m @@ -1,21 +1,15 @@ -// -// DSWKwebview.m -// -// Created by wendu on 16/12/28. -// Copyright © 2016 wendu. All rights reserved. -// - #import "DWKWebView.h" #import "JSBUtil.h" #import "DSCallInfo.h" #import "InternalApis.h" +#import @implementation DWKWebView { void (^alertHandler)(void); void (^confirmHandler)(BOOL); void (^promptHandler)(NSString *); - void(^javascriptCloseWindowListener)(void); + void(^javascriptCloseWindowListener)(void); int dialogType; int callId; bool jsDialogBlock; @@ -48,12 +42,12 @@ -(instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration isPending=false; isDebug=false; dialogTextDic=@{}; - + WKUserScript *script = [[WKUserScript alloc] initWithSource:@"window._dswk=true;" injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]; [configuration.userContentController addUserScript:script]; - self = [super initWithFrame:frame configuration: configuration]; + self = [super initWithFrame:frame configuration: configuration]; if (self) { super.UIDelegate=self; } @@ -83,7 +77,7 @@ - (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSSt } } completionHandler(result); - + }else { if(!jsDialogBlock){ completionHandler(nil); @@ -102,11 +96,12 @@ - (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSSt if(jsDialogBlock){ promptHandler=completionHandler; } - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:prompt - message:@"" - delegate:self - cancelButtonTitle:dialogTextDic[@"promptCancelBtn"]?dialogTextDic[@"promptCancelBtn"]:@"取消" - otherButtonTitles:dialogTextDic[@"promptOkBtn"]?dialogTextDic[@"promptOkBtn"]:@"确定", + UIAlertView *alert = [[UIAlertView alloc] + initWithTitle:prompt + message:@"" + delegate:self + cancelButtonTitle:dialogTextDic[@"promptCancelBtn"]?dialogTextDic[@"promptCancelBtn"]:@"取消" + otherButtonTitles:dialogTextDic[@"promptOkBtn"]?dialogTextDic[@"promptOkBtn"]:@"确定", nil]; [alert setAlertViewStyle:UIAlertViewStylePlainTextInput]; txtName = [alert textFieldAtIndex:0]; @@ -151,8 +146,8 @@ -(void)webView:(WKWebView *)webView runJavaScriptConfirmPanelWithMessage:(NSStri if(!jsDialogBlock){ completionHandler(YES); } - if( self.DSUIDelegate && [self.DSUIDelegate respondsToSelector: - @selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]) + if( self.DSUIDelegate&& [self.DSUIDelegate respondsToSelector: + @selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]) { return[self.DSUIDelegate webView:webView runJavaScriptConfirmPanelWithMessage:message initiatedByFrame:frame @@ -188,25 +183,30 @@ - (void)webViewDidClose:(WKWebView *)webView{ } - (BOOL)webView:(WKWebView *)webView shouldPreviewElement:(WKPreviewElementInfo *)elementInfo{ - if( self.DSUIDelegate && [self.DSUIDelegate respondsToSelector: - @selector(webView:shouldPreviewElement:)]){ - return [self.DSUIDelegate webView:webView shouldPreviewElement:elementInfo]; - } + if( self.DSUIDelegate + && [self.DSUIDelegate respondsToSelector: + @selector(webView:shouldPreviewElement:)]){ + return [self.DSUIDelegate webView:webView shouldPreviewElement:elementInfo]; + } return NO; } - (UIViewController *)webView:(WKWebView *)webView previewingViewControllerForElement:(WKPreviewElementInfo *)elementInfo defaultActions:(NSArray> *)previewActions{ - if( self.DSUIDelegate && [self.DSUIDelegate respondsToSelector: - @selector(webView:previewingViewControllerForElement:defaultActions:)]){ - return [self.DSUIDelegate webView:webView previewingViewControllerForElement:elementInfo defaultActions:previewActions]; + if( self.DSUIDelegate && + [self.DSUIDelegate respondsToSelector:@selector(webView:previewingViewControllerForElement:defaultActions:)]){ + return [self.DSUIDelegate + webView:webView + previewingViewControllerForElement:elementInfo + defaultActions:previewActions + ]; } return nil; } - (void)webView:(WKWebView *)webView commitPreviewingViewController:(UIViewController *)previewingViewController{ - if( self.DSUIDelegate && [self.DSUIDelegate respondsToSelector: - @selector(webView:commitPreviewingViewController:)]){ + if( self.DSUIDelegate + && [self.DSUIDelegate respondsToSelector:@selector(webView:commitPreviewingViewController:)]){ return [self.DSUIDelegate webView:webView commitPreviewingViewController:previewingViewController]; } } @@ -223,7 +223,7 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto if(buttonIndex==1){ promptHandler([txtName text]); }else{ - promptHandler(@""); + promptHandler(@""); } promptHandler=nil; txtName=nil; @@ -246,7 +246,7 @@ - (void) evalJavascript:(int) delay{ -(NSString *)call:(NSString*) method :(NSString*) argStr { NSArray *nameStr=[JSBUtil parseNamespace:[method stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]]; - //id JavascriptInterfaceObject= [javaScriptNamespaceInterfaces objectForKey:nameStr[0]]; + id JavascriptInterfaceObject=javaScriptNamespaceInterfaces[nameStr[0]]; NSString *error=[NSString stringWithFormat:@"Error! \n Method %@ is not invoked, since there is not a implementation for it",method]; NSMutableDictionary*result =[NSMutableDictionary dictionaryWithDictionary:@{@"code":@-1,@"data":@""}]; @@ -263,7 +263,6 @@ -(NSString *)call:(NSString*) method :(NSString*) argStr if(arg==[NSNull null]){ arg=nil; } - //if(arg) NSString * cb; do{ if(args && (cb= args[@"_dscbstub"])){ @@ -297,20 +296,15 @@ -(NSString *)call:(NSString*) method :(NSString*) argStr } }; - - SuppressPerformSelectorLeakWarning( - [JavascriptInterfaceObject performSelector:selasyn withObject:arg withObject:completionHandler]; - - ); + void(*action)(id,SEL,id,id) = (void(*)(id,SEL,id,id))objc_msgSend; + action(JavascriptInterfaceObject,selasyn,arg,completionHandler); break; } }else if([JavascriptInterfaceObject respondsToSelector:sel]){ id ret; - SuppressPerformSelectorLeakWarning( - ret=[JavascriptInterfaceObject performSelector:sel withObject:arg]; - ); - + id(*action)(id,SEL,id) = (id(*)(id,SEL,id))objc_msgSend; + ret=action(JavascriptInterfaceObject,sel,arg); [result setValue:@0 forKey:@"code"]; if(ret!=nil){ [result setValue:ret forKey:@"data"]; @@ -385,7 +379,7 @@ - (void) dispatchJavascriptCall:(DSCallInfo*) info{ - (void) addJavascriptObject:(id)object namespace:(NSString *)namespace{ if(namespace==nil){ - namespace=@""; + namespace=@""; } if(object!=NULL){ [javaScriptNamespaceInterfaces setObject:object forKey:namespace]; @@ -409,22 +403,22 @@ - (id)onMessage:(NSDictionary *)msg type:(int)type{ id ret=nil; switch (type) { case DSB_API_HASNATIVEMETHOD: - ret= [self hasNativeMethod:msg]?@1:@0; - break; + ret= [self hasNativeMethod:msg]?@1:@0; + break; case DSB_API_CLOSEPAGE: - [self closePage:msg]; - break; + [self closePage:msg]; + break; case DSB_API_RETURNVALUE: - ret=[self returnValue:msg]; - break; + ret=[self returnValue:msg]; + break; case DSB_API_DSINIT: - ret=[self dsinit:msg]; - break; + ret=[self dsinit:msg]; + break; case DSB_API_DISABLESAFETYALERTBOX: - [self disableJavascriptDialogBlock:[msg[@"disable"] boolValue]]; - break; + [self disableJavascriptDialogBlock:[msg[@"disable"] boolValue]]; + break; default: - break; + break; } return ret; } @@ -483,9 +477,9 @@ - (void) disableJavascriptDialogBlock:(bool) disable{ } - (void)hasJavascriptMethod:(NSString *)handlerName methodExistCallback:(void (^)(bool exist))callback{ - [self callHandler:@"_hasJavascriptMethod" arguments:@[handlerName] completionHandler:^(NSNumber* _Nullable value) { - callback([value boolValue]); - }]; + [self callHandler:@"_hasJavascriptMethod" arguments:@[handlerName] completionHandler:^(NSNumber* _Nullable value) { + callback([value boolValue]); + }]; } @end diff --git a/dsbridge/InternalApis.h b/dsbridge/InternalApis.h index 9f32148..688d55c 100644 --- a/dsbridge/InternalApis.h +++ b/dsbridge/InternalApis.h @@ -1,11 +1,3 @@ -// -// InternalApis.h -// dsbridge -// -// Created by du on 2018/1/30. -// Copyright © 2018年 杜文. All rights reserved. -// - #import #import "DWKWebView.h" diff --git a/dsbridge/InternalApis.m b/dsbridge/InternalApis.m index 3b64a06..528b3c3 100644 --- a/dsbridge/InternalApis.m +++ b/dsbridge/InternalApis.m @@ -1,11 +1,3 @@ -// -// InternalApis.m -// dsbridge -// -// Created by du on 2018/1/30. -// Copyright © 2018年 杜文. All rights reserved. -// - #import "InternalApis.h" #import "JSBUtil.h" diff --git a/dsbridge/JSBUtil.h b/dsbridge/JSBUtil.h index 58a639e..c2a6b6f 100644 --- a/dsbridge/JSBUtil.h +++ b/dsbridge/JSBUtil.h @@ -1,21 +1,5 @@ -// -// Util.h -// dspider -// -// Created by 杜文 on 16/12/27. -// Copyright © 2016年 杜文. All rights reserved. -// - #import -#define SuppressPerformSelectorLeakWarning(Stuff) \ -{ \ -_Pragma("clang diagnostic push") \ -_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \ -Stuff; \ -_Pragma("clang diagnostic pop") \ -} - enum{ DSB_API_HASNATIVEMETHOD, DSB_API_CLOSEPAGE, diff --git a/dsbridge/JSBUtil.m b/dsbridge/JSBUtil.m index ac0632f..21f8f65 100644 --- a/dsbridge/JSBUtil.m +++ b/dsbridge/JSBUtil.m @@ -15,7 +15,6 @@ + (NSString *)objToJsonString:(id)dict NSString *jsonString = nil; NSError *error; - // judgement ---HaoCold 2018-08-23 09:42:09 if (![NSJSONSerialization isValidJSONObject:dict]) { return @"{}"; } diff --git a/dsbridge/dsbridge.h b/dsbridge/dsbridge.h index a710eab..7974c40 100644 --- a/dsbridge/dsbridge.h +++ b/dsbridge/dsbridge.h @@ -1,11 +1,3 @@ -// -// jsbridge.h -// jsbridge -// -// Created by 杜文 on 17/1/1. -// Copyright © 2017年 杜文. All rights reserved. -// - #import #import "JSBUtil.h" #import "DWKWebView.h" diff --git a/dsbridgedemo/test.html b/dsbridgedemo/test.html index d2533f8..732ba64 100644 --- a/dsbridgedemo/test.html +++ b/dsbridgedemo/test.html @@ -48,10 +48,9 @@
hasNativeMethod("testSyn")