Doric Bridge
This commit is contained in:
parent
a17a21954a
commit
c1e4ccd984
@ -13,7 +13,7 @@
|
|||||||
#import "DoricNativePlugin.h"
|
#import "DoricNativePlugin.h"
|
||||||
|
|
||||||
@interface ViewController ()
|
@interface ViewController ()
|
||||||
|
@property (nonatomic,strong) DoricContext *doricContext;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation ViewController
|
@implementation ViewController
|
||||||
@ -30,15 +30,13 @@ - (void)viewDidLoad {
|
|||||||
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(test:)];
|
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(test:)];
|
||||||
[label addGestureRecognizer:recognizer];
|
[label addGestureRecognizer:recognizer];
|
||||||
label.userInteractionEnabled = YES;
|
label.userInteractionEnabled = YES;
|
||||||
|
NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"demo" ofType:@"js"];
|
||||||
|
NSString *jsContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
|
||||||
|
self.doricContext = [[DoricContext alloc] initWithScript:jsContent source:@"demo"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)test:(UIView *)view {
|
- (void)test:(UIView *)view {
|
||||||
NSLog(@"test");
|
NSLog(@"test");
|
||||||
NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"demo" ofType:@"js"];
|
[self.doricContext callEntity:@"log",nil];
|
||||||
NSString *jsContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
|
|
||||||
DoricContext *context = [[DoricContext alloc] initWithScript:jsContent source:@"demo"];
|
|
||||||
[context callEntity:@"log",nil];
|
|
||||||
DoricNativePlugin *doricNativePlugin = [[DoricNativePlugin alloc] initWithContext:context];
|
|
||||||
NSLog(@"%@",doricNativePlugin.doricContext);
|
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
34
iOS/Example/Pods/Pods.xcodeproj/project.pbxproj
generated
34
iOS/Example/Pods/Pods.xcodeproj/project.pbxproj
generated
@ -34,6 +34,10 @@
|
|||||||
D94DF789BBDA69CD5F0FC22532A79854 /* DoricContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE936E82BE58F942B70B497594478B /* DoricContext.m */; };
|
D94DF789BBDA69CD5F0FC22532A79854 /* DoricContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE936E82BE58F942B70B497594478B /* DoricContext.m */; };
|
||||||
DD1DAF6642494A855DAE74D362720651 /* DoricAsyncResult.h in Headers */ = {isa = PBXBuildFile; fileRef = EEB05D1EBAA7E85630CF8F03A39DF5F8 /* DoricAsyncResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
|
DD1DAF6642494A855DAE74D362720651 /* DoricAsyncResult.h in Headers */ = {isa = PBXBuildFile; fileRef = EEB05D1EBAA7E85630CF8F03A39DF5F8 /* DoricAsyncResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
|
||||||
DE7BD11FE70F73948D13DD76D3E2E16C /* DoricJSEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA81F2935A334697F48CBDB8740D388 /* DoricJSEngine.m */; };
|
DE7BD11FE70F73948D13DD76D3E2E16C /* DoricJSEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA81F2935A334697F48CBDB8740D388 /* DoricJSEngine.m */; };
|
||||||
|
E26688DE22EF1CCA00B642BF /* DoricBridgeExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = E26688DC22EF1CCA00B642BF /* DoricBridgeExtension.h */; };
|
||||||
|
E26688DF22EF1CCA00B642BF /* DoricBridgeExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = E26688DD22EF1CCA00B642BF /* DoricBridgeExtension.m */; };
|
||||||
|
E26688E222EF20C800B642BF /* DoricShaderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E26688E022EF20C800B642BF /* DoricShaderPlugin.h */; };
|
||||||
|
E26688E322EF20C800B642BF /* DoricShaderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = E26688E122EF20C800B642BF /* DoricShaderPlugin.m */; };
|
||||||
E38E30B01791A73269065FF350CE8F9E /* DoricContextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 836213D547B4CC487A1D695AE45E537D /* DoricContextManager.m */; };
|
E38E30B01791A73269065FF350CE8F9E /* DoricContextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 836213D547B4CC487A1D695AE45E537D /* DoricContextManager.m */; };
|
||||||
E6B45CF2CBF030A7D3F0B0478A82B2F5 /* DoricModalPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E6CE2723B5B70C2BEE87FB815A98198D /* DoricModalPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
|
E6B45CF2CBF030A7D3F0B0478A82B2F5 /* DoricModalPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E6CE2723B5B70C2BEE87FB815A98198D /* DoricModalPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
|
||||||
F05E878CFD11812D9A3B4AC60A842A70 /* DoricNativePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AAD292ADAAA87A469C532D73C91F53F /* DoricNativePlugin.m */; };
|
F05E878CFD11812D9A3B4AC60A842A70 /* DoricNativePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AAD292ADAAA87A469C532D73C91F53F /* DoricNativePlugin.m */; };
|
||||||
@ -72,8 +76,8 @@
|
|||||||
0D4AE84D8B99C78ADA1D97555B6E0AA6 /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSEngine.h; path = Pod/Classes/DoricJSEngine.h; sourceTree = "<group>"; };
|
0D4AE84D8B99C78ADA1D97555B6E0AA6 /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSEngine.h; path = Pod/Classes/DoricJSEngine.h; sourceTree = "<group>"; };
|
||||||
187C991D10D332CBA27B8131BB835B4D /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricModalPlugin.m; path = Pod/Classes/DoricModalPlugin.m; sourceTree = "<group>"; };
|
187C991D10D332CBA27B8131BB835B4D /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricModalPlugin.m; path = Pod/Classes/DoricModalPlugin.m; sourceTree = "<group>"; };
|
||||||
1DC97F881F42239F4D5EE57FE5266B1F /* Pods-ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleUITests-acknowledgements.plist"; sourceTree = "<group>"; };
|
1DC97F881F42239F4D5EE57FE5266B1F /* Pods-ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleUITests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||||
1F667CC0E19EAF34E5A4119E2121F585 /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Example.a"; path = "libPods-Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
1F667CC0E19EAF34E5A4119E2121F585 /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
27D9E07AFE355507D16C97DC14384F97 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
|
27D9E07AFE355507D16C97DC14384F97 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||||
35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
370041BF0D7D7ACAE40AD2C204415225 /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricAsyncResult.m; path = Pod/Classes/DoricAsyncResult.m; sourceTree = "<group>"; };
|
370041BF0D7D7ACAE40AD2C204415225 /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricAsyncResult.m; path = Pod/Classes/DoricAsyncResult.m; sourceTree = "<group>"; };
|
||||||
3A9A613917F5AEB180F8DFE148FB29B3 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = "<group>"; };
|
3A9A613917F5AEB180F8DFE148FB29B3 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = "<group>"; };
|
||||||
@ -82,9 +86,9 @@
|
|||||||
4CDE936E82BE58F942B70B497594478B /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = "<group>"; };
|
4CDE936E82BE58F942B70B497594478B /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = "<group>"; };
|
||||||
50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.release.xcconfig"; sourceTree = "<group>"; };
|
50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
|
57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
5955445DDA8D64608454778602A35351 /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = "<group>"; };
|
5955445DDA8D64608454778602A35351 /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.javascript; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = "<group>"; };
|
||||||
60EC5610A252BA9DF7184B4E19E11532 /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = "<group>"; };
|
60EC5610A252BA9DF7184B4E19E11532 /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = "<group>"; };
|
||||||
630CABE8F692FCDBFD1B122A2D0CE388 /* libPods-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-ExampleTests.a"; path = "libPods-ExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
630CABE8F692FCDBFD1B122A2D0CE388 /* libPods-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
|
674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
|
||||||
6AA81F2935A334697F48CBDB8740D388 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricJSEngine.m; path = Pod/Classes/DoricJSEngine.m; sourceTree = "<group>"; };
|
6AA81F2935A334697F48CBDB8740D388 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricJSEngine.m; path = Pod/Classes/DoricJSEngine.m; sourceTree = "<group>"; };
|
||||||
71A4D70BBB72CFA82515EEF18706137D /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSCoreExecutor.h; path = Pod/Classes/DoricJSCoreExecutor.h; sourceTree = "<group>"; };
|
71A4D70BBB72CFA82515EEF18706137D /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSCoreExecutor.h; path = Pod/Classes/DoricJSCoreExecutor.h; sourceTree = "<group>"; };
|
||||||
@ -99,7 +103,7 @@
|
|||||||
9A3426DFFADF2536E625E1F41C102D46 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricConstant.h; path = Pod/Classes/DoricConstant.h; sourceTree = "<group>"; };
|
9A3426DFFADF2536E625E1F41C102D46 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricConstant.h; path = Pod/Classes/DoricConstant.h; sourceTree = "<group>"; };
|
||||||
9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleTests-acknowledgements.plist"; sourceTree = "<group>"; };
|
9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleTests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||||
9D82ECD010D50338BFE8FC73B7B396BF /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = "<group>"; };
|
9D82ECD010D50338BFE8FC73B7B396BF /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = "<group>"; };
|
||||||
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||||
9D9C355251F1C95056C0AD3889BA16FB /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = "<group>"; };
|
9D9C355251F1C95056C0AD3889BA16FB /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = "<group>"; };
|
||||||
9F5214BB1AD82A72740162D009BB3033 /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = "<group>"; };
|
9F5214BB1AD82A72740162D009BB3033 /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = "<group>"; };
|
||||||
A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleTests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleTests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||||
@ -107,22 +111,26 @@
|
|||||||
A40ADF15E3DFA8134B77828C29A63223 /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSExecutorProtocal.h; path = Pod/Classes/DoricJSExecutorProtocal.h; sourceTree = "<group>"; };
|
A40ADF15E3DFA8134B77828C29A63223 /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricJSExecutorProtocal.h; path = Pod/Classes/DoricJSExecutorProtocal.h; sourceTree = "<group>"; };
|
||||||
B1060ECA09FD9217BD3B163A76A4ED07 /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = "<group>"; };
|
B1060ECA09FD9217BD3B163A76A4ED07 /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = "<group>"; };
|
||||||
BB9A5DA1337269F5CA470FB0303C1DFB /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricJSCoreExecutor.m; path = Pod/Classes/DoricJSCoreExecutor.m; sourceTree = "<group>"; };
|
BB9A5DA1337269F5CA470FB0303C1DFB /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricJSCoreExecutor.m; path = Pod/Classes/DoricJSCoreExecutor.m; sourceTree = "<group>"; };
|
||||||
C118B04AAC2A054C315A0037D71775B4 /* Doric.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = Doric.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
C118B04AAC2A054C315A0037D71775B4 /* Doric.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = Doric.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||||
C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-ExampleUITests.a"; path = "libPods-ExampleUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
C2FBC49D9D916E1118C72A0CF4EB5DFB /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = "<group>"; };
|
C2FBC49D9D916E1118C72A0CF4EB5DFB /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = "<group>"; };
|
||||||
CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libDoric.a; path = libDoric.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDoric.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D308B1A3EBD5172711E9710931028210 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricUtil.m; path = Pod/Classes/DoricUtil.m; sourceTree = "<group>"; };
|
D308B1A3EBD5172711E9710931028210 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricUtil.m; path = Pod/Classes/DoricUtil.m; sourceTree = "<group>"; };
|
||||||
D502FFC8F1F6CAD0438218C3351FCE89 /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = "<group>"; };
|
D502FFC8F1F6CAD0438218C3351FCE89 /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = "<group>"; };
|
||||||
DE9C1619DD2BF2EB40727BEE4F274563 /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricPromise.h; path = Pod/Classes/DoricPromise.h; sourceTree = "<group>"; };
|
DE9C1619DD2BF2EB40727BEE4F274563 /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricPromise.h; path = Pod/Classes/DoricPromise.h; sourceTree = "<group>"; };
|
||||||
DF85D0F6D5C5A87373DA57643C41DEEF /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricPromise.m; path = Pod/Classes/DoricPromise.m; sourceTree = "<group>"; };
|
DF85D0F6D5C5A87373DA57643C41DEEF /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricPromise.m; path = Pod/Classes/DoricPromise.m; sourceTree = "<group>"; };
|
||||||
DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
|
DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||||
|
E26688DC22EF1CCA00B642BF /* DoricBridgeExtension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DoricBridgeExtension.h; path = Pod/Classes/DoricBridgeExtension.h; sourceTree = "<group>"; };
|
||||||
|
E26688DD22EF1CCA00B642BF /* DoricBridgeExtension.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = DoricBridgeExtension.m; path = Pod/Classes/DoricBridgeExtension.m; sourceTree = "<group>"; };
|
||||||
|
E26688E022EF20C800B642BF /* DoricShaderPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DoricShaderPlugin.h; path = Pod/Classes/DoricShaderPlugin.h; sourceTree = "<group>"; };
|
||||||
|
E26688E122EF20C800B642BF /* DoricShaderPlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = DoricShaderPlugin.m; path = Pod/Classes/DoricShaderPlugin.m; sourceTree = "<group>"; };
|
||||||
E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
|
E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
E6CE2723B5B70C2BEE87FB815A98198D /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricModalPlugin.h; path = Pod/Classes/DoricModalPlugin.h; sourceTree = "<group>"; };
|
E6CE2723B5B70C2BEE87FB815A98198D /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricModalPlugin.h; path = Pod/Classes/DoricModalPlugin.h; sourceTree = "<group>"; };
|
||||||
E7087950EBA89F1C9090E789AE37E3FC /* DoricComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricComponent.m; path = Pod/Classes/DoricComponent.m; sourceTree = "<group>"; };
|
E7087950EBA89F1C9090E789AE37E3FC /* DoricComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricComponent.m; path = Pod/Classes/DoricComponent.m; sourceTree = "<group>"; };
|
||||||
EADD53921A6F5930D1CFAB4544A0423D /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = "<group>"; };
|
EADD53921A6F5930D1CFAB4544A0423D /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = "<group>"; };
|
||||||
EEB05D1EBAA7E85630CF8F03A39DF5F8 /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricAsyncResult.h; path = Pod/Classes/DoricAsyncResult.h; sourceTree = "<group>"; };
|
EEB05D1EBAA7E85630CF8F03A39DF5F8 /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricAsyncResult.h; path = Pod/Classes/DoricAsyncResult.h; sourceTree = "<group>"; };
|
||||||
F5B65FC39854121EA72E6D5D158F4C58 /* DoricComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricComponent.h; path = Pod/Classes/DoricComponent.h; sourceTree = "<group>"; };
|
F5B65FC39854121EA72E6D5D158F4C58 /* DoricComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricComponent.h; path = Pod/Classes/DoricComponent.h; sourceTree = "<group>"; };
|
||||||
F8954C920908870B4AB5D7268B386777 /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = "<group>"; };
|
F8954C920908870B4AB5D7268B386777 /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.javascript; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = "<group>"; };
|
||||||
FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleUITests-dummy.m"; sourceTree = "<group>"; };
|
FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleUITests-dummy.m"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
@ -222,6 +230,10 @@
|
|||||||
4DD5682E7390ADCEDC24AB860E654B03 /* Pod */,
|
4DD5682E7390ADCEDC24AB860E654B03 /* Pod */,
|
||||||
628FE0ECE2D6CC5EEB68FDFC7B8F83B3 /* Resources */,
|
628FE0ECE2D6CC5EEB68FDFC7B8F83B3 /* Resources */,
|
||||||
DDBE73454928656D85164075BB584FEB /* Support Files */,
|
DDBE73454928656D85164075BB584FEB /* Support Files */,
|
||||||
|
E26688DC22EF1CCA00B642BF /* DoricBridgeExtension.h */,
|
||||||
|
E26688DD22EF1CCA00B642BF /* DoricBridgeExtension.m */,
|
||||||
|
E26688E022EF20C800B642BF /* DoricShaderPlugin.h */,
|
||||||
|
E26688E122EF20C800B642BF /* DoricShaderPlugin.m */,
|
||||||
);
|
);
|
||||||
name = Doric;
|
name = Doric;
|
||||||
path = ../..;
|
path = ../..;
|
||||||
@ -339,9 +351,11 @@
|
|||||||
455ED5C6B2C89EEB909B6604269994A3 /* DoricComponent.h in Headers */,
|
455ED5C6B2C89EEB909B6604269994A3 /* DoricComponent.h in Headers */,
|
||||||
9B2E635BA24B4C96C85699A83B4A0698 /* DoricConstant.h in Headers */,
|
9B2E635BA24B4C96C85699A83B4A0698 /* DoricConstant.h in Headers */,
|
||||||
9AAFEEC7DAEF1971041D227A4B6BB6B0 /* DoricContext.h in Headers */,
|
9AAFEEC7DAEF1971041D227A4B6BB6B0 /* DoricContext.h in Headers */,
|
||||||
|
E26688E222EF20C800B642BF /* DoricShaderPlugin.h in Headers */,
|
||||||
A616FE47EFBB2A4B0629D9B101AF02A0 /* DoricContextManager.h in Headers */,
|
A616FE47EFBB2A4B0629D9B101AF02A0 /* DoricContextManager.h in Headers */,
|
||||||
B5E4694D3D3243AF3FE6D9EF78D76501 /* DoricDriver.h in Headers */,
|
B5E4694D3D3243AF3FE6D9EF78D76501 /* DoricDriver.h in Headers */,
|
||||||
9451930505ADC63C2B860614A3AB5C1F /* DoricJSCoreExecutor.h in Headers */,
|
9451930505ADC63C2B860614A3AB5C1F /* DoricJSCoreExecutor.h in Headers */,
|
||||||
|
E26688DE22EF1CCA00B642BF /* DoricBridgeExtension.h in Headers */,
|
||||||
A69253C685B9486F435DA00B0D74F49C /* DoricJSEngine.h in Headers */,
|
A69253C685B9486F435DA00B0D74F49C /* DoricJSEngine.h in Headers */,
|
||||||
C19CCCC9983463B36493148ADD28B997 /* DoricJSExecutorProtocal.h in Headers */,
|
C19CCCC9983463B36493148ADD28B997 /* DoricJSExecutorProtocal.h in Headers */,
|
||||||
E6B45CF2CBF030A7D3F0B0478A82B2F5 /* DoricModalPlugin.h in Headers */,
|
E6B45CF2CBF030A7D3F0B0478A82B2F5 /* DoricModalPlugin.h in Headers */,
|
||||||
@ -504,8 +518,10 @@
|
|||||||
422DCC3A36D2E500F8EB7657AE96D807 /* DoricModalPlugin.m in Sources */,
|
422DCC3A36D2E500F8EB7657AE96D807 /* DoricModalPlugin.m in Sources */,
|
||||||
F05E878CFD11812D9A3B4AC60A842A70 /* DoricNativePlugin.m in Sources */,
|
F05E878CFD11812D9A3B4AC60A842A70 /* DoricNativePlugin.m in Sources */,
|
||||||
6F4D61B7B563DAD837D2EB8B9EAA2600 /* DoricPromise.m in Sources */,
|
6F4D61B7B563DAD837D2EB8B9EAA2600 /* DoricPromise.m in Sources */,
|
||||||
|
E26688DF22EF1CCA00B642BF /* DoricBridgeExtension.m in Sources */,
|
||||||
6A2989333795DEE250369A3519870480 /* DoricRegistry.m in Sources */,
|
6A2989333795DEE250369A3519870480 /* DoricRegistry.m in Sources */,
|
||||||
4370AE1C064A9A78AFFFE9171687885B /* DoricUtil.m in Sources */,
|
4370AE1C064A9A78AFFFE9171687885B /* DoricUtil.m in Sources */,
|
||||||
|
E26688E322EF20C800B642BF /* DoricShaderPlugin.m in Sources */,
|
||||||
701C9FC71418B5CF5097BA01B5C525EE /* UIView+Doric.m in Sources */,
|
701C9FC71418B5CF5097BA01B5C525EE /* UIView+Doric.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
16
iOS/Pod/Classes/DoricBridgeExtension.h
Normal file
16
iOS/Pod/Classes/DoricBridgeExtension.h
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// DoricBridgeExtension.h
|
||||||
|
// Doric
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2019/7/29.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface DoricBridgeExtension : NSObject
|
||||||
|
- (id)callNativeWithContextId: (NSString *)contextId module:(NSString *)module method:(NSString *)method callbackId:(NSString *)callbackId argument:(id)argument;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
27
iOS/Pod/Classes/DoricBridgeExtension.m
Normal file
27
iOS/Pod/Classes/DoricBridgeExtension.m
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// DoricBridgeExtension.m
|
||||||
|
// Doric
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2019/7/29.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "DoricBridgeExtension.h"
|
||||||
|
#import "DoricRegistry.h"
|
||||||
|
#import "DoricContextManager.h"
|
||||||
|
#import "DoricNativePlugin.h"
|
||||||
|
|
||||||
|
@implementation DoricBridgeExtension
|
||||||
|
|
||||||
|
- (id)callNativeWithContextId:(NSString *)contextId module:(NSString *)module method:(NSString *)method callbackId:(NSString *)callbackId argument:(id)argument {
|
||||||
|
DoricContext *context = [[DoricContextManager instance] getContext:contextId];
|
||||||
|
DoricRegistry *registry = context.driver.registry;
|
||||||
|
Class pluginClass = [registry acquireNativePlugin:module];
|
||||||
|
DoricNativePlugin *nativePlugin = [context.pluginInstanceMap objectForKey:module];
|
||||||
|
if(nativePlugin == nil){
|
||||||
|
nativePlugin = [[pluginClass alloc] initWithContext:context];
|
||||||
|
[context.pluginInstanceMap setObject:nativePlugin forKey:module];
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
@end
|
@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@property (nonatomic,strong) NSString *contextId;
|
@property (nonatomic,strong) NSString *contextId;
|
||||||
@property (nonatomic,strong) DoricDriver *driver;
|
@property (nonatomic,strong) DoricDriver *driver;
|
||||||
|
@property (nonatomic,strong) NSMutableDictionary *pluginInstanceMap;
|
||||||
|
|
||||||
- (instancetype)initWithScript:(NSString *)script source:(NSString *)source;
|
- (instancetype)initWithScript:(NSString *)script source:(NSString *)source;
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ @implementation DoricContext
|
|||||||
- (instancetype)initWithScript:(NSString *)script source:(NSString *)source {
|
- (instancetype)initWithScript:(NSString *)script source:(NSString *)source {
|
||||||
if(self = [super init]){
|
if(self = [super init]){
|
||||||
_driver = [DoricDriver instance];
|
_driver = [DoricDriver instance];
|
||||||
|
_pluginInstanceMap = [[NSMutableDictionary alloc] init];
|
||||||
[[DoricContextManager instance] createContext:self script:script source:source];
|
[[DoricContextManager instance] createContext:self script:script source:source];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
|
@ -10,10 +10,12 @@
|
|||||||
#import "DoricJSCoreExecutor.h"
|
#import "DoricJSCoreExecutor.h"
|
||||||
#import "DoricConstant.h"
|
#import "DoricConstant.h"
|
||||||
#import "DoricUtil.h"
|
#import "DoricUtil.h"
|
||||||
|
#import "DoricBridgeExtension.h"
|
||||||
|
|
||||||
@interface DoricJSEngine()
|
@interface DoricJSEngine()
|
||||||
@property(nonatomic,strong) id<DoricJSExecutorProtocal> jsExecutor;
|
@property(nonatomic,strong) id<DoricJSExecutorProtocal> jsExecutor;
|
||||||
@property(nonatomic,strong) NSMutableDictionary *timers;
|
@property(nonatomic,strong) NSMutableDictionary *timers;
|
||||||
|
@property(nonatomic,strong) DoricBridgeExtension *bridgeExtension;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation DoricJSEngine
|
@implementation DoricJSEngine
|
||||||
@ -21,6 +23,7 @@ @implementation DoricJSEngine
|
|||||||
- (instancetype)init {
|
- (instancetype)init {
|
||||||
if(self = [super init]){
|
if(self = [super init]){
|
||||||
_jsQueue = dispatch_queue_create("doric.jsengine", DISPATCH_QUEUE_SERIAL);
|
_jsQueue = dispatch_queue_create("doric.jsengine", DISPATCH_QUEUE_SERIAL);
|
||||||
|
_bridgeExtension = [[DoricBridgeExtension alloc] init];
|
||||||
dispatch_async(_jsQueue, ^(){
|
dispatch_async(_jsQueue, ^(){
|
||||||
self.timers = [[NSMutableDictionary alloc] init];
|
self.timers = [[NSMutableDictionary alloc] init];
|
||||||
self.jsExecutor = [[DoricJSCoreExecutor alloc] init];
|
self.jsExecutor = [[DoricJSCoreExecutor alloc] init];
|
||||||
@ -77,6 +80,9 @@ - (void)initJSExecutor {
|
|||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
[self.jsExecutor injectGlobalJSObject:INJECT_BRIDGE obj:^(NSString *contextId, NSString *module, NSString *method, NSString *callbackId, id argument){
|
||||||
|
return [self.bridgeExtension callNativeWithContextId:contextId module:module method:method callbackId:callbackId argument:argument];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)initDoricEnvironment {
|
- (void)initDoricEnvironment {
|
||||||
|
17
iOS/Pod/Classes/DoricShaderPlugin.h
Normal file
17
iOS/Pod/Classes/DoricShaderPlugin.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// DoricShaderPlugin.h
|
||||||
|
// Doric
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2019/7/29.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "DoricNativePlugin.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface DoricShaderPlugin : DoricNativePlugin
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
12
iOS/Pod/Classes/DoricShaderPlugin.m
Normal file
12
iOS/Pod/Classes/DoricShaderPlugin.m
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
//
|
||||||
|
// DoricShaderPlugin.m
|
||||||
|
// Doric
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2019/7/29.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "DoricShaderPlugin.h"
|
||||||
|
|
||||||
|
@implementation DoricShaderPlugin
|
||||||
|
|
||||||
|
@end
|
Reference in New Issue
Block a user