From 20986340d7b40093719b60638f3afc70b91b26e8 Mon Sep 17 00:00:00 2001 From: "pengfei.zhou" Date: Tue, 30 Jul 2019 21:05:27 +0800 Subject: [PATCH] iOS add View Node --- .../Headers/Private/Doric/DoricRootNode.h | 1 + .../Pods/Headers/Public/Doric/DoricRootNode.h | 1 + .../Pods/Pods.xcodeproj/project.pbxproj | 660 +++++++++--------- iOS/Pod/Classes/DoricContext.h | 4 + iOS/Pod/Classes/DoricContext.m | 6 + iOS/Pod/Classes/DoricDriver.h | 2 +- iOS/Pod/Classes/DoricDriver.m | 21 + iOS/Pod/Classes/DoricRegistry.h | 3 + iOS/Pod/Classes/DoricRegistry.m | 17 + iOS/Pod/Classes/Shader/DoricGroupNode.h | 5 + iOS/Pod/Classes/Shader/DoricGroupNode.m | 67 +- iOS/Pod/Classes/Shader/DoricRootNode.h | 16 + iOS/Pod/Classes/Shader/DoricRootNode.m | 12 + iOS/Pod/Classes/Shader/DoricViewContainer.h | 10 +- iOS/Pod/Classes/Shader/DoricViewContainer.m | 10 +- iOS/Pod/Classes/Shader/DoricViewNode.h | 12 + iOS/Pod/Classes/Shader/DoricViewNode.m | 35 + 17 files changed, 547 insertions(+), 335 deletions(-) create mode 120000 iOS/Example/Pods/Headers/Private/Doric/DoricRootNode.h create mode 120000 iOS/Example/Pods/Headers/Public/Doric/DoricRootNode.h create mode 100644 iOS/Pod/Classes/Shader/DoricRootNode.h create mode 100644 iOS/Pod/Classes/Shader/DoricRootNode.m diff --git a/iOS/Example/Pods/Headers/Private/Doric/DoricRootNode.h b/iOS/Example/Pods/Headers/Private/Doric/DoricRootNode.h new file mode 120000 index 00000000..9c34b186 --- /dev/null +++ b/iOS/Example/Pods/Headers/Private/Doric/DoricRootNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricRootNode.h \ No newline at end of file diff --git a/iOS/Example/Pods/Headers/Public/Doric/DoricRootNode.h b/iOS/Example/Pods/Headers/Public/Doric/DoricRootNode.h new file mode 120000 index 00000000..9c34b186 --- /dev/null +++ b/iOS/Example/Pods/Headers/Public/Doric/DoricRootNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricRootNode.h \ No newline at end of file diff --git a/iOS/Example/Pods/Pods.xcodeproj/project.pbxproj b/iOS/Example/Pods/Pods.xcodeproj/project.pbxproj index a0149b69..11b3f644 100644 --- a/iOS/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/iOS/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -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 = ""; }; - 10CA679B5464CB62A2066E46AE03A9E7 /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricModalPlugin.m; sourceTree = ""; }; - 188FF0A43A09365998F69726E1E08D87 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSEngine.m; sourceTree = ""; }; - 1A2477A9960550C69616EE9969DAF9F3 /* DoricNativePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNativePlugin.m; sourceTree = ""; }; + 0A5A03FDB5D69AFA8105CD95F537E7B4 /* DoricVLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricVLayoutNode.h; sourceTree = ""; }; + 11F84157E3FED749ED2F53440014CF74 /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = ""; }; + 12E65E9A959F203D44594250808719D0 /* DoricStackNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStackNode.h; sourceTree = ""; }; + 165E0A231E9DDF8E3C3B339C5F991D2B /* Doric.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = Doric.podspec; sourceTree = ""; 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 = ""; }; + 1E9FEEA40A1420C03A9FA2DF019E8394 /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAsyncResult.h; sourceTree = ""; }; + 1EA815FA2776C872BADBFAE526312474 /* DoricGroupNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricGroupNode.m; sourceTree = ""; }; 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 = ""; }; - 22814C548C9591FDD35B1191717AA643 /* DoricStackNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStackNode.h; sourceTree = ""; }; - 25A1B9A09B7E38DBE8E814F1E106E3D7 /* DoricBridgeExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricBridgeExtension.h; sourceTree = ""; }; - 2BB9E8932A0B8971F152630988CA60DC /* DoricNativePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNativePlugin.h; sourceTree = ""; }; - 308A703A1C65FCD4A8396C5177CC3ABB /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSEngine.h; sourceTree = ""; }; - 348BD3D943C7E1662469EDF452531337 /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = ""; }; + 1FE791173F73E0ABC7A884D6D34A851A /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = ""; }; + 21C8D570F3695E2C55CF1650F47FDB8E /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPromise.h; sourceTree = ""; }; + 28C3F6DCBC4FB144EEE0564B6299B0CB /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSExecutorProtocal.h; sourceTree = ""; }; + 2A58BA4FA12990F611D58B20153AF80B /* DoricRootNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricRootNode.h; sourceTree = ""; }; + 2EC07F016FD484CA2F44DB97705AAFE7 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 34B71CB0B4480EA08DD35197F06DBF38 /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSEngine.m; sourceTree = ""; }; + 34CB220633FAF5FB582354227A7889CC /* DoricShaderPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricShaderPlugin.m; sourceTree = ""; }; 35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.debug.xcconfig"; sourceTree = ""; }; - 3DFFC780C1EB3DD50FE240C1098AD5CE /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = ""; }; + 37B9C731E5178B383DC3AF1F554C1D38 /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = ""; }; + 3ABE103C115C78067E7271E38A6F50DB /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = ""; }; + 3C9367E5B8442FB979209B44C2B58A46 /* DoricStackNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStackNode.m; sourceTree = ""; }; + 3D49B91AE0D40ADC8A4DCB74E68F77A0 /* DoricViewContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewContainer.m; sourceTree = ""; }; + 40217AFE8466A394D1004596D7804FCE /* DoricGroupNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricGroupNode.h; sourceTree = ""; }; 4426D67B66065EF97BCB0FBC9E35BEE6 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = ""; }; - 44D65E4C5D93E28EF91A6521F314A00D /* DoricHLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHLayoutNode.h; sourceTree = ""; }; - 47BB4CA18E4AEA9BEDBF8983791A50F4 /* DoricViewContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewContainer.m; sourceTree = ""; }; - 4A367617937F20AD74E7199A830B0E21 /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAsyncResult.m; sourceTree = ""; }; - 4C66A083AF48E9041B7280C24339068B /* DoricConstant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricConstant.m; sourceTree = ""; }; - 503EFAC531F6DC0053850DDA192AE317 /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = ""; }; + 45486100EC1714E1F3DD912E8113B67B /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricModalPlugin.m; sourceTree = ""; }; + 460F14FF387A5DD08430DA1FD75E10EE /* DoricViewNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewNode.m; sourceTree = ""; }; + 49972E7FA98D50B6D45F70E687BC62ED /* DoricRootNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricRootNode.m; sourceTree = ""; }; + 49D245CB8651BC5097588071D90D8EA5 /* DoricVLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricVLayoutNode.m; sourceTree = ""; }; + 4A7B786C53C8CBAFF6135B2DB1F35A0B /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAsyncResult.m; sourceTree = ""; }; + 4F4F7A3F234E0CFD4CD49EFC295447B7 /* DoricNativePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNativePlugin.h; sourceTree = ""; }; 50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.release.xcconfig"; sourceTree = ""; }; - 5360A09920D43F084CEB4279B11999AE /* doric-sandbox.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-sandbox.js"; path = "../js-framework/bundle/doric-sandbox.js"; sourceTree = ""; }; - 556A6E62CC1D653C98A7E5ACECC68693 /* DoricUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricUtil.h; sourceTree = ""; }; 57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = ""; }; - 58461E514C25651921D16B9D94B52C90 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricConstant.h; sourceTree = ""; }; - 5B1CD7E04EE1F9B8A71C4DBAB5F2FE9C /* DoricBridgeExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricBridgeExtension.m; sourceTree = ""; }; - 60C8E5BBF9716974DDE0E4EE210504D8 /* DoricGroupNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricGroupNode.m; sourceTree = ""; }; - 6293DDD455950079EA0639C5AC2AED51 /* DoricJSExecutorProtocal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSExecutorProtocal.h; sourceTree = ""; }; 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 = ""; }; + 643CD220E77EB474B7A3E56677D5423E /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = ""; }; + 672ED840695CA6755DECF6030784FB37 /* DoricBridgeExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricBridgeExtension.m; sourceTree = ""; }; + 673C99F302C0D91311C4BEAB6C3F5DD2 /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSCoreExecutor.m; sourceTree = ""; }; 674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = ""; }; - 6F9D212882CF73AA9F0BB49AA9A255F1 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = ""; }; - 7605DAD7D5BDFB07F1DBC3DF22E18C00 /* DoricViewNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewNode.h; sourceTree = ""; }; + 6DAC366FFC461CB868C0DF86F6344CFE /* UIView+Doric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Doric.m"; path = "Pod/Classes/UIView+Doric.m"; sourceTree = ""; }; + 7024EC06DA6269A7AC3114234E695E6F /* DoricViewContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewContainer.h; sourceTree = ""; }; + 77795B58FF90AEDB64EA0BE487AAEF57 /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = ""; }; 786AB58F4C2451575BBF7722ACDE9BEB /* Pods-ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.debug.xcconfig"; sourceTree = ""; }; - 7B5C829845AA0CEAF3B572A53E20EFCB /* DoricShaderPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricShaderPlugin.m; sourceTree = ""; }; - 804EB7FBF7F8F72AAFD3FD5ECC7D05FB /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAsyncResult.h; sourceTree = ""; }; + 7FA6142FDB05EB37290A141BCF28E6E2 /* DoricHLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHLayoutNode.m; sourceTree = ""; }; 8052FAE778A6A09F2260E4E85B371F57 /* Pods-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.release.xcconfig"; sourceTree = ""; }; - 81AACA77DC061A35C8889BFB9D814DA3 /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSCoreExecutor.m; sourceTree = ""; }; - 833893BC557778C5E028A4358C2474B4 /* DoricContextManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextManager.m; path = Pod/Classes/DoricContextManager.m; sourceTree = ""; }; + 838A2D595E7C6233C6C1A9887104201C /* DoricContextHolder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextHolder.m; path = Pod/Classes/DoricContextHolder.m; sourceTree = ""; }; 87E7F5288DD80B4FDE8896A6D2782093 /* Pods-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-resources.sh"; sourceTree = ""; }; 8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleTests-dummy.m"; sourceTree = ""; }; - 8A84EEB8B23FE27771D2D7190EC924E8 /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = ""; }; - 8D5FA8932D4EF01931E958564029287D /* UIView+Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Doric.h"; path = "Pod/Classes/UIView+Doric.h"; sourceTree = ""; }; 8F4D6D38881BB9FAF4450841BD1BF9CD /* Pods-ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; - 98E60E59562F9CC70526DF1826009FAF /* DoricStackNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStackNode.m; sourceTree = ""; }; + 912DD5AC9B73450AB46CAC837632066E /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = ""; }; + 9145FEC14942C0A3829F08841A321931 /* DoricHLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHLayoutNode.h; sourceTree = ""; }; 9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleTests-acknowledgements.plist"; sourceTree = ""; }; - 9D7348EBC0EB82524D9FB92D0817A686 /* DoricViewContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewContainer.h; sourceTree = ""; }; 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 = ""; }; A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleTests-acknowledgements.markdown"; sourceTree = ""; }; - A26A876597AE3777324B64B53CBD89EA /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = ""; }; - A4E483BB11392C9E0B62BBE8041D0ECE /* DoricViewNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewNode.m; sourceTree = ""; }; - AA2741E0185FA3CFF0EA4D43CAB773EB /* DoricVLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricVLayoutNode.h; sourceTree = ""; }; - AB276D4652B7518C403D17F5625FE1D0 /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = ""; }; - B05A77280162A84959C103CBBDBBB191 /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = ""; }; - BBE4EF9F667D9E6B1CD16167B70F45C1 /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSCoreExecutor.h; sourceTree = ""; }; - BC9F9BCEF67B7637CD34C9A50582C7AB /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = ""; }; + A5C03B5A2EF5BC47137E15CB4EBFE525 /* DoricContextHolder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextHolder.h; path = Pod/Classes/DoricContextHolder.h; sourceTree = ""; }; + A5FB6A497277059BC11DABD9A4F56AB5 /* UIView+Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+Doric.h"; path = "Pod/Classes/UIView+Doric.h"; sourceTree = ""; }; + A7BBF360102FA3B4372193E445788A75 /* DoricConstant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricConstant.m; sourceTree = ""; }; + AAC90DCBF1BFE57FD63FA71236CD9617 /* DoricUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricUtil.h; sourceTree = ""; }; + AEAB7D461045D326881C99D36EB09F06 /* DoricContextManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextManager.m; path = Pod/Classes/DoricContextManager.m; sourceTree = ""; }; 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 = ""; }; - C82BC649F5AE5383BBC5379C76035D94 /* DoricHLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHLayoutNode.m; sourceTree = ""; }; - C90C8E825DCD29A78EAAAB48CF72F654 /* Doric.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = Doric.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + C40472CC88C197C1D9E0FAEF8AEEA012 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricUtil.m; sourceTree = ""; }; + C6D6AA5E2B4BA8E824A10E9272A0C408 /* DoricNativePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNativePlugin.m; sourceTree = ""; }; + C78507DD6E36D475B8675ACBB6CB29BB /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = ""; }; 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 = ""; }; - CEB9D24DC324D257D995B6301DF397A2 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricUtil.m; sourceTree = ""; }; - D629FF5A6F49DB566F192CF41BCC010C /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricModalPlugin.h; sourceTree = ""; }; - DC2C3FC7967C76E9AE596672F42A1FC4 /* DoricContextHolder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextHolder.h; path = Pod/Classes/DoricContextHolder.h; sourceTree = ""; }; - DD1CC7F988BF0DE1CFE6A18BDB8930D0 /* DoricShaderPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricShaderPlugin.h; sourceTree = ""; }; + D1CC34B6D8FB8039D88C3D24DD3AFA6F /* doric-lib.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "doric-lib.js"; path = "../js-framework/bundle/doric-lib.js"; sourceTree = ""; }; + D94AF2C3306CFE8E84FE37B99B27675B /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricModalPlugin.h; sourceTree = ""; }; + DC9CA9CA257999E08AC1FF1683E7A4D0 /* DoricViewNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewNode.h; sourceTree = ""; }; DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = ""; }; - E2E039179F5757A75845BF03B1729DC7 /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPromise.h; sourceTree = ""; }; E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = ""; }; - E56BFF57E9BDB938758F6BED90B7D073 /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPromise.m; sourceTree = ""; }; - EE84251D1BECA30AC6ECECA1F27789D8 /* DoricContextHolder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextHolder.m; path = Pod/Classes/DoricContextHolder.m; sourceTree = ""; }; - FE509351BB3B43D3BDDC6BA505110C1A /* UIView+Doric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+Doric.m"; path = "Pod/Classes/UIView+Doric.m"; sourceTree = ""; }; + E6260EBC3191F783549F257021CB739F /* DoricBridgeExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricBridgeExtension.h; sourceTree = ""; }; + E7932F4E2884A330FF1506551365C865 /* DoricShaderPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricShaderPlugin.h; sourceTree = ""; }; + F2900AB095DDCE4E626159AB53632A69 /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSCoreExecutor.h; sourceTree = ""; }; + F33A23739F468A478C54668C662DD9EE /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = ""; }; + F888C6F2BBF4D7E8111FD254973C199A /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPromise.m; sourceTree = ""; }; + F9EDC495A5ED86BC976A8016F6D84540 /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = ""; }; + FD44BD789425B6CDAC4E1C0D3B20B500 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricConstant.h; sourceTree = ""; }; FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleUITests-dummy.m"; sourceTree = ""; }; + FEA7081F1D339B4A7918A3095FBD2AEC /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSEngine.h; sourceTree = ""; }; /* 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 = ""; + }; + 09F7FD8BBA48E0B4898CD9F886023D01 /* Pod */ = { + isa = PBXGroup; + children = ( + 165E0A231E9DDF8E3C3B339C5F991D2B /* Doric.podspec */, + 2EC07F016FD484CA2F44DB97705AAFE7 /* LICENSE */, + ); + name = Pod; + sourceTree = ""; + }; + 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 = ""; + }; + 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 = ""; }; 29D5F571358D2DB73A9BA656A4698F3A /* Products */ = { @@ -221,15 +253,36 @@ name = Products; sourceTree = ""; }; - 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 = ""; + }; + 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 = ""; }; 71AEF72537B62D028A21E00FBEC2111B /* Pods-Example */ = { @@ -256,6 +309,17 @@ name = "Targets Support Files"; sourceTree = ""; }; + 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 = ""; + }; 87BF90E86730F73BF5CB57472930C8FD /* Pods-ExampleUITests */ = { isa = PBXGroup; children = ( @@ -269,96 +333,6 @@ path = "Target Support Files/Pods-ExampleUITests"; sourceTree = ""; }; - 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 = ""; - }; - 8B00CAF6894EE2E25C522102317FE67F /* Extension */ = { - isa = PBXGroup; - children = ( - 25A1B9A09B7E38DBE8E814F1E106E3D7 /* DoricBridgeExtension.h */, - 5B1CD7E04EE1F9B8A71C4DBAB5F2FE9C /* DoricBridgeExtension.m */, - ); - name = Extension; - path = Pod/Classes/Extension; - sourceTree = ""; - }; - 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 = ""; - }; - 9D56300CC6416EF655B24A6B565284EB /* Pod */ = { - isa = PBXGroup; - children = ( - C90C8E825DCD29A78EAAAB48CF72F654 /* Doric.podspec */, - CE516B2F9F47A321B8D04EC900D38DA1 /* LICENSE */, - ); - name = Pod; - sourceTree = ""; - }; - 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 = ""; - }; - 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 = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -377,23 +351,42 @@ name = Frameworks; sourceTree = ""; }; + 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 = ""; + }; E059370AA74361A31256E49BFE60A18C /* Development Pods */ = { isa = PBXGroup; children = ( - 8AE933FA09A919AD34DED7DE404593DB /* Doric */, + DFB81C4A0FB4CD012EC9A1DF482818B6 /* Doric */, ); name = "Development Pods"; sourceTree = ""; }; - EEA3AD385ADD28AA6865F6BC47252B26 /* Resources */ = { - isa = PBXGroup; - children = ( - 3DFFC780C1EB3DD50FE240C1098AD5CE /* doric-lib.js */, - 5360A09920D43F084CEB4279B11999AE /* doric-sandbox.js */, - ); - name = Resources; - sourceTree = ""; - }; F4EB4F3E7D139A61CACFFAFCA3EF3B30 /* Pods-ExampleTests */ = { isa = PBXGroup; children = ( @@ -407,6 +400,19 @@ path = "Target Support Files/Pods-ExampleTests"; sourceTree = ""; }; + 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 = ""; + }; /* 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 = ( diff --git a/iOS/Pod/Classes/DoricContext.h b/iOS/Pod/Classes/DoricContext.h index f10ef6b3..c4f4e61d 100644 --- a/iOS/Pod/Classes/DoricContext.h +++ b/iOS/Pod/Classes/DoricContext.h @@ -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 diff --git a/iOS/Pod/Classes/DoricContext.m b/iOS/Pod/Classes/DoricContext.m index 761a71ac..e1fdbe33 100644 --- a/iOS/Pod/Classes/DoricContext.m +++ b/iOS/Pod/Classes/DoricContext.m @@ -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 diff --git a/iOS/Pod/Classes/DoricDriver.h b/iOS/Pod/Classes/DoricDriver.h index b79333b0..65461397 100644 --- a/iOS/Pod/Classes/DoricDriver.h +++ b/iOS/Pod/Classes/DoricDriver.h @@ -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 diff --git a/iOS/Pod/Classes/DoricDriver.m b/iOS/Pod/Classes/DoricDriver.m index 88acb57c..7a091578 100644 --- a/iOS/Pod/Classes/DoricDriver.m +++ b/iOS/Pod/Classes/DoricDriver.m @@ -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]; diff --git a/iOS/Pod/Classes/DoricRegistry.h b/iOS/Pod/Classes/DoricRegistry.h index b85ee3c9..233f953f 100644 --- a/iOS/Pod/Classes/DoricRegistry.h +++ b/iOS/Pod/Classes/DoricRegistry.h @@ -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 diff --git a/iOS/Pod/Classes/DoricRegistry.m b/iOS/Pod/Classes/DoricRegistry.m index f269bb95..e52805dc 100644 --- a/iOS/Pod/Classes/DoricRegistry.m +++ b/iOS/Pod/Classes/DoricRegistry.m @@ -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 diff --git a/iOS/Pod/Classes/Shader/DoricGroupNode.h b/iOS/Pod/Classes/Shader/DoricGroupNode.h index 0788f7ad..e4277454 100644 --- a/iOS/Pod/Classes/Shader/DoricGroupNode.h +++ b/iOS/Pod/Classes/Shader/DoricGroupNode.h @@ -10,7 +10,12 @@ NS_ASSUME_NONNULL_BEGIN @interface DoricGroupNode : DoricViewNode + +@property (nonatomic,strong) NSMutableDictionary *children; + - (void)blendChild:(DoricViewNode *)child layoutConfig:(NSDictionary *)layoutconfig; + +- (LayoutParams *)generateDefaultLayoutParams; @end NS_ASSUME_NONNULL_END diff --git a/iOS/Pod/Classes/Shader/DoricGroupNode.m b/iOS/Pod/Classes/Shader/DoricGroupNode.m index 322c7f2f..35038bef 100644 --- a/iOS/Pod/Classes/Shader/DoricGroupNode.m +++ b/iOS/Pod/Classes/Shader/DoricGroupNode.m @@ -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 diff --git a/iOS/Pod/Classes/Shader/DoricRootNode.h b/iOS/Pod/Classes/Shader/DoricRootNode.h new file mode 100644 index 00000000..a7c3f3dc --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricRootNode.h @@ -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 diff --git a/iOS/Pod/Classes/Shader/DoricRootNode.m b/iOS/Pod/Classes/Shader/DoricRootNode.m new file mode 100644 index 00000000..ab348f6c --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricRootNode.m @@ -0,0 +1,12 @@ +// +// DoricRootNode.m +// Doric +// +// Created by pengfei.zhou on 2019/7/30. +// + +#import "DoricRootNode.h" + +@implementation DoricRootNode + +@end diff --git a/iOS/Pod/Classes/Shader/DoricViewContainer.h b/iOS/Pod/Classes/Shader/DoricViewContainer.h index 67e3ee4d..9f9d1b1a 100644 --- a/iOS/Pod/Classes/Shader/DoricViewContainer.h +++ b/iOS/Pod/Classes/Shader/DoricViewContainer.h @@ -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 diff --git a/iOS/Pod/Classes/Shader/DoricViewContainer.m b/iOS/Pod/Classes/Shader/DoricViewContainer.m index 3992774c..a1556f78 100644 --- a/iOS/Pod/Classes/Shader/DoricViewContainer.m +++ b/iOS/Pod/Classes/Shader/DoricViewContainer.m @@ -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 diff --git a/iOS/Pod/Classes/Shader/DoricViewNode.h b/iOS/Pod/Classes/Shader/DoricViewNode.h index bb3a01f0..5f557802 100644 --- a/iOS/Pod/Classes/Shader/DoricViewNode.h +++ b/iOS/Pod/Classes/Shader/DoricViewNode.h @@ -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 *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 diff --git a/iOS/Pod/Classes/Shader/DoricViewNode.m b/iOS/Pod/Classes/Shader/DoricViewNode.m index 63a695a1..fb04f9be 100644 --- a/iOS/Pod/Classes/Shader/DoricViewNode.m +++ b/iOS/Pod/Classes/Shader/DoricViewNode.m @@ -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 *)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