iOS add View Node

This commit is contained in:
pengfei.zhou 2019-07-30 21:05:27 +08:00
parent 5d710b5b97
commit 20986340d7
17 changed files with 547 additions and 335 deletions

View File

@ -0,0 +1 @@
../../../../../Pod/Classes/Shader/DoricRootNode.h

View File

@ -0,0 +1 @@
../../../../../Pod/Classes/Shader/DoricRootNode.h

View File

@ -7,55 +7,57 @@
objects = {
/* Begin PBXBuildFile section */
04E7F774D9DCB6C605B06BC155DAAEAE /* DoricGroupNode.h in Headers */ = {isa = PBXBuildFile; fileRef = C5D79E67113C317C7FAEDBBFC5A5C370 /* DoricGroupNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
06132D51289C97282C56EBA04D2B148B /* DoricBridgeExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 25A1B9A09B7E38DBE8E814F1E106E3D7 /* DoricBridgeExtension.h */; settings = {ATTRIBUTES = (Project, ); }; };
0C1A0CCEC63200316DB8E5FB7E8A4B96 /* DoricGroupNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 60C8E5BBF9716974DDE0E4EE210504D8 /* DoricGroupNode.m */; };
0C92A70244EF50FE7DE54B14274A7C30 /* DoricShaderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B5C829845AA0CEAF3B572A53E20EFCB /* DoricShaderPlugin.m */; };
0FACABC3B48AF5DB65C3DCDD24036ED4 /* DoricUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB9D24DC324D257D995B6301DF397A2 /* DoricUtil.m */; };
11ED5DC488769239F5BB01594A26C630 /* DoricContextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 833893BC557778C5E028A4358C2474B4 /* DoricContextManager.m */; };
133EB1941A0D8F59E68DCBDFDB60BAE1 /* DoricJSCoreExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = BBE4EF9F667D9E6B1CD16167B70F45C1 /* DoricJSCoreExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
188C125538902E64293F11E5C38561E7 /* UIView+Doric.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D5FA8932D4EF01931E958564029287D /* UIView+Doric.h */; settings = {ATTRIBUTES = (Project, ); }; };
196A94F1F707114C5096DCDD186358D9 /* DoricViewContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D7348EBC0EB82524D9FB92D0817A686 /* DoricViewContainer.h */; settings = {ATTRIBUTES = (Project, ); }; };
1F4E26D6400A07D34CAB08D32154349F /* DoricJSExecutorProtocal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6293DDD455950079EA0639C5AC2AED51 /* DoricJSExecutorProtocal.h */; settings = {ATTRIBUTES = (Project, ); }; };
2E741FB527651F87084777A92A366C52 /* DoricViewNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7605DAD7D5BDFB07F1DBC3DF22E18C00 /* DoricViewNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
3A76C0C916A54E66675226BA1ADFED55 /* DoricViewContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 47BB4CA18E4AEA9BEDBF8983791A50F4 /* DoricViewContainer.m */; };
3F31A8B540502702CABE2B79550F16B0 /* DoricAsyncResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A367617937F20AD74E7199A830B0E21 /* DoricAsyncResult.m */; };
47584385016209956302B5F7F2EE7C1B /* DoricNativePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2477A9960550C69616EE9969DAF9F3 /* DoricNativePlugin.m */; };
06DCA2A3B954DE68672CACC809600166 /* DoricShaderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E7932F4E2884A330FF1506551365C865 /* DoricShaderPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
0A85A5F9A3EE11F072A89DE84A6FA0B8 /* DoricViewContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7024EC06DA6269A7AC3114234E695E6F /* DoricViewContainer.h */; settings = {ATTRIBUTES = (Project, ); }; };
0F15CD85BB2DB16EAADAD04B6FCE5A86 /* DoricStackNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C9367E5B8442FB979209B44C2B58A46 /* DoricStackNode.m */; };
11286BB892C4851A974FB5C21403DEBB /* DoricContextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AEAB7D461045D326881C99D36EB09F06 /* DoricContextManager.m */; };
12AE76A61ACF5FED79486B93EACE1146 /* DoricJSExecutorProtocal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28C3F6DCBC4FB144EEE0564B6299B0CB /* DoricJSExecutorProtocal.h */; settings = {ATTRIBUTES = (Project, ); }; };
13A302CDD2B011A4DF5CF1112E09E937 /* DoricUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC90DCBF1BFE57FD63FA71236CD9617 /* DoricUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
158E69718314A807914CB18754C8CD34 /* DoricDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 77795B58FF90AEDB64EA0BE487AAEF57 /* DoricDriver.m */; };
159F44077D988BE31CFAA0FABB4B97F5 /* DoricRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = C78507DD6E36D475B8675ACBB6CB29BB /* DoricRegistry.m */; };
15DC2F675F01FE8185CA632406045983 /* DoricJSCoreExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 673C99F302C0D91311C4BEAB6C3F5DD2 /* DoricJSCoreExecutor.m */; };
164532D3D7552B3CD829766336E1C42D /* DoricRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = F9EDC495A5ED86BC976A8016F6D84540 /* DoricRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
1D04A72FEFC65855BAA811EA168290A2 /* DoricJSEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = FEA7081F1D339B4A7918A3095FBD2AEC /* DoricJSEngine.h */; settings = {ATTRIBUTES = (Project, ); }; };
1E3AEF0D767322EEB63622B26806ACEE /* DoricRootNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 49972E7FA98D50B6D45F70E687BC62ED /* DoricRootNode.m */; };
289188E22B29E5FD2C4C4EE80C58292B /* DoricGroupNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EA815FA2776C872BADBFAE526312474 /* DoricGroupNode.m */; };
28AED334BCB055C70790AEB5B9A6B9B0 /* DoricRootNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A58BA4FA12990F611D58B20153AF80B /* DoricRootNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
2DDB1773CD63B96E65C35498C3996863 /* DoricContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E3E205626DEE3A3A286F86069A99224 /* DoricContext.h */; settings = {ATTRIBUTES = (Project, ); }; };
2FF24F23951D59533A1BB48B43547A0E /* DoricContextHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 838A2D595E7C6233C6C1A9887104201C /* DoricContextHolder.m */; };
302DB909D5BBDB9CB2BFCFEEA3FC6A15 /* DoricModalPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = D94AF2C3306CFE8E84FE37B99B27675B /* DoricModalPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
350EA85C63ADB71A8F0186BCF1FEA968 /* DoricViewContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D49B91AE0D40ADC8A4DCB74E68F77A0 /* DoricViewContainer.m */; };
35B49D8A08D30DE608A9C61122EBD5E0 /* DoricVLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 49D245CB8651BC5097588071D90D8EA5 /* DoricVLayoutNode.m */; };
3A7027957834E7DD659D40C0BE3EEBA2 /* DoricContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F84157E3FED749ED2F53440014CF74 /* DoricContext.m */; };
478582BDBAFCFA438AC1FE6AA64FD05B /* DoricContextManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ABE103C115C78067E7271E38A6F50DB /* DoricContextManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
49CFE195ADFA55E91789E15D0C87C01D /* Pods-ExampleTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */; };
576376FDAB7E8E80CEB0271A23CFF075 /* DoricHLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D65E4C5D93E28EF91A6521F314A00D /* DoricHLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
4A763B739F2E6314E86BE42039C72F61 /* DoricJSCoreExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = F2900AB095DDCE4E626159AB53632A69 /* DoricJSCoreExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
4AAE3787EC165C1068805C22DAD9955A /* UIView+Doric.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DAC366FFC461CB868C0DF86F6344CFE /* UIView+Doric.m */; };
4FE3A28BF98A8961D36D6FDB2F3B9CD7 /* DoricContextHolder.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C03B5A2EF5BC47137E15CB4EBFE525 /* DoricContextHolder.h */; settings = {ATTRIBUTES = (Project, ); }; };
539DC2B1C93B4FCFA271875D97A478BF /* DoricConstant.m in Sources */ = {isa = PBXBuildFile; fileRef = A7BBF360102FA3B4372193E445788A75 /* DoricConstant.m */; };
54BF7D51673A2703005F6D5BA878440D /* DoricNativePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F4F7A3F234E0CFD4CD49EFC295447B7 /* DoricNativePlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
5BECF1ACCAAAEBA8D91A27C0A8202E95 /* Pods-ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */; };
5E9BFAD19D6788398F1996251638192E /* DoricViewNode.m in Sources */ = {isa = PBXBuildFile; fileRef = A4E483BB11392C9E0B62BBE8041D0ECE /* DoricViewNode.m */; };
6B18E1AA6C322CD0492578A6E97031C9 /* DoricNativePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB9E8932A0B8971F152630988CA60DC /* DoricNativePlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
723A2883FD63BD61CE24EA32C7936A5E /* DoricContextHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = EE84251D1BECA30AC6ECECA1F27789D8 /* DoricContextHolder.m */; };
77B31AE7FF627BFFF9349ACACB74D085 /* DoricShaderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1CC7F988BF0DE1CFE6A18BDB8930D0 /* DoricShaderPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
62DD9D08169916F9518A8B4652F38CC1 /* DoricDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 912DD5AC9B73450AB46CAC837632066E /* DoricDriver.h */; settings = {ATTRIBUTES = (Project, ); }; };
6DBD9C01A53DDF5E78C72496F40D27AB /* DoricViewNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 460F14FF387A5DD08430DA1FD75E10EE /* DoricViewNode.m */; };
6F80C43C5C12DAA9332DCACC14737C3B /* DoricConstant.h in Headers */ = {isa = PBXBuildFile; fileRef = FD44BD789425B6CDAC4E1C0D3B20B500 /* DoricConstant.h */; settings = {ATTRIBUTES = (Project, ); }; };
72798480E6CFE8E6F1AD85353C444859 /* DoricBridgeExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = E6260EBC3191F783549F257021CB739F /* DoricBridgeExtension.h */; settings = {ATTRIBUTES = (Project, ); }; };
81D52405D6E15FB19C6ADE196CEBFED4 /* DoricNativePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = C6D6AA5E2B4BA8E824A10E9272A0C408 /* DoricNativePlugin.m */; };
84B45C95611242BD802C1F1247741236 /* DoricAsyncResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A7B786C53C8CBAFF6135B2DB1F35A0B /* DoricAsyncResult.m */; };
8563054FDD46A2AAB41A0BB8E83BFB68 /* DoricUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = C40472CC88C197C1D9E0FAEF8AEEA012 /* DoricUtil.m */; };
86D2018718DB98803A0CD85A65887441 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */; };
8C5D618491868431E0AF3ED9DDEC4AC3 /* DoricJSEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 188FF0A43A09365998F69726E1E08D87 /* DoricJSEngine.m */; };
8DC69260011C5144925971AA030E5A5C /* DoricRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F9D212882CF73AA9F0BB49AA9A255F1 /* DoricRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
8FA1003F5EED444E558897E89C5164E5 /* Doric-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B05A77280162A84959C103CBBDBBB191 /* Doric-dummy.m */; };
9CB955F6F002A530211077048F1E4D8B /* DoricDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 503EFAC531F6DC0053850DDA192AE317 /* DoricDriver.m */; };
A282BF976AF347F1FA187CC7F92C25D3 /* DoricConstant.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C66A083AF48E9041B7280C24339068B /* DoricConstant.m */; };
A6809EC45E7967BF19733C28A1ECDE75 /* DoricContext.m in Sources */ = {isa = PBXBuildFile; fileRef = BC9F9BCEF67B7637CD34C9A50582C7AB /* DoricContext.m */; };
AC92ECBAC0C575FF283B5245CF71128D /* DoricPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E2E039179F5757A75845BF03B1729DC7 /* DoricPromise.h */; settings = {ATTRIBUTES = (Project, ); }; };
AE45E19C28C4B466BCE6CAC08C022081 /* DoricVLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA2741E0185FA3CFF0EA4D43CAB773EB /* DoricVLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
AF3551B20182D3D1C085BC2B50C04650 /* DoricDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A84EEB8B23FE27771D2D7190EC924E8 /* DoricDriver.h */; settings = {ATTRIBUTES = (Project, ); }; };
B05F4974A25CBC20B461E6BFF0589C1C /* DoricStackNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 22814C548C9591FDD35B1191717AA643 /* DoricStackNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
B102BA992EE1C625645233FE6DAE6117 /* UIView+Doric.m in Sources */ = {isa = PBXBuildFile; fileRef = FE509351BB3B43D3BDDC6BA505110C1A /* UIView+Doric.m */; };
BC5BA61837A9474D5EBB7CB7ED4BEDBA /* DoricRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 223F45C97DD568AC0CD748DB6AA3A58D /* DoricRegistry.m */; };
BD661503571A3BEFC509462EE45E9EF3 /* DoricJSCoreExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 81AACA77DC061A35C8889BFB9D814DA3 /* DoricJSCoreExecutor.m */; };
C459292BD974877F22A546ADAE404447 /* DoricContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A26A876597AE3777324B64B53CBD89EA /* DoricContext.h */; settings = {ATTRIBUTES = (Project, ); }; };
C6DC4BE54E30864ADFF8EF4DEC9AA9E3 /* DoricJSEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 308A703A1C65FCD4A8396C5177CC3ABB /* DoricJSEngine.h */; settings = {ATTRIBUTES = (Project, ); }; };
CF36800F2F778F0BD9F766E0A3AB9C61 /* DoricAsyncResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 804EB7FBF7F8F72AAFD3FD5ECC7D05FB /* DoricAsyncResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
D364DC10E14DF0A1D91739A47E9553DF /* DoricContextManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 64D03F648667E1A8616F64120CFD122B /* DoricContextManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
D576555B1F0F23343CF3552A66F9FE14 /* DoricHLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C82BC649F5AE5383BBC5379C76035D94 /* DoricHLayoutNode.m */; };
DCC15B8B4AF6FA17FD3AE90DB2FC597E /* DoricBridgeExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B1CD7E04EE1F9B8A71C4DBAB5F2FE9C /* DoricBridgeExtension.m */; };
DE251F2EF96AF915B8D66E14D237740A /* DoricModalPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 10CA679B5464CB62A2066E46AE03A9E7 /* DoricModalPlugin.m */; };
DF819AD16716E68186F34BAE002F9FA5 /* DoricVLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0086DC79DCBAB32136017CF5DCD3C089 /* DoricVLayoutNode.m */; };
EAF1DB1AF238113B9C78B517982B05C0 /* DoricStackNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 98E60E59562F9CC70526DF1826009FAF /* DoricStackNode.m */; };
EDFC6AF93B17ED715F45F493E1154FAB /* DoricUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 556A6E62CC1D653C98A7E5ACECC68693 /* DoricUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
F7164BEB390837773D6FA315756578A4 /* DoricContextHolder.h in Headers */ = {isa = PBXBuildFile; fileRef = DC2C3FC7967C76E9AE596672F42A1FC4 /* DoricContextHolder.h */; settings = {ATTRIBUTES = (Project, ); }; };
FD5E9774E6D569EFAD13428076A83580 /* DoricPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = E56BFF57E9BDB938758F6BED90B7D073 /* DoricPromise.m */; };
FF4E5D18DC39B60B2290C7E97FCEFDF2 /* DoricModalPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = D629FF5A6F49DB566F192CF41BCC010C /* DoricModalPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; };
FFAB0BE58585F7BA2E6802FC9E74F7D4 /* DoricConstant.h in Headers */ = {isa = PBXBuildFile; fileRef = 58461E514C25651921D16B9D94B52C90 /* DoricConstant.h */; settings = {ATTRIBUTES = (Project, ); }; };
9819AF9920746EF21542E98566455571 /* DoricPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = F888C6F2BBF4D7E8111FD254973C199A /* DoricPromise.m */; };
9A9898D3BF3A128394E259E77C18E5E2 /* DoricAsyncResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E9FEEA40A1420C03A9FA2DF019E8394 /* DoricAsyncResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
A2A8E68788BDBA92162E3958CC947636 /* DoricVLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A5A03FDB5D69AFA8105CD95F537E7B4 /* DoricVLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
C00489D525BBC0670815508F43AE39A4 /* DoricModalPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 45486100EC1714E1F3DD912E8113B67B /* DoricModalPlugin.m */; };
C2484F8336CBB1316490280D7A657245 /* DoricPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 21C8D570F3695E2C55CF1650F47FDB8E /* DoricPromise.h */; settings = {ATTRIBUTES = (Project, ); }; };
C75445C1801AD98C9483A950A6C438A6 /* Doric-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F33A23739F468A478C54668C662DD9EE /* Doric-dummy.m */; };
CDB42B526F58B185A238F2F725094FA3 /* DoricViewNode.h in Headers */ = {isa = PBXBuildFile; fileRef = DC9CA9CA257999E08AC1FF1683E7A4D0 /* DoricViewNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
D099FC2BB9DC0F39B30446EBC6F50067 /* DoricBridgeExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 672ED840695CA6755DECF6030784FB37 /* DoricBridgeExtension.m */; };
D9231073A1A2A3D3967C4D552F87180F /* DoricHLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FA6142FDB05EB37290A141BCF28E6E2 /* DoricHLayoutNode.m */; };
DAEFBC72D2314E794132D06E15025AC3 /* DoricStackNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 12E65E9A959F203D44594250808719D0 /* DoricStackNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
DBC2D2D72A7B27EECC1FEA4218B74028 /* DoricShaderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CB220633FAF5FB582354227A7889CC /* DoricShaderPlugin.m */; };
DFB2B8E114B1081B0B285F7EF712C3FC /* UIView+Doric.h in Headers */ = {isa = PBXBuildFile; fileRef = A5FB6A497277059BC11DABD9A4F56AB5 /* UIView+Doric.h */; settings = {ATTRIBUTES = (Project, ); }; };
F2F6D32AD0E092DD80D34AEADAC1606E /* DoricGroupNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 40217AFE8466A394D1004596D7804FCE /* DoricGroupNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
F598DDE0FA1FE0CC6F09499064B01761 /* DoricHLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9145FEC14942C0A3829F08841A321931 /* DoricHLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
F939A4A137B61D2362519D8F5381DC4E /* DoricJSEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B71CB0B4480EA08DD35197F06DBF38 /* DoricJSEngine.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -83,82 +85,91 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0086DC79DCBAB32136017CF5DCD3C089 /* DoricVLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricVLayoutNode.m; sourceTree = "<group>"; };
10CA679B5464CB62A2066E46AE03A9E7 /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricModalPlugin.m; sourceTree = "<group>"; };
188FF0A43A09365998F69726E1E08D87 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSEngine.m; sourceTree = "<group>"; };
1A2477A9960550C69616EE9969DAF9F3 /* DoricNativePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNativePlugin.m; sourceTree = "<group>"; };
0A5A03FDB5D69AFA8105CD95F537E7B4 /* DoricVLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricVLayoutNode.h; sourceTree = "<group>"; };
11F84157E3FED749ED2F53440014CF74 /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = "<group>"; };
12E65E9A959F203D44594250808719D0 /* DoricStackNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStackNode.h; sourceTree = "<group>"; };
165E0A231E9DDF8E3C3B339C5F991D2B /* 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; };
1DC97F881F42239F4D5EE57FE5266B1F /* Pods-ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleUITests-acknowledgements.plist"; sourceTree = "<group>"; };
1E9FEEA40A1420C03A9FA2DF019E8394 /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAsyncResult.h; sourceTree = "<group>"; };
1EA815FA2776C872BADBFAE526312474 /* DoricGroupNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricGroupNode.m; 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; };
223F45C97DD568AC0CD748DB6AA3A58D /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = "<group>"; };
22814C548C9591FDD35B1191717AA643 /* DoricStackNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStackNode.h; sourceTree = "<group>"; };
25A1B9A09B7E38DBE8E814F1E106E3D7 /* DoricBridgeExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricBridgeExtension.h; sourceTree = "<group>"; };
2BB9E8932A0B8971F152630988CA60DC /* DoricNativePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNativePlugin.h; sourceTree = "<group>"; };
308A703A1C65FCD4A8396C5177CC3ABB /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSEngine.h; sourceTree = "<group>"; };
348BD3D943C7E1662469EDF452531337 /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = "<group>"; };
1FE791173F73E0ABC7A884D6D34A851A /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = "<group>"; };
21C8D570F3695E2C55CF1650F47FDB8E /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPromise.h; sourceTree = "<group>"; };
28C3F6DCBC4FB144EEE0564B6299B0CB /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSExecutorProtocal.h; sourceTree = "<group>"; };
2A58BA4FA12990F611D58B20153AF80B /* DoricRootNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricRootNode.h; sourceTree = "<group>"; };
2EC07F016FD484CA2F44DB97705AAFE7 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
34B71CB0B4480EA08DD35197F06DBF38 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSEngine.m; sourceTree = "<group>"; };
34CB220633FAF5FB582354227A7889CC /* DoricShaderPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricShaderPlugin.m; sourceTree = "<group>"; };
35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
3DFFC780C1EB3DD50FE240C1098AD5CE /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = "<group>"; };
37B9C731E5178B383DC3AF1F554C1D38 /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = "<group>"; };
3ABE103C115C78067E7271E38A6F50DB /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = "<group>"; };
3C9367E5B8442FB979209B44C2B58A46 /* DoricStackNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStackNode.m; sourceTree = "<group>"; };
3D49B91AE0D40ADC8A4DCB74E68F77A0 /* DoricViewContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewContainer.m; sourceTree = "<group>"; };
40217AFE8466A394D1004596D7804FCE /* DoricGroupNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricGroupNode.h; sourceTree = "<group>"; };
4426D67B66065EF97BCB0FBC9E35BEE6 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
44D65E4C5D93E28EF91A6521F314A00D /* DoricHLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHLayoutNode.h; sourceTree = "<group>"; };
47BB4CA18E4AEA9BEDBF8983791A50F4 /* DoricViewContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewContainer.m; sourceTree = "<group>"; };
4A367617937F20AD74E7199A830B0E21 /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAsyncResult.m; sourceTree = "<group>"; };
4C66A083AF48E9041B7280C24339068B /* DoricConstant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricConstant.m; sourceTree = "<group>"; };
503EFAC531F6DC0053850DDA192AE317 /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = "<group>"; };
45486100EC1714E1F3DD912E8113B67B /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricModalPlugin.m; sourceTree = "<group>"; };
460F14FF387A5DD08430DA1FD75E10EE /* DoricViewNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewNode.m; sourceTree = "<group>"; };
49972E7FA98D50B6D45F70E687BC62ED /* DoricRootNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricRootNode.m; sourceTree = "<group>"; };
49D245CB8651BC5097588071D90D8EA5 /* DoricVLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricVLayoutNode.m; sourceTree = "<group>"; };
4A7B786C53C8CBAFF6135B2DB1F35A0B /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAsyncResult.m; sourceTree = "<group>"; };
4F4F7A3F234E0CFD4CD49EFC295447B7 /* DoricNativePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNativePlugin.h; sourceTree = "<group>"; };
50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.release.xcconfig"; sourceTree = "<group>"; };
5360A09920D43F084CEB4279B11999AE /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = "<group>"; };
556A6E62CC1D653C98A7E5ACECC68693 /* DoricUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricUtil.h; sourceTree = "<group>"; };
57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
58461E514C25651921D16B9D94B52C90 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricConstant.h; sourceTree = "<group>"; };
5B1CD7E04EE1F9B8A71C4DBAB5F2FE9C /* DoricBridgeExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricBridgeExtension.m; sourceTree = "<group>"; };
60C8E5BBF9716974DDE0E4EE210504D8 /* DoricGroupNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricGroupNode.m; sourceTree = "<group>"; };
6293DDD455950079EA0639C5AC2AED51 /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSExecutorProtocal.h; 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; };
64D03F648667E1A8616F64120CFD122B /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = "<group>"; };
643CD220E77EB474B7A3E56677D5423E /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = "<group>"; };
672ED840695CA6755DECF6030784FB37 /* DoricBridgeExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricBridgeExtension.m; sourceTree = "<group>"; };
673C99F302C0D91311C4BEAB6C3F5DD2 /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSCoreExecutor.m; sourceTree = "<group>"; };
674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
6F9D212882CF73AA9F0BB49AA9A255F1 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = "<group>"; };
7605DAD7D5BDFB07F1DBC3DF22E18C00 /* DoricViewNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewNode.h; sourceTree = "<group>"; };
6DAC366FFC461CB868C0DF86F6344CFE /* UIView+Doric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Doric.m"; path = "Pod/Classes/UIView+Doric.m"; sourceTree = "<group>"; };
7024EC06DA6269A7AC3114234E695E6F /* DoricViewContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewContainer.h; sourceTree = "<group>"; };
77795B58FF90AEDB64EA0BE487AAEF57 /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = "<group>"; };
786AB58F4C2451575BBF7722ACDE9BEB /* Pods-ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.debug.xcconfig"; sourceTree = "<group>"; };
7B5C829845AA0CEAF3B572A53E20EFCB /* DoricShaderPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricShaderPlugin.m; sourceTree = "<group>"; };
804EB7FBF7F8F72AAFD3FD5ECC7D05FB /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAsyncResult.h; sourceTree = "<group>"; };
7FA6142FDB05EB37290A141BCF28E6E2 /* DoricHLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHLayoutNode.m; sourceTree = "<group>"; };
8052FAE778A6A09F2260E4E85B371F57 /* Pods-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.release.xcconfig"; sourceTree = "<group>"; };
81AACA77DC061A35C8889BFB9D814DA3 /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSCoreExecutor.m; sourceTree = "<group>"; };
833893BC557778C5E028A4358C2474B4 /* DoricContextManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextManager.m; path = Pod/Classes/DoricContextManager.m; sourceTree = "<group>"; };
838A2D595E7C6233C6C1A9887104201C /* DoricContextHolder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextHolder.m; path = Pod/Classes/DoricContextHolder.m; sourceTree = "<group>"; };
87E7F5288DD80B4FDE8896A6D2782093 /* Pods-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-resources.sh"; sourceTree = "<group>"; };
8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleTests-dummy.m"; sourceTree = "<group>"; };
8A84EEB8B23FE27771D2D7190EC924E8 /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = "<group>"; };
8D5FA8932D4EF01931E958564029287D /* UIView+Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Doric.h"; path = "Pod/Classes/UIView+Doric.h"; sourceTree = "<group>"; };
8F4D6D38881BB9FAF4450841BD1BF9CD /* Pods-ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleUITests-acknowledgements.markdown"; sourceTree = "<group>"; };
98E60E59562F9CC70526DF1826009FAF /* DoricStackNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStackNode.m; sourceTree = "<group>"; };
912DD5AC9B73450AB46CAC837632066E /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = "<group>"; };
9145FEC14942C0A3829F08841A321931 /* DoricHLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHLayoutNode.h; sourceTree = "<group>"; };
9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleTests-acknowledgements.plist"; sourceTree = "<group>"; };
9D7348EBC0EB82524D9FB92D0817A686 /* DoricViewContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewContainer.h; 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; };
9E3E205626DEE3A3A286F86069A99224 /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = "<group>"; };
A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleTests-acknowledgements.markdown"; sourceTree = "<group>"; };
A26A876597AE3777324B64B53CBD89EA /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = "<group>"; };
A4E483BB11392C9E0B62BBE8041D0ECE /* DoricViewNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewNode.m; sourceTree = "<group>"; };
AA2741E0185FA3CFF0EA4D43CAB773EB /* DoricVLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricVLayoutNode.h; sourceTree = "<group>"; };
AB276D4652B7518C403D17F5625FE1D0 /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = "<group>"; };
B05A77280162A84959C103CBBDBBB191 /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = "<group>"; };
BBE4EF9F667D9E6B1CD16167B70F45C1 /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSCoreExecutor.h; sourceTree = "<group>"; };
BC9F9BCEF67B7637CD34C9A50582C7AB /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = "<group>"; };
A5C03B5A2EF5BC47137E15CB4EBFE525 /* DoricContextHolder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextHolder.h; path = Pod/Classes/DoricContextHolder.h; sourceTree = "<group>"; };
A5FB6A497277059BC11DABD9A4F56AB5 /* UIView+Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Doric.h"; path = "Pod/Classes/UIView+Doric.h"; sourceTree = "<group>"; };
A7BBF360102FA3B4372193E445788A75 /* DoricConstant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricConstant.m; sourceTree = "<group>"; };
AAC90DCBF1BFE57FD63FA71236CD9617 /* DoricUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricUtil.h; sourceTree = "<group>"; };
AEAB7D461045D326881C99D36EB09F06 /* DoricContextManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextManager.m; path = Pod/Classes/DoricContextManager.m; sourceTree = "<group>"; };
C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-ExampleUITests.a"; path = "libPods-ExampleUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
C5D79E67113C317C7FAEDBBFC5A5C370 /* DoricGroupNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricGroupNode.h; sourceTree = "<group>"; };
C82BC649F5AE5383BBC5379C76035D94 /* DoricHLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHLayoutNode.m; sourceTree = "<group>"; };
C90C8E825DCD29A78EAAAB48CF72F654 /* 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; };
C40472CC88C197C1D9E0FAEF8AEEA012 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricUtil.m; sourceTree = "<group>"; };
C6D6AA5E2B4BA8E824A10E9272A0C408 /* DoricNativePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNativePlugin.m; sourceTree = "<group>"; };
C78507DD6E36D475B8675ACBB6CB29BB /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = "<group>"; };
CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libDoric.a; path = libDoric.a; sourceTree = BUILT_PRODUCTS_DIR; };
CE516B2F9F47A321B8D04EC900D38DA1 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
CEB9D24DC324D257D995B6301DF397A2 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricUtil.m; sourceTree = "<group>"; };
D629FF5A6F49DB566F192CF41BCC010C /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricModalPlugin.h; sourceTree = "<group>"; };
DC2C3FC7967C76E9AE596672F42A1FC4 /* DoricContextHolder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextHolder.h; path = Pod/Classes/DoricContextHolder.h; sourceTree = "<group>"; };
DD1CC7F988BF0DE1CFE6A18BDB8930D0 /* DoricShaderPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricShaderPlugin.h; sourceTree = "<group>"; };
D1CC34B6D8FB8039D88C3D24DD3AFA6F /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = "<group>"; };
D94AF2C3306CFE8E84FE37B99B27675B /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricModalPlugin.h; sourceTree = "<group>"; };
DC9CA9CA257999E08AC1FF1683E7A4D0 /* DoricViewNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewNode.h; sourceTree = "<group>"; };
DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
E2E039179F5757A75845BF03B1729DC7 /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPromise.h; sourceTree = "<group>"; };
E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
E56BFF57E9BDB938758F6BED90B7D073 /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPromise.m; sourceTree = "<group>"; };
EE84251D1BECA30AC6ECECA1F27789D8 /* DoricContextHolder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextHolder.m; path = Pod/Classes/DoricContextHolder.m; sourceTree = "<group>"; };
FE509351BB3B43D3BDDC6BA505110C1A /* UIView+Doric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Doric.m"; path = "Pod/Classes/UIView+Doric.m"; sourceTree = "<group>"; };
E6260EBC3191F783549F257021CB739F /* DoricBridgeExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricBridgeExtension.h; sourceTree = "<group>"; };
E7932F4E2884A330FF1506551365C865 /* DoricShaderPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricShaderPlugin.h; sourceTree = "<group>"; };
F2900AB095DDCE4E626159AB53632A69 /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSCoreExecutor.h; sourceTree = "<group>"; };
F33A23739F468A478C54668C662DD9EE /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = "<group>"; };
F888C6F2BBF4D7E8111FD254973C199A /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPromise.m; sourceTree = "<group>"; };
F9EDC495A5ED86BC976A8016F6D84540 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = "<group>"; };
FD44BD789425B6CDAC4E1C0D3B20B500 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricConstant.h; sourceTree = "<group>"; };
FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleUITests-dummy.m"; sourceTree = "<group>"; };
FEA7081F1D339B4A7918A3095FBD2AEC /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSEngine.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
055C241C0D8D7188445714FA5F7881D3 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
0BAD36B7F232A56FB4EDD23DD8325A04 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -180,34 +191,55 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
EC41F1C0EBCAFB648C77E2CB066F3A68 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0006393C194B34A1E6BB5A897AFBCBA9 /* Shader */ = {
015E7C848FEDB50F506009CB036F30CA /* Resources */ = {
isa = PBXGroup;
children = (
C5D79E67113C317C7FAEDBBFC5A5C370 /* DoricGroupNode.h */,
60C8E5BBF9716974DDE0E4EE210504D8 /* DoricGroupNode.m */,
44D65E4C5D93E28EF91A6521F314A00D /* DoricHLayoutNode.h */,
C82BC649F5AE5383BBC5379C76035D94 /* DoricHLayoutNode.m */,
22814C548C9591FDD35B1191717AA643 /* DoricStackNode.h */,
98E60E59562F9CC70526DF1826009FAF /* DoricStackNode.m */,
9D7348EBC0EB82524D9FB92D0817A686 /* DoricViewContainer.h */,
47BB4CA18E4AEA9BEDBF8983791A50F4 /* DoricViewContainer.m */,
7605DAD7D5BDFB07F1DBC3DF22E18C00 /* DoricViewNode.h */,
A4E483BB11392C9E0B62BBE8041D0ECE /* DoricViewNode.m */,
AA2741E0185FA3CFF0EA4D43CAB773EB /* DoricVLayoutNode.h */,
0086DC79DCBAB32136017CF5DCD3C089 /* DoricVLayoutNode.m */,
D1CC34B6D8FB8039D88C3D24DD3AFA6F /* doric-lib.js */,
1FE791173F73E0ABC7A884D6D34A851A /* doric-sandbox.js */,
);
name = Shader;
path = Pod/Classes/Shader;
name = Resources;
sourceTree = "<group>";
};
09F7FD8BBA48E0B4898CD9F886023D01 /* Pod */ = {
isa = PBXGroup;
children = (
165E0A231E9DDF8E3C3B339C5F991D2B /* Doric.podspec */,
2EC07F016FD484CA2F44DB97705AAFE7 /* LICENSE */,
);
name = Pod;
sourceTree = "<group>";
};
0F6D3DC6E0892C4718045033D657D1DB /* Util */ = {
isa = PBXGroup;
children = (
1E9FEEA40A1420C03A9FA2DF019E8394 /* DoricAsyncResult.h */,
4A7B786C53C8CBAFF6135B2DB1F35A0B /* DoricAsyncResult.m */,
FD44BD789425B6CDAC4E1C0D3B20B500 /* DoricConstant.h */,
A7BBF360102FA3B4372193E445788A75 /* DoricConstant.m */,
AAC90DCBF1BFE57FD63FA71236CD9617 /* DoricUtil.h */,
C40472CC88C197C1D9E0FAEF8AEEA012 /* DoricUtil.m */,
);
name = Util;
path = Pod/Classes/Util;
sourceTree = "<group>";
};
23ADCB41D1384D36F7825A214EAB9A73 /* Plugin */ = {
isa = PBXGroup;
children = (
D94AF2C3306CFE8E84FE37B99B27675B /* DoricModalPlugin.h */,
45486100EC1714E1F3DD912E8113B67B /* DoricModalPlugin.m */,
4F4F7A3F234E0CFD4CD49EFC295447B7 /* DoricNativePlugin.h */,
C6D6AA5E2B4BA8E824A10E9272A0C408 /* DoricNativePlugin.m */,
21C8D570F3695E2C55CF1650F47FDB8E /* DoricPromise.h */,
F888C6F2BBF4D7E8111FD254973C199A /* DoricPromise.m */,
E7932F4E2884A330FF1506551365C865 /* DoricShaderPlugin.h */,
34CB220633FAF5FB582354227A7889CC /* DoricShaderPlugin.m */,
);
name = Plugin;
path = Pod/Classes/Plugin;
sourceTree = "<group>";
};
29D5F571358D2DB73A9BA656A4698F3A /* Products */ = {
@ -221,15 +253,36 @@
name = Products;
sourceTree = "<group>";
};
29F0D0F11A3D0797284C99B5AE23C2BD /* Support Files */ = {
62E35506ADA61CDE6D18BEDDF97F38FF /* Extension */ = {
isa = PBXGroup;
children = (
348BD3D943C7E1662469EDF452531337 /* Doric.xcconfig */,
B05A77280162A84959C103CBBDBBB191 /* Doric-dummy.m */,
AB276D4652B7518C403D17F5625FE1D0 /* Doric-prefix.pch */,
E6260EBC3191F783549F257021CB739F /* DoricBridgeExtension.h */,
672ED840695CA6755DECF6030784FB37 /* DoricBridgeExtension.m */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/Doric";
name = Extension;
path = Pod/Classes/Extension;
sourceTree = "<group>";
};
705AFBC43290E5CA7BDAF7BAB039011E /* Shader */ = {
isa = PBXGroup;
children = (
40217AFE8466A394D1004596D7804FCE /* DoricGroupNode.h */,
1EA815FA2776C872BADBFAE526312474 /* DoricGroupNode.m */,
9145FEC14942C0A3829F08841A321931 /* DoricHLayoutNode.h */,
7FA6142FDB05EB37290A141BCF28E6E2 /* DoricHLayoutNode.m */,
2A58BA4FA12990F611D58B20153AF80B /* DoricRootNode.h */,
49972E7FA98D50B6D45F70E687BC62ED /* DoricRootNode.m */,
12E65E9A959F203D44594250808719D0 /* DoricStackNode.h */,
3C9367E5B8442FB979209B44C2B58A46 /* DoricStackNode.m */,
7024EC06DA6269A7AC3114234E695E6F /* DoricViewContainer.h */,
3D49B91AE0D40ADC8A4DCB74E68F77A0 /* DoricViewContainer.m */,
DC9CA9CA257999E08AC1FF1683E7A4D0 /* DoricViewNode.h */,
460F14FF387A5DD08430DA1FD75E10EE /* DoricViewNode.m */,
0A5A03FDB5D69AFA8105CD95F537E7B4 /* DoricVLayoutNode.h */,
49D245CB8651BC5097588071D90D8EA5 /* DoricVLayoutNode.m */,
);
name = Shader;
path = Pod/Classes/Shader;
sourceTree = "<group>";
};
71AEF72537B62D028A21E00FBEC2111B /* Pods-Example */ = {
@ -256,6 +309,17 @@
name = "Targets Support Files";
sourceTree = "<group>";
};
760306856D3D400CED2E99F3ACE73869 /* Support Files */ = {
isa = PBXGroup;
children = (
643CD220E77EB474B7A3E56677D5423E /* Doric.xcconfig */,
F33A23739F468A478C54668C662DD9EE /* Doric-dummy.m */,
37B9C731E5178B383DC3AF1F554C1D38 /* Doric-prefix.pch */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/Doric";
sourceTree = "<group>";
};
87BF90E86730F73BF5CB57472930C8FD /* Pods-ExampleUITests */ = {
isa = PBXGroup;
children = (
@ -269,96 +333,6 @@
path = "Target Support Files/Pods-ExampleUITests";
sourceTree = "<group>";
};
8AE933FA09A919AD34DED7DE404593DB /* Doric */ = {
isa = PBXGroup;
children = (
A26A876597AE3777324B64B53CBD89EA /* DoricContext.h */,
BC9F9BCEF67B7637CD34C9A50582C7AB /* DoricContext.m */,
DC2C3FC7967C76E9AE596672F42A1FC4 /* DoricContextHolder.h */,
EE84251D1BECA30AC6ECECA1F27789D8 /* DoricContextHolder.m */,
64D03F648667E1A8616F64120CFD122B /* DoricContextManager.h */,
833893BC557778C5E028A4358C2474B4 /* DoricContextManager.m */,
8A84EEB8B23FE27771D2D7190EC924E8 /* DoricDriver.h */,
503EFAC531F6DC0053850DDA192AE317 /* DoricDriver.m */,
6F9D212882CF73AA9F0BB49AA9A255F1 /* DoricRegistry.h */,
223F45C97DD568AC0CD748DB6AA3A58D /* DoricRegistry.m */,
8D5FA8932D4EF01931E958564029287D /* UIView+Doric.h */,
FE509351BB3B43D3BDDC6BA505110C1A /* UIView+Doric.m */,
A54402FBA44A675922A9847DC529270C /* Engine */,
8B00CAF6894EE2E25C522102317FE67F /* Extension */,
B05184956DD0BAC369330A61CD803A13 /* Plugin */,
9D56300CC6416EF655B24A6B565284EB /* Pod */,
EEA3AD385ADD28AA6865F6BC47252B26 /* Resources */,
0006393C194B34A1E6BB5A897AFBCBA9 /* Shader */,
29F0D0F11A3D0797284C99B5AE23C2BD /* Support Files */,
9A147772E1CE8677C839C9B13B7B5021 /* Util */,
);
name = Doric;
path = ../..;
sourceTree = "<group>";
};
8B00CAF6894EE2E25C522102317FE67F /* Extension */ = {
isa = PBXGroup;
children = (
25A1B9A09B7E38DBE8E814F1E106E3D7 /* DoricBridgeExtension.h */,
5B1CD7E04EE1F9B8A71C4DBAB5F2FE9C /* DoricBridgeExtension.m */,
);
name = Extension;
path = Pod/Classes/Extension;
sourceTree = "<group>";
};
9A147772E1CE8677C839C9B13B7B5021 /* Util */ = {
isa = PBXGroup;
children = (
804EB7FBF7F8F72AAFD3FD5ECC7D05FB /* DoricAsyncResult.h */,
4A367617937F20AD74E7199A830B0E21 /* DoricAsyncResult.m */,
58461E514C25651921D16B9D94B52C90 /* DoricConstant.h */,
4C66A083AF48E9041B7280C24339068B /* DoricConstant.m */,
556A6E62CC1D653C98A7E5ACECC68693 /* DoricUtil.h */,
CEB9D24DC324D257D995B6301DF397A2 /* DoricUtil.m */,
);
name = Util;
path = Pod/Classes/Util;
sourceTree = "<group>";
};
9D56300CC6416EF655B24A6B565284EB /* Pod */ = {
isa = PBXGroup;
children = (
C90C8E825DCD29A78EAAAB48CF72F654 /* Doric.podspec */,
CE516B2F9F47A321B8D04EC900D38DA1 /* LICENSE */,
);
name = Pod;
sourceTree = "<group>";
};
A54402FBA44A675922A9847DC529270C /* Engine */ = {
isa = PBXGroup;
children = (
BBE4EF9F667D9E6B1CD16167B70F45C1 /* DoricJSCoreExecutor.h */,
81AACA77DC061A35C8889BFB9D814DA3 /* DoricJSCoreExecutor.m */,
308A703A1C65FCD4A8396C5177CC3ABB /* DoricJSEngine.h */,
188FF0A43A09365998F69726E1E08D87 /* DoricJSEngine.m */,
6293DDD455950079EA0639C5AC2AED51 /* DoricJSExecutorProtocal.h */,
);
name = Engine;
path = Pod/Classes/Engine;
sourceTree = "<group>";
};
B05184956DD0BAC369330A61CD803A13 /* Plugin */ = {
isa = PBXGroup;
children = (
D629FF5A6F49DB566F192CF41BCC010C /* DoricModalPlugin.h */,
10CA679B5464CB62A2066E46AE03A9E7 /* DoricModalPlugin.m */,
2BB9E8932A0B8971F152630988CA60DC /* DoricNativePlugin.h */,
1A2477A9960550C69616EE9969DAF9F3 /* DoricNativePlugin.m */,
E2E039179F5757A75845BF03B1729DC7 /* DoricPromise.h */,
E56BFF57E9BDB938758F6BED90B7D073 /* DoricPromise.m */,
DD1CC7F988BF0DE1CFE6A18BDB8930D0 /* DoricShaderPlugin.h */,
7B5C829845AA0CEAF3B572A53E20EFCB /* DoricShaderPlugin.m */,
);
name = Plugin;
path = Pod/Classes/Plugin;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
@ -377,23 +351,42 @@
name = Frameworks;
sourceTree = "<group>";
};
DFB81C4A0FB4CD012EC9A1DF482818B6 /* Doric */ = {
isa = PBXGroup;
children = (
9E3E205626DEE3A3A286F86069A99224 /* DoricContext.h */,
11F84157E3FED749ED2F53440014CF74 /* DoricContext.m */,
A5C03B5A2EF5BC47137E15CB4EBFE525 /* DoricContextHolder.h */,
838A2D595E7C6233C6C1A9887104201C /* DoricContextHolder.m */,
3ABE103C115C78067E7271E38A6F50DB /* DoricContextManager.h */,
AEAB7D461045D326881C99D36EB09F06 /* DoricContextManager.m */,
912DD5AC9B73450AB46CAC837632066E /* DoricDriver.h */,
77795B58FF90AEDB64EA0BE487AAEF57 /* DoricDriver.m */,
F9EDC495A5ED86BC976A8016F6D84540 /* DoricRegistry.h */,
C78507DD6E36D475B8675ACBB6CB29BB /* DoricRegistry.m */,
A5FB6A497277059BC11DABD9A4F56AB5 /* UIView+Doric.h */,
6DAC366FFC461CB868C0DF86F6344CFE /* UIView+Doric.m */,
FB4F2910F5F8A2A3B734B04604EDD096 /* Engine */,
62E35506ADA61CDE6D18BEDDF97F38FF /* Extension */,
23ADCB41D1384D36F7825A214EAB9A73 /* Plugin */,
09F7FD8BBA48E0B4898CD9F886023D01 /* Pod */,
015E7C848FEDB50F506009CB036F30CA /* Resources */,
705AFBC43290E5CA7BDAF7BAB039011E /* Shader */,
760306856D3D400CED2E99F3ACE73869 /* Support Files */,
0F6D3DC6E0892C4718045033D657D1DB /* Util */,
);
name = Doric;
path = ../..;
sourceTree = "<group>";
};
E059370AA74361A31256E49BFE60A18C /* Development Pods */ = {
isa = PBXGroup;
children = (
8AE933FA09A919AD34DED7DE404593DB /* Doric */,
DFB81C4A0FB4CD012EC9A1DF482818B6 /* Doric */,
);
name = "Development Pods";
sourceTree = "<group>";
};
EEA3AD385ADD28AA6865F6BC47252B26 /* Resources */ = {
isa = PBXGroup;
children = (
3DFFC780C1EB3DD50FE240C1098AD5CE /* doric-lib.js */,
5360A09920D43F084CEB4279B11999AE /* doric-sandbox.js */,
);
name = Resources;
sourceTree = "<group>";
};
F4EB4F3E7D139A61CACFFAFCA3EF3B30 /* Pods-ExampleTests */ = {
isa = PBXGroup;
children = (
@ -407,6 +400,19 @@
path = "Target Support Files/Pods-ExampleTests";
sourceTree = "<group>";
};
FB4F2910F5F8A2A3B734B04604EDD096 /* Engine */ = {
isa = PBXGroup;
children = (
F2900AB095DDCE4E626159AB53632A69 /* DoricJSCoreExecutor.h */,
673C99F302C0D91311C4BEAB6C3F5DD2 /* DoricJSCoreExecutor.m */,
FEA7081F1D339B4A7918A3095FBD2AEC /* DoricJSEngine.h */,
34B71CB0B4480EA08DD35197F06DBF38 /* DoricJSEngine.m */,
28C3F6DCBC4FB144EEE0564B6299B0CB /* DoricJSExecutorProtocal.h */,
);
name = Engine;
path = Pod/Classes/Engine;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@ -417,6 +423,37 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
80551170680AE24FC4F96AFAC5F15CB3 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
9A9898D3BF3A128394E259E77C18E5E2 /* DoricAsyncResult.h in Headers */,
72798480E6CFE8E6F1AD85353C444859 /* DoricBridgeExtension.h in Headers */,
6F80C43C5C12DAA9332DCACC14737C3B /* DoricConstant.h in Headers */,
2DDB1773CD63B96E65C35498C3996863 /* DoricContext.h in Headers */,
4FE3A28BF98A8961D36D6FDB2F3B9CD7 /* DoricContextHolder.h in Headers */,
478582BDBAFCFA438AC1FE6AA64FD05B /* DoricContextManager.h in Headers */,
62DD9D08169916F9518A8B4652F38CC1 /* DoricDriver.h in Headers */,
F2F6D32AD0E092DD80D34AEADAC1606E /* DoricGroupNode.h in Headers */,
F598DDE0FA1FE0CC6F09499064B01761 /* DoricHLayoutNode.h in Headers */,
4A763B739F2E6314E86BE42039C72F61 /* DoricJSCoreExecutor.h in Headers */,
1D04A72FEFC65855BAA811EA168290A2 /* DoricJSEngine.h in Headers */,
12AE76A61ACF5FED79486B93EACE1146 /* DoricJSExecutorProtocal.h in Headers */,
302DB909D5BBDB9CB2BFCFEEA3FC6A15 /* DoricModalPlugin.h in Headers */,
54BF7D51673A2703005F6D5BA878440D /* DoricNativePlugin.h in Headers */,
C2484F8336CBB1316490280D7A657245 /* DoricPromise.h in Headers */,
164532D3D7552B3CD829766336E1C42D /* DoricRegistry.h in Headers */,
28AED334BCB055C70790AEB5B9A6B9B0 /* DoricRootNode.h in Headers */,
06DCA2A3B954DE68672CACC809600166 /* DoricShaderPlugin.h in Headers */,
DAEFBC72D2314E794132D06E15025AC3 /* DoricStackNode.h in Headers */,
13A302CDD2B011A4DF5CF1112E09E937 /* DoricUtil.h in Headers */,
0A85A5F9A3EE11F072A89DE84A6FA0B8 /* DoricViewContainer.h in Headers */,
CDB42B526F58B185A238F2F725094FA3 /* DoricViewNode.h in Headers */,
A2A8E68788BDBA92162E3958CC947636 /* DoricVLayoutNode.h in Headers */,
DFB2B8E114B1081B0B285F7EF712C3FC /* UIView+Doric.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
96C4DC83B735389C75BF8CCC4F9993F7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -424,36 +461,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B311304599CA42474E4F09FD37E2C421 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
CF36800F2F778F0BD9F766E0A3AB9C61 /* DoricAsyncResult.h in Headers */,
06132D51289C97282C56EBA04D2B148B /* DoricBridgeExtension.h in Headers */,
FFAB0BE58585F7BA2E6802FC9E74F7D4 /* DoricConstant.h in Headers */,
C459292BD974877F22A546ADAE404447 /* DoricContext.h in Headers */,
F7164BEB390837773D6FA315756578A4 /* DoricContextHolder.h in Headers */,
D364DC10E14DF0A1D91739A47E9553DF /* DoricContextManager.h in Headers */,
AF3551B20182D3D1C085BC2B50C04650 /* DoricDriver.h in Headers */,
04E7F774D9DCB6C605B06BC155DAAEAE /* DoricGroupNode.h in Headers */,
576376FDAB7E8E80CEB0271A23CFF075 /* DoricHLayoutNode.h in Headers */,
133EB1941A0D8F59E68DCBDFDB60BAE1 /* DoricJSCoreExecutor.h in Headers */,
C6DC4BE54E30864ADFF8EF4DEC9AA9E3 /* DoricJSEngine.h in Headers */,
1F4E26D6400A07D34CAB08D32154349F /* DoricJSExecutorProtocal.h in Headers */,
FF4E5D18DC39B60B2290C7E97FCEFDF2 /* DoricModalPlugin.h in Headers */,
6B18E1AA6C322CD0492578A6E97031C9 /* DoricNativePlugin.h in Headers */,
AC92ECBAC0C575FF283B5245CF71128D /* DoricPromise.h in Headers */,
8DC69260011C5144925971AA030E5A5C /* DoricRegistry.h in Headers */,
77B31AE7FF627BFFF9349ACACB74D085 /* DoricShaderPlugin.h in Headers */,
B05F4974A25CBC20B461E6BFF0589C1C /* DoricStackNode.h in Headers */,
EDFC6AF93B17ED715F45F493E1154FAB /* DoricUtil.h in Headers */,
196A94F1F707114C5096DCDD186358D9 /* DoricViewContainer.h in Headers */,
2E741FB527651F87084777A92A366C52 /* DoricViewNode.h in Headers */,
AE45E19C28C4B466BCE6CAC08C022081 /* DoricVLayoutNode.h in Headers */,
188C125538902E64293F11E5C38561E7 /* UIView+Doric.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FC44F694DF43568E1C9D46D4F8AA2AC7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -484,11 +491,11 @@
};
3467588C9AC1920A96217C14EB70DA40 /* Doric */ = {
isa = PBXNativeTarget;
buildConfigurationList = CB138465EF8B52BD77F066FA30BB273D /* Build configuration list for PBXNativeTarget "Doric" */;
buildConfigurationList = 20A77CCFE168A7125C120A0E5063043E /* Build configuration list for PBXNativeTarget "Doric" */;
buildPhases = (
B311304599CA42474E4F09FD37E2C421 /* Headers */,
2468FC92B2565CB8ABABAA58CCCF0AA8 /* Sources */,
EC41F1C0EBCAFB648C77E2CB066F3A68 /* Frameworks */,
80551170680AE24FC4F96AFAC5F15CB3 /* Headers */,
BB0F00E92CADD1BBAD03E9358F873FEC /* Sources */,
055C241C0D8D7188445714FA5F7881D3 /* Frameworks */,
);
buildRules = (
);
@ -581,36 +588,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
2468FC92B2565CB8ABABAA58CCCF0AA8 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8FA1003F5EED444E558897E89C5164E5 /* Doric-dummy.m in Sources */,
3F31A8B540502702CABE2B79550F16B0 /* DoricAsyncResult.m in Sources */,
DCC15B8B4AF6FA17FD3AE90DB2FC597E /* DoricBridgeExtension.m in Sources */,
A282BF976AF347F1FA187CC7F92C25D3 /* DoricConstant.m in Sources */,
A6809EC45E7967BF19733C28A1ECDE75 /* DoricContext.m in Sources */,
723A2883FD63BD61CE24EA32C7936A5E /* DoricContextHolder.m in Sources */,
11ED5DC488769239F5BB01594A26C630 /* DoricContextManager.m in Sources */,
9CB955F6F002A530211077048F1E4D8B /* DoricDriver.m in Sources */,
0C1A0CCEC63200316DB8E5FB7E8A4B96 /* DoricGroupNode.m in Sources */,
D576555B1F0F23343CF3552A66F9FE14 /* DoricHLayoutNode.m in Sources */,
BD661503571A3BEFC509462EE45E9EF3 /* DoricJSCoreExecutor.m in Sources */,
8C5D618491868431E0AF3ED9DDEC4AC3 /* DoricJSEngine.m in Sources */,
DE251F2EF96AF915B8D66E14D237740A /* DoricModalPlugin.m in Sources */,
47584385016209956302B5F7F2EE7C1B /* DoricNativePlugin.m in Sources */,
FD5E9774E6D569EFAD13428076A83580 /* DoricPromise.m in Sources */,
BC5BA61837A9474D5EBB7CB7ED4BEDBA /* DoricRegistry.m in Sources */,
0C92A70244EF50FE7DE54B14274A7C30 /* DoricShaderPlugin.m in Sources */,
EAF1DB1AF238113B9C78B517982B05C0 /* DoricStackNode.m in Sources */,
0FACABC3B48AF5DB65C3DCDD24036ED4 /* DoricUtil.m in Sources */,
3A76C0C916A54E66675226BA1ADFED55 /* DoricViewContainer.m in Sources */,
5E9BFAD19D6788398F1996251638192E /* DoricViewNode.m in Sources */,
DF819AD16716E68186F34BAE002F9FA5 /* DoricVLayoutNode.m in Sources */,
B102BA992EE1C625645233FE6DAE6117 /* UIView+Doric.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9A3583B42723658D87E4868694121B3A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -619,6 +596,37 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
BB0F00E92CADD1BBAD03E9358F873FEC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C75445C1801AD98C9483A950A6C438A6 /* Doric-dummy.m in Sources */,
84B45C95611242BD802C1F1247741236 /* DoricAsyncResult.m in Sources */,
D099FC2BB9DC0F39B30446EBC6F50067 /* DoricBridgeExtension.m in Sources */,
539DC2B1C93B4FCFA271875D97A478BF /* DoricConstant.m in Sources */,
3A7027957834E7DD659D40C0BE3EEBA2 /* DoricContext.m in Sources */,
2FF24F23951D59533A1BB48B43547A0E /* DoricContextHolder.m in Sources */,
11286BB892C4851A974FB5C21403DEBB /* DoricContextManager.m in Sources */,
158E69718314A807914CB18754C8CD34 /* DoricDriver.m in Sources */,
289188E22B29E5FD2C4C4EE80C58292B /* DoricGroupNode.m in Sources */,
D9231073A1A2A3D3967C4D552F87180F /* DoricHLayoutNode.m in Sources */,
15DC2F675F01FE8185CA632406045983 /* DoricJSCoreExecutor.m in Sources */,
F939A4A137B61D2362519D8F5381DC4E /* DoricJSEngine.m in Sources */,
C00489D525BBC0670815508F43AE39A4 /* DoricModalPlugin.m in Sources */,
81D52405D6E15FB19C6ADE196CEBFED4 /* DoricNativePlugin.m in Sources */,
9819AF9920746EF21542E98566455571 /* DoricPromise.m in Sources */,
159F44077D988BE31CFAA0FABB4B97F5 /* DoricRegistry.m in Sources */,
1E3AEF0D767322EEB63622B26806ACEE /* DoricRootNode.m in Sources */,
DBC2D2D72A7B27EECC1FEA4218B74028 /* DoricShaderPlugin.m in Sources */,
0F15CD85BB2DB16EAADAD04B6FCE5A86 /* DoricStackNode.m in Sources */,
8563054FDD46A2AAB41A0BB8E83BFB68 /* DoricUtil.m in Sources */,
350EA85C63ADB71A8F0186BCF1FEA968 /* DoricViewContainer.m in Sources */,
6DBD9C01A53DDF5E78C72496F40D27AB /* DoricViewNode.m in Sources */,
35B49D8A08D30DE608A9C61122EBD5E0 /* DoricVLayoutNode.m in Sources */,
4AAE3787EC165C1068805C22DAD9955A /* UIView+Doric.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@ -665,30 +673,6 @@
};
name = Debug;
};
0F83FC7BA9A0C897686F216841449D65 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 348BD3D943C7E1662469EDF452531337 /* Doric.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
GCC_PREFIX_HEADER = "Target Support Files/Doric/Doric-prefix.pch";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PRIVATE_HEADERS_FOLDER_PATH = "";
PRODUCT_MODULE_NAME = Doric;
PRODUCT_NAME = Doric;
PUBLIC_HEADERS_FOLDER_PATH = "";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
3A9BD353C9AA5B193D9D2F584EAE7C0F /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */;
@ -711,9 +695,9 @@
};
name = Debug;
};
3E568E98347781D52C85077B9CE05D92 /* Debug */ = {
60BABBAA5851A7FDDE9F8D42FDBDCAD1 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 348BD3D943C7E1662469EDF452531337 /* Doric.xcconfig */;
baseConfigurationReference = 643CD220E77EB474B7A3E56677D5423E /* Doric.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@ -731,8 +715,9 @@
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Debug;
name = Release;
};
6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */ = {
isa = XCBuildConfiguration;
@ -903,6 +888,29 @@
};
name = Debug;
};
BFD5716574E4ACB75951E7E19AF315A0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 643CD220E77EB474B7A3E56677D5423E /* Doric.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
GCC_PREFIX_HEADER = "Target Support Files/Doric/Doric-prefix.pch";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PRIVATE_HEADERS_FOLDER_PATH = "";
PRODUCT_MODULE_NAME = Doric;
PRODUCT_NAME = Doric;
PUBLIC_HEADERS_FOLDER_PATH = "";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
D31202A59D4909EFD90E517EA2C32A62 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */;
@ -952,6 +960,15 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
20A77CCFE168A7125C120A0E5063043E /* Build configuration list for PBXNativeTarget "Doric" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BFD5716574E4ACB75951E7E19AF315A0 /* Debug */,
60BABBAA5851A7FDDE9F8D42FDBDCAD1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@ -979,15 +996,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CB138465EF8B52BD77F066FA30BB273D /* Build configuration list for PBXNativeTarget "Doric" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E568E98347781D52C85077B9CE05D92 /* Debug */,
0F83FC7BA9A0C897686F216841449D65 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FF1E8FCEC0A05CD6042539B49FE84977 /* Build configuration list for PBXNativeTarget "Pods-ExampleUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -20,6 +20,10 @@ NS_ASSUME_NONNULL_BEGIN
- (DoricAsyncResult *)callEntity:(NSString *)method, ...;
- (DoricAsyncResult *)callEntity:(NSString *)method withArguments:(va_list)args;
- (DoricAsyncResult *)callEntity:(NSString *)method withArgumentsArray:(NSArray *)args;
@end
NS_ASSUME_NONNULL_END

View File

@ -31,4 +31,10 @@ - (DoricAsyncResult *)callEntity:(NSString *)method, ... {
return ret;
}
- (DoricAsyncResult *)callEntity:(NSString *)method withArguments:(va_list)args {
return [self.driver invokeContextEntity:self.contextId method:method arguments:args];
}
- (DoricAsyncResult *)callEntity:(NSString *)method withArgumentsArray:(NSArray *)args {
return [self.driver invokeContextEntity:self.contextId method:method argumentsArray:args];
}
@end

View File

@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN
- (DoricAsyncResult *)invokeDoricMethod:(NSString *)method, ...;
- (DoricAsyncResult *)invokeContextEntity:(NSString *)contextId method:(NSString *)method, ...;
- (DoricAsyncResult *)invokeContextEntity:(NSString *)contextId method:(NSString *)method arguments:(va_list) args;
- (DoricAsyncResult *)invokeContextEntity:(NSString *)contextId method:(NSString *)method argumentsArray:(NSArray *)args;
@end
NS_ASSUME_NONNULL_END

View File

@ -97,6 +97,27 @@ - (DoricAsyncResult *)invokeContextEntity:(NSString *)contextId method:(NSString
});
return ret;
}
- (DoricAsyncResult *)invokeContextEntity:(NSString *)contextId method:(NSString *)method argumentsArray:(NSArray *)args {
DoricAsyncResult *ret = [[DoricAsyncResult alloc] init];
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:contextId];
[array addObject:method];
for (id arg in args){
[array addObject: arg];
}
__weak typeof(self) _self = self;
dispatch_async(self.jsExecutor.jsQueue, ^(){
__strong typeof(_self) self = _self;
if (!self) return;
@try {
JSValue *jsValue = [self.jsExecutor invokeDoricMethod:DORIC_CONTEXT_INVOKE argumentsArray:array];
[ret setupResult:jsValue];
} @catch (NSException *exception) {
[ret setupError:exception];
}
});
return ret;
}
- (DoricAsyncResult *)createContext:(NSString *)contextId script:(NSString *)script source:(NSString *)source {
DoricAsyncResult *ret = [[DoricAsyncResult alloc] init];

View File

@ -20,6 +20,9 @@ NS_ASSUME_NONNULL_BEGIN
- (Class)acquireNativePlugin:(NSString *)name;
- (void)registerViewNode:(Class)nodeClass withName:(NSString *)name;
- (Class)acquireViewNode:(NSString *)name;
@end
NS_ASSUME_NONNULL_END

View File

@ -8,11 +8,15 @@
#import "DoricRegistry.h"
#import "DoricModalPlugin.h"
#import "DoricShaderPlugin.h"
#import "DoricStackNode.h"
#import "DoricVLayoutNode.h"
#import "DoricHLayoutNode.h"
@interface DoricRegistry ()
@property (nonatomic,strong) NSMutableDictionary *bundles;
@property (nonatomic,strong) NSMutableDictionary *plugins;
@property (nonatomic,strong) NSMutableDictionary *nodes;
@end
@ -22,6 +26,7 @@ - (instancetype)init {
if(self = [super init]){
_bundles = [[NSMutableDictionary alloc] init];
_plugins = [[NSMutableDictionary alloc] init];
_nodes = [[NSMutableDictionary alloc] init];
[self innerRegister];
}
return self;
@ -30,6 +35,10 @@ - (instancetype)init {
- (void)innerRegister {
[self registerNativePlugin:DoricModalPlugin.class withName:@"modal"];
[self registerNativePlugin:DoricShaderPlugin.class withName:@"shader"];
[self registerViewNode:DoricStackNode.class withName:@"Stack"];
[self registerViewNode:DoricVLayoutNode.class withName:@"VLayout"];
[self registerViewNode:DoricHLayoutNode.class withName:@"HLayout"];
}
- (void)registerJSBundle:(NSString *)bundle withName:(NSString *)name {
@ -48,4 +57,12 @@ - (Class)acquireNativePlugin:(NSString *)name {
return [self.plugins objectForKey:name];
}
- (void)registerViewNode:(Class)nodeClass withName:(NSString *)name {
[self.nodes setObject:nodeClass forKey:name];
}
- (Class)acquireViewNode:(NSString *)name {
return [self.nodes objectForKey:name];
}
@end

View File

@ -10,7 +10,12 @@
NS_ASSUME_NONNULL_BEGIN
@interface DoricGroupNode : DoricViewNode<UIView *>
@property (nonatomic,strong) NSMutableDictionary *children;
- (void)blendChild:(DoricViewNode *)child layoutConfig:(NSDictionary *)layoutconfig;
- (LayoutParams *)generateDefaultLayoutParams;
@end
NS_ASSUME_NONNULL_END

View File

@ -7,17 +7,80 @@
#import "DoricGroupNode.h"
@interface DoricGroupNode ()
@property (nonatomic,strong) NSMutableArray *indexInfo;
@end
@implementation DoricGroupNode
- (instancetype)init {
if(self = [super init]) {
_children = [[NSMutableDictionary alloc] init];
_indexInfo = [[NSMutableArray alloc] init];
}
return self;
}
- (UIView *)build:(NSDictionary *)props {
return [[UIView alloc] init];
}
- (void)blendView:(UIView *)view forPropName:(NSString *)name propValue:(id)prop {
if([name isEqualToString:@"children"]) {
NSArray *array = prop;
NSInteger i;
for (i = 0; i< array.count; i++) {
NSDictionary *val = array[i];
if (!val) {
continue;
}
NSString *type = [val objectForKey:@"type"];
NSString *viewId = [val objectForKey:@"id"];
DoricViewNode *node = [self.children objectForKey:viewId];
if (node == nil) {
node = [DoricViewNode create:self.doricContext withType:type];
node.index = i;
node.parent = self;
node.viewId = viewId;
[self.children setObject:node forKey:viewId];
} else if (i != node.index){
node.index = i;
[node.view removeFromSuperview];
}
LayoutParams *params = node.layoutParams;
if (params == nil) {
params = [self generateDefaultLayoutParams];
}
[node blend:[val objectForKey:@"props"]];
if ([self.indexInfo objectAtIndex:i] == nil) {
[self.view insertSubview:node.view atIndex:i];
[self.indexInfo setObject:node atIndexedSubscript:i];
}
}
for (; i < self.view.subviews.count; i++) {
[self.view.subviews[i] removeFromSuperview];
DoricViewNode *node = [self.indexInfo objectAtIndex:i];
if (node != nil) {
[self.children removeObjectForKey: node.viewId];
[self.indexInfo removeObjectAtIndex:i];
}
}
} else {
[super blendView:view forPropName:name propValue:prop];
}
}
- (LayoutParams *)generateDefaultLayoutParams {
LayoutParams *params = [[LayoutParams alloc] init];
return params;
}
- (void)blendChild:(DoricViewNode *)child layoutConfig:(NSDictionary *)layoutconfig {
LayoutParams *params = child.layoutParams;
NSDictionary *margin = [layoutconfig objectForKey:@"margin"];
params.margin.top = [(NSNumber *)[margin objectForKey:@"top"] floatValue];
params.margin.left = [(NSNumber *)[margin objectForKey:@"left"] floatValue];
params.margin.right = [(NSNumber *)[margin objectForKey:@"right"] floatValue];
params.margin.bottom = [(NSNumber *)[margin objectForKey:@"bottom"] floatValue];
}
@end

View File

@ -0,0 +1,16 @@
//
// DoricRootNode.h
// Doric
//
// Created by pengfei.zhou on 2019/7/30.
//
#import "DoricStackNode.h"
NS_ASSUME_NONNULL_BEGIN
@interface DoricRootNode : DoricStackNode
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,12 @@
//
// DoricRootNode.m
// Doric
//
// Created by pengfei.zhou on 2019/7/30.
//
#import "DoricRootNode.h"
@implementation DoricRootNode
@end

View File

@ -54,14 +54,16 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic) DoricGravity gravity;
@end
@interface VLayout : UIView
@interface LinearLayout : UIView
@property (nonatomic) DoricGravity gravity;
@property (nonatomic) CGFloat space;
@end
@interface HLayout : UIView
@property (nonatomic) DoricGravity gravity;
@property (nonatomic) CGFloat space;
@interface VLayout : LinearLayout
@end
@interface HLayout : LinearLayout
@end
NS_ASSUME_NONNULL_END

View File

@ -12,6 +12,12 @@ @implementation DoricRect
@end
@implementation LayoutParams
- (instancetype)init {
if (self = [super init]) {
_margin = [[DoricRect alloc] init];
}
return self;
}
@end
@ -37,13 +43,13 @@ - (void)measure {
@end
@implementation Stack
@end
@implementation LinearLayout
@end
@implementation VLayout
@end
@implementation HLayout
@end

View File

@ -6,6 +6,7 @@
//
#import "DoricContextHolder.h"
#import "DoricViewContainer.h"
#import "UIView+Doric.h"
@ -17,6 +18,13 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong) V view;
@property (nonatomic,weak) DoricGroupNode *parent;
@property (nonatomic) NSInteger index;
@property (nonatomic,strong) NSString *viewId;
@property (nonatomic,strong) LayoutParams *layoutParams;
@property (nonatomic,strong,readonly) NSArray<NSString *> *idList;
- (V)build:(NSDictionary *)props;
@ -24,6 +32,10 @@ NS_ASSUME_NONNULL_BEGIN
- (void)blendView:(V)view forPropName:(NSString *)name propValue:(id)prop;
- (void)callJSResponse:(NSString *)funcId,...;
+ (DoricViewNode *)create:(DoricContext *)context withType:(NSString *)type;
@end
NS_ASSUME_NONNULL_END

View File

@ -8,6 +8,8 @@
#import "DoricViewNode.h"
#import "DoricUtil.h"
#import "DoricGroupNode.h"
#import "DoricRootNode.h"
#import "DoricConstant.h"
@implementation DoricViewNode
@ -40,7 +42,40 @@ - (void)blendView:(UIView *)view forPropName:(NSString *)name propValue:(id)prop
if(self.parent && [prop isKindOfClass:[NSDictionary class]]){
[self.parent blendChild:self layoutConfig:prop];
}
} else {
DoricLog(@"Blend View error for View Type :%@, prop is %@", self.class, name);
}
}
- (NSArray<NSString *> *)idList {
NSMutableArray *ret = [[NSMutableArray alloc] init];
DoricViewNode *node = self;
do {
[ret addObject:node.viewId];
node = node.parent;
} while (node && ![node isKindOfClass:[DoricRootNode class]]);
return ret;
}
- (void)callJSResponse:(NSString *)funcId,... {
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:self.idList];
[array addObject:funcId];
va_list args;
va_start(args, funcId);
id arg;
while ((arg = va_arg(args, id)) != nil) {
[array addObject:arg];
}
[self.doricContext callEntity:DORIC_ENTITY_RESPONSE withArgumentsArray:array];
va_end(args);
}
+ (DoricViewNode *)create:(DoricContext *)context withType:(NSString *)type {
DoricRegistry *registry = context.driver.registry;
Class clz = [registry acquireViewNode:type];
return [[clz alloc] initWithContext:context];
}
@end