Commit 8e52ca96 authored by jz's avatar jz

modify router

parent 2ee41ac2
......@@ -8,6 +8,8 @@
/* Begin PBXBuildFile section */
038EED68D1B0ADAD380113FF13567561 /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = F0AA3B72E288A985348053635E8928CD /* NSString+MJExtension.m */; };
045133C123A27F530086A62B /* UIViewController+Router.h in Headers */ = {isa = PBXBuildFile; fileRef = 045133BF23A27F530086A62B /* UIViewController+Router.h */; };
045133C223A27F530086A62B /* UIViewController+Router.m in Sources */ = {isa = PBXBuildFile; fileRef = 045133C023A27F530086A62B /* UIViewController+Router.m */; };
0486C35D8A6F3A4C4A5BF9AD56D1BF4A /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 72BFC4AFACD9ACAC3C9F00947646B7F2 /* MJFoundation.m */; };
0527C56AC3D875371F2C95AA50DB05DB /* Pods-GMRouter_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B61A08547E5EC761DC6A55EE9533598 /* Pods-GMRouter_Example-dummy.m */; };
07BFFC265907A63B0B21810B25A858FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E04AC621D1A86F2AC40200FFAD16DBAA /* Foundation.framework */; };
......@@ -16,16 +18,13 @@
19BE705B3925CBDACFC9B17E44DE4EFF /* Target_commons.m in Sources */ = {isa = PBXBuildFile; fileRef = 37A07175927205A749DCD5A667C072C9 /* Target_commons.m */; };
19FEB270103068E5B9299B41D659C5D0 /* MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E619AA937826CB4BD6272654B693F79 /* MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; };
1C563120BF52B34F2077F4C056666D51 /* MJExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86A47CD1E58E6134E1BE14A48CF6D849 /* MJExtension-dummy.m */; };
1E4AAA93A262FFA99EEE801700B87E07 /* UIViewController+Router.m in Sources */ = {isa = PBXBuildFile; fileRef = A8818865132986FF084F39B120048B9C /* UIViewController+Router.m */; };
1E751DD0D0E49E554F3023CD0485B2D7 /* MJPropertyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = FB16CB4E95C7E7CA54B8BFD76D6C8BD5 /* MJPropertyKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
294DDF5F7DC031467925B291ECFE674F /* Pods-GMRouter_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 12D481E6E4C4A19B7BD3862F2A6E29D5 /* Pods-GMRouter_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
31881A2EFE93EC54F2947CB1BDEE0756 /* GMRouter+gm.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EAEFAA40ACA6F5ACAD63D3FFDA2A4A3 /* GMRouter+gm.h */; settings = {ATTRIBUTES = (Public, ); }; };
364B4A09A0E0922D364EBE85D0982933 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E04AC621D1A86F2AC40200FFAD16DBAA /* Foundation.framework */; };
3828A355BCD83CED3BD5C36676361190 /* GMRouter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA1EA7E4454695533F06C0A3D0DF85F4 /* GMRouter-dummy.m */; };
46020ACCCAECE1D0E340979BE52264FA /* UIViewController+Router.h in Headers */ = {isa = PBXBuildFile; fileRef = A616BC0E46B2C5C3128C7591888A95AF /* UIViewController+Router.h */; settings = {ATTRIBUTES = (Public, ); }; };
64CAE12F57BFA7B72AC91876730FAFFD /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E5BC3441D59A15FDCB85329B9C0627A /* NSObject+MJKeyValue.m */; };
67DDBC6891072C07D48006286EE257A7 /* GMRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 084184485F4BE51B104584977FBB8D3C /* GMRouter.m */; };
6B772544CACB7CB1C59DF89A82E90164 /* NSObject+gmKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 33E6A57F6B4BB0938803FFAB7D8552E3 /* NSObject+gmKey.m */; };
6F236BA7B9EC17BA580AC42E673F3ADC /* MJExtensionConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 23077A4E0B13FB264EC009F2BFE320F0 /* MJExtensionConst.h */; settings = {ATTRIBUTES = (Public, ); }; };
70BD6FEE56D09D816FB7B0C1A37524D0 /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 9970287FB8A59D6CE66509205219E52C /* MJExtensionConst.m */; };
7151BE166516FEF56FEF92299F705E54 /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 28E782F8259378AD0DBF815F97964885 /* NSObject+MJProperty.m */; };
......@@ -37,7 +36,6 @@
9C40C2EE2ACD79043F858AF1CE4E5C88 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E04AC621D1A86F2AC40200FFAD16DBAA /* Foundation.framework */; };
A8F060A3E25FCFCB6B4C77EA7F0A7FAC /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 9522F6F7E1E6A959DBFE548F7A5F5756 /* NSObject+MJCoding.m */; };
AF9A984C5BBD87B3E77C6CF465C83F6A /* MJPropertyType.h in Headers */ = {isa = PBXBuildFile; fileRef = A7666F58E72D21414F1583523F1C8B57 /* MJPropertyType.h */; settings = {ATTRIBUTES = (Public, ); }; };
B0385F519D5E07BCDE1AA3B06E2B1D3E /* gm_router.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1132E689DA26D1E2A760CDCB9ACE2559 /* gm_router.plist */; };
B1A9696B53272E6452C98162FE2891BE /* NSObject+MJCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = BFA31624F5336DD08F70A4C8F06D756E /* NSObject+MJCoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
B292A941B1A57E2A21A54CC70B42D6C1 /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EBFC8B09F9FEE9C01B6AC97758F30CF /* MJProperty.m */; };
B5AA07E09A9270F58E9A6DAAA3B0EA1C /* GMRouter.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 63EBA02DC258C930363A27239348A973 /* GMRouter.bundle */; };
......@@ -45,7 +43,6 @@
B9629038AAE73CD331C8EA760CFF8B4B /* GMRouter+gm.m in Sources */ = {isa = PBXBuildFile; fileRef = D688F2B028D64784DFE8C2BB74F21583 /* GMRouter+gm.m */; };
C5B2C027DCE500280E59DD0079C840F2 /* Pods-GMRouter_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B06D1FEE9ED45063AD65F75D09194D4 /* Pods-GMRouter_Tests-dummy.m */; };
E31DBA3456F60AE088C78B8C3E8D292D /* NSObject+MJKeyValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 265191AF18ABA408F7AEAC2C6D7DD57B /* NSObject+MJKeyValue.h */; settings = {ATTRIBUTES = (Public, ); }; };
ED9D735388FFE2417B729D764AEA3852 /* NSObject+gmKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A5B14B8990472FAE35C51CF0DDD0681F /* NSObject+gmKey.h */; settings = {ATTRIBUTES = (Public, ); }; };
EDA7DC1E3E36F530C69AB80F612CAE6C /* MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 05023A0B1898974DA5A7AB5B4E829619 /* MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; };
F15FC20971C9C33DF76473BAADE11FDD /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CA71C2F02E2C8122DA187D3B07A3EC4 /* MJPropertyType.m */; };
F269C7BE2D44FFAD7B078AE58BD0DA82 /* NSObject+MJClass.h in Headers */ = {isa = PBXBuildFile; fileRef = EBB759E373C7D4DBAF91077141CA3CD3 /* NSObject+MJClass.h */; settings = {ATTRIBUTES = (Public, ); }; };
......@@ -95,25 +92,25 @@
/* Begin PBXFileReference section */
0282F6B57578F509AB21A267736170B1 /* MJExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJExtension.modulemap; sourceTree = "<group>"; };
045133BF23A27F530086A62B /* UIViewController+Router.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIViewController+Router.h"; path = "GMRouter/Classes/UIViewController+Router.h"; sourceTree = "<group>"; };
045133C023A27F530086A62B /* UIViewController+Router.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+Router.m"; path = "GMRouter/Classes/UIViewController+Router.m"; sourceTree = "<group>"; };
05023A0B1898974DA5A7AB5B4E829619 /* MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtension.h; path = MJExtension/MJExtension.h; sourceTree = "<group>"; };
07545AF0CC480D5D105E73861C12603E /* GMRouter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = GMRouter.framework; path = GMRouter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
07545AF0CC480D5D105E73861C12603E /* GMRouter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GMRouter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
084184485F4BE51B104584977FBB8D3C /* GMRouter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GMRouter.m; path = GMRouter/Classes/GMRouter.m; sourceTree = "<group>"; };
0A4688F4F0ECD415C54743F178C6F7E4 /* Pods-GMRouter_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GMRouter_Tests.modulemap"; sourceTree = "<group>"; };
10244FCEEFB43378EE67C12A814124A0 /* Pods-GMRouter_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GMRouter_Example.modulemap"; sourceTree = "<group>"; };
1132E689DA26D1E2A760CDCB9ACE2559 /* gm_router.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = gm_router.plist; path = GMRouter/Assets/gm_router.plist; sourceTree = "<group>"; };
12D481E6E4C4A19B7BD3862F2A6E29D5 /* Pods-GMRouter_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GMRouter_Tests-umbrella.h"; sourceTree = "<group>"; };
1EBFC8B09F9FEE9C01B6AC97758F30CF /* MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJProperty.m; path = MJExtension/MJProperty.m; sourceTree = "<group>"; };
23077A4E0B13FB264EC009F2BFE320F0 /* MJExtensionConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtensionConst.h; path = MJExtension/MJExtensionConst.h; sourceTree = "<group>"; };
265191AF18ABA408F7AEAC2C6D7DD57B /* NSObject+MJKeyValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJKeyValue.h"; path = "MJExtension/NSObject+MJKeyValue.h"; sourceTree = "<group>"; };
28E782F8259378AD0DBF815F97964885 /* NSObject+MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJProperty.m"; path = "MJExtension/NSObject+MJProperty.m"; sourceTree = "<group>"; };
29743AEC1DC80D1A00A308973743E479 /* Pods-GMRouter_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GMRouter_Example-Info.plist"; sourceTree = "<group>"; };
2B276B0A79173A1D6E83C9B4FB9A4A57 /* MJExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MJExtension.framework; path = MJExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2B276B0A79173A1D6E83C9B4FB9A4A57 /* MJExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MJExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
33ACD3930E0BC2F49FC4111CF4668169 /* Pods-GMRouter_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMRouter_Example.release.xcconfig"; sourceTree = "<group>"; };
33DDF0C319CDAACEB3E84130FD4CE911 /* MJExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJExtension-umbrella.h"; sourceTree = "<group>"; };
33E6A57F6B4BB0938803FFAB7D8552E3 /* NSObject+gmKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+gmKey.m"; path = "GMRouter/Classes/NSObject+gmKey.m"; sourceTree = "<group>"; };
37A07175927205A749DCD5A667C072C9 /* Target_commons.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Target_commons.m; path = GMRouter/Classes/Target_commons.m; sourceTree = "<group>"; };
3876DEAC1052E76429FB56F7F41B5658 /* Pods-GMRouter_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GMRouter_Example-acknowledgements.plist"; sourceTree = "<group>"; };
40982CAA4B36CFC7C32FD87BAC8E169E /* Pods_GMRouter_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_GMRouter_Tests.framework; path = "Pods-GMRouter_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
40982CAA4B36CFC7C32FD87BAC8E169E /* Pods_GMRouter_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GMRouter_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4AD1579E1B3E67AABCCF5F0049E1891B /* Pods-GMRouter_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GMRouter_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
4B3837D74A20D74C0AD204332FDE568A /* Pods-GMRouter_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GMRouter_Tests-acknowledgements.plist"; sourceTree = "<group>"; };
4EAEFAA40ACA6F5ACAD63D3FFDA2A4A3 /* GMRouter+gm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GMRouter+gm.h"; path = "GMRouter/Classes/GMRouter+gm.h"; sourceTree = "<group>"; };
......@@ -122,7 +119,7 @@
5E619AA937826CB4BD6272654B693F79 /* MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJProperty.h; path = MJExtension/MJProperty.h; sourceTree = "<group>"; };
608B5DF7882746651B6994FFF71EED60 /* GMRouter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GMRouter.h; path = GMRouter/Classes/GMRouter.h; sourceTree = "<group>"; };
617877158CAEC3ECDA245F61A3B4E876 /* Pods-GMRouter_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GMRouter_Example-frameworks.sh"; sourceTree = "<group>"; };
63EBA02DC258C930363A27239348A973 /* GMRouter.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = GMRouter.bundle; path = "GMRouter-GMRouter.bundle"; sourceTree = BUILT_PRODUCTS_DIR; };
63EBA02DC258C930363A27239348A973 /* GMRouter.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GMRouter.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
6B61A08547E5EC761DC6A55EE9533598 /* Pods-GMRouter_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GMRouter_Example-dummy.m"; sourceTree = "<group>"; };
6E5BC3441D59A15FDCB85329B9C0627A /* NSObject+MJKeyValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJKeyValue.m"; path = "MJExtension/NSObject+MJKeyValue.m"; sourceTree = "<group>"; };
6FDE02E7D2A4B3EF44B4BC31D93EAF80 /* MJPropertyKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyKey.m; path = MJExtension/MJPropertyKey.m; sourceTree = "<group>"; };
......@@ -130,7 +127,7 @@
7ABEF07C065DAA1093F386E0864101B0 /* MJExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MJExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
7CA71C2F02E2C8122DA187D3B07A3EC4 /* MJPropertyType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyType.m; path = MJExtension/MJPropertyType.m; sourceTree = "<group>"; };
7DEA8B0A5A98837D0E27E3567D20E481 /* GMRouter-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GMRouter-Info.plist"; sourceTree = "<group>"; };
7E99F31AAE935A746E8F2A0EBD702BF7 /* GMRouter.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = GMRouter.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
7E99F31AAE935A746E8F2A0EBD702BF7 /* GMRouter.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = GMRouter.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
86A47CD1E58E6134E1BE14A48CF6D849 /* MJExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJExtension-dummy.m"; sourceTree = "<group>"; };
901FDBD0E18B1C987D1335572C58A239 /* GMRouter-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GMRouter-umbrella.h"; sourceTree = "<group>"; };
904DFEF9F5418A78332860A2A7B81778 /* GMRouter.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GMRouter.modulemap; sourceTree = "<group>"; };
......@@ -139,22 +136,19 @@
9B06D1FEE9ED45063AD65F75D09194D4 /* Pods-GMRouter_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GMRouter_Tests-dummy.m"; sourceTree = "<group>"; };
9B63B9BE61CAA13EA3E4A6C62A8823DE /* MJExtension.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJExtension.xcconfig; sourceTree = "<group>"; };
9BD9BC9E063E069BE30762B87A2B6BDB /* GMRouter-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GMRouter-prefix.pch"; 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; };
A5B14B8990472FAE35C51CF0DDD0681F /* NSObject+gmKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+gmKey.h"; path = "GMRouter/Classes/NSObject+gmKey.h"; sourceTree = "<group>"; };
A616BC0E46B2C5C3128C7591888A95AF /* UIViewController+Router.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+Router.h"; path = "GMRouter/Classes/UIViewController+Router.h"; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
A7438C725C49090EE92CED3A16DA316B /* MJExtension-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MJExtension-Info.plist"; sourceTree = "<group>"; };
A7666F58E72D21414F1583523F1C8B57 /* MJPropertyType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJPropertyType.h; path = MJExtension/MJPropertyType.h; sourceTree = "<group>"; };
A8818865132986FF084F39B120048B9C /* UIViewController+Router.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+Router.m"; path = "GMRouter/Classes/UIViewController+Router.m"; sourceTree = "<group>"; };
AA1EA7E4454695533F06C0A3D0DF85F4 /* GMRouter-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GMRouter-dummy.m"; sourceTree = "<group>"; };
BFA31624F5336DD08F70A4C8F06D756E /* NSObject+MJCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJCoding.h"; path = "MJExtension/NSObject+MJCoding.h"; sourceTree = "<group>"; };
C185AE65153C7427650B66997AA3ED2C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
C185AE65153C7427650B66997AA3ED2C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
CF6B336EF8A57A4F04876D187B523F29 /* Target_commons.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Target_commons.h; path = GMRouter/Classes/Target_commons.h; sourceTree = "<group>"; };
CFAAB8C43015BCEB85A0C0ECF1A3CD4F /* Pods-GMRouter_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMRouter_Example.debug.xcconfig"; sourceTree = "<group>"; };
D052A7830930288BFD6D3207CED09506 /* Pods-GMRouter_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMRouter_Tests.release.xcconfig"; sourceTree = "<group>"; };
D08B7A48A3CC3DB07F26A38FAC08AF30 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
D08B7A48A3CC3DB07F26A38FAC08AF30 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
D16CA9A56E4FB7F2F2814981B63B7029 /* NSObject+MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJProperty.h"; path = "MJExtension/NSObject+MJProperty.h"; sourceTree = "<group>"; };
D5507E9033B874004DC41E326D339A79 /* Pods-GMRouter_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GMRouter_Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
D684E878B62617F575399094A559A8F3 /* Pods_GMRouter_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_GMRouter_Example.framework; path = "Pods-GMRouter_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
D684E878B62617F575399094A559A8F3 /* Pods_GMRouter_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GMRouter_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D688F2B028D64784DFE8C2BB74F21583 /* GMRouter+gm.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "GMRouter+gm.m"; path = "GMRouter/Classes/GMRouter+gm.m"; sourceTree = "<group>"; };
D73D5257B1CBA064371CE13DE2B14EB5 /* Pods-GMRouter_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMRouter_Tests.debug.xcconfig"; sourceTree = "<group>"; };
D8D8512A56DCE8FDA31BB1A013D8D389 /* NSString+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+MJExtension.h"; path = "MJExtension/NSString+MJExtension.h"; sourceTree = "<group>"; };
......@@ -239,7 +233,6 @@
F0AA3B72E288A985348053635E8928CD /* NSString+MJExtension.m */,
858B930326AD76BB2F53D253D52E220D /* Support Files */,
);
name = MJExtension;
path = MJExtension;
sourceTree = "<group>";
};
......@@ -254,7 +247,6 @@
47597C44780A6B13F2B0DFFADAEE26EB /* Resources */ = {
isa = PBXGroup;
children = (
1132E689DA26D1E2A760CDCB9ACE2559 /* gm_router.plist */,
);
name = Resources;
sourceTree = "<group>";
......@@ -392,16 +384,14 @@
E58899F3D1D43D32DC43E2C3B887CD3A /* GMRouter */ = {
isa = PBXGroup;
children = (
045133BF23A27F530086A62B /* UIViewController+Router.h */,
045133C023A27F530086A62B /* UIViewController+Router.m */,
608B5DF7882746651B6994FFF71EED60 /* GMRouter.h */,
084184485F4BE51B104584977FBB8D3C /* GMRouter.m */,
4EAEFAA40ACA6F5ACAD63D3FFDA2A4A3 /* GMRouter+gm.h */,
D688F2B028D64784DFE8C2BB74F21583 /* GMRouter+gm.m */,
A5B14B8990472FAE35C51CF0DDD0681F /* NSObject+gmKey.h */,
33E6A57F6B4BB0938803FFAB7D8552E3 /* NSObject+gmKey.m */,
CF6B336EF8A57A4F04876D187B523F29 /* Target_commons.h */,
37A07175927205A749DCD5A667C072C9 /* Target_commons.m */,
A616BC0E46B2C5C3128C7591888A95AF /* UIViewController+Router.h */,
A8818865132986FF084F39B120048B9C /* UIViewController+Router.m */,
AF621E62B0C47D01D9AD08D8E6E33C56 /* Pod */,
47597C44780A6B13F2B0DFFADAEE26EB /* Resources */,
B1D89CD1CE423CF399D821B2E6AC4FBF /* Support Files */,
......@@ -436,9 +426,8 @@
31881A2EFE93EC54F2947CB1BDEE0756 /* GMRouter+gm.h in Headers */,
F9BFEE19467F7645E078E4E13EA625DA /* GMRouter-umbrella.h in Headers */,
99FD6CF8FDE38C4F3C0FEBC6FE205714 /* GMRouter.h in Headers */,
ED9D735388FFE2417B729D764AEA3852 /* NSObject+gmKey.h in Headers */,
045133C123A27F530086A62B /* UIViewController+Router.h in Headers */,
B7053D98861E6BC0786774330B8ABB48 /* Target_commons.h in Headers */,
46020ACCCAECE1D0E340979BE52264FA /* UIViewController+Router.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -607,7 +596,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B0385F519D5E07BCDE1AA3B06E2B1D3E /* gm_router.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -636,9 +624,8 @@
B9629038AAE73CD331C8EA760CFF8B4B /* GMRouter+gm.m in Sources */,
3828A355BCD83CED3BD5C36676361190 /* GMRouter-dummy.m in Sources */,
67DDBC6891072C07D48006286EE257A7 /* GMRouter.m in Sources */,
6B772544CACB7CB1C59DF89A82E90164 /* NSObject+gmKey.m in Sources */,
045133C223A27F530086A62B /* UIViewController+Router.m in Sources */,
19BE705B3925CBDACFC9B17E44DE4EFF /* Target_commons.m in Sources */,
1E4AAA93A262FFA99EEE801700B87E07 /* UIViewController+Router.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -869,8 +856,7 @@
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
gm_router.plist
Pods
Created by Q14 on 2019/12/10.
Copyright (c) 2019 ___ORGANIZATIONNAME___. All rights reserved.
-->
<plist version="1.0">
<dict>
</dict>
</plist>
......@@ -7,6 +7,7 @@
#import "GMRouter+gm.h"
#import <objc/message.h>
#import <objc/runtime.h>
//nsstring
static inline BOOL verifiedString(id strlike) {
......@@ -21,20 +22,69 @@ NSString *const GMRouterActionPrefix = @"Action_";
NSString *const GMRouterActionSuffix = @":";
NSString *const GMRouterTargetPrefix = @"Target_";
/**
增加一个魔块 需要在路由做映射
*/
NSString *const GMRouterTargetAI = @"Target_AI";
NSString *const GMRouterTargetBanking = @"Target_Banking";
NSString *const GMRouterTargetCommunity = @"Target_Community";
NSString *const GMRouterTargetWeb = @"Target_Web";
static NSMutableDictionary *routeMap = nil;
@implementation GMRouter (gm)
+ (void)initialize {
//私有库中只能这样写
NSBundle *bundle = [NSBundle bundleForClass:[GMRouter class]];
NSURL *bundleURL = [bundle URLForResource:@"QJRouter" withExtension:@"bundle"];
NSBundle *plistBundle = [NSBundle bundleWithURL:bundleURL];
NSURL *plistUrl = [plistBundle URLForResource:@"gm_router" withExtension:@"plist"];
if (!routeMap) {
routeMap = [[NSMutableDictionary alloc] initWithContentsOfURL:plistUrl];
routeMap = [[NSMutableDictionary alloc] initWithCapacity:50];
NSArray *arr = @[GMRouterTargetAI, GMRouterTargetBanking, GMRouterTargetCommunity, GMRouterTargetWeb];
for (NSString *clsStr in arr) {
NSDictionary *dict = [self getMethods:clsStr];
[routeMap addEntriesFromDictionary:dict];
}
}
}
#pragma mark - 获取类的所有方法
// 获取所有的方法
+ (NSDictionary *)getMethods:(NSString *)clsStr {
Class cls = NSClassFromString(clsStr);
NSRange range = [clsStr rangeOfString:@"Target_"];
NSString *targetValue = [clsStr substringFromIndex:range.length];
if (!targetValue.length) {
return @{};
}
NSObject *target = [[cls alloc] init];
unsigned int count = 0;
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
// 获取类的所有 Method
Method *methods = class_copyMethodList([cls class], &count);
for (NSUInteger i = 0; i < count; i ++) {
// 获取方法 Name
SEL methodSEL = method_getName(methods[i]);
const char *methodName = sel_getName(methodSEL);
NSString *name = [NSString stringWithUTF8String:methodName];
//获取到的是这样的 pushToHospitalDetail: 因此要去掉:
NSString *rangeStr = @":";
if ([name containsString:rangeStr]) {
NSRange range = [name rangeOfString:rangeStr];
name = [name substringToIndex:range.location];
}
// 获取方法的参数列表
int arguments = method_getNumberOfArguments(methods[i]);
//因为消息发送的时候会有两个默认的参数(消息接受者和方法名),所以需要减去2
dict[name] = targetValue;
}
free(methods);
return dict;
}
- (id)performAction:(NSString *)actionName params:(NSDictionary *)params shouldCacheTarget:(BOOL)shouldCacheTarget{
NSString *selName = @"createVC:";
......@@ -81,12 +131,10 @@ static NSMutableDictionary *routeMap = nil;
// debugLog(@"协议出错了!");
}
NSString *host = url.host;
NSDictionary *dict = [routeMap objectForKey:host];
NSString *sel = dict[@"sel"];
NSString *targetName = dict[@"target"];
NSString *targetName = [routeMap objectForKey:host];
NSDictionary *params = [self urlQueryToDictionary:encodeUrlScheme];
return [self performTarget:targetName action:sel params:params shouldCacheTarget:NO];
return [self performTarget:targetName action:host params:params shouldCacheTarget:NO];
}
- (id)pushScheme:(NSString *)urlScheme params:(NSDictionary *)params {
......@@ -95,10 +143,9 @@ static NSMutableDictionary *routeMap = nil;
if (!url) {
}
NSString *host = url.host;
NSDictionary *dict = [routeMap objectForKey:host];
NSString *sel = dict[@"sel"];
NSString *targetName = dict[@"target"];
return [self performTarget:targetName action:sel params:params shouldCacheTarget:NO];
NSString *targetName = [routeMap objectForKey:host];
NSDictionary *paramsDict = [self urlQueryToDictionary:encodeUrlScheme];
return [self performTarget:targetName action:host params:paramsDict shouldCacheTarget:NO];
}
#pragma mark - string to dict
......
//
// NSObject+gmKey.h
// MJExtension
//
// Created by Q14 on 2019/12/4.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSObject (gmKey)
@end
NS_ASSUME_NONNULL_END
//
// NSObject+gmKey.m
// MJExtension
//
// Created by Q14 on 2019/12/4.
//
#import "NSObject+gmKey.h"
#import <MJExtension/MJExtension.h>
@implementation NSObject (gmKey)
+ (id)mj_replacedKeyFromPropertyName121:(NSString *)propertyName {
return [propertyName mj_underlineFromCamel];
}
@end
//
// Target_commons.h
// GMRouter
//
// Created by Q14 on 2019/11/28.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
extern NSString * const GMRouterTargetCommons;
@interface Target_commons : NSObject
// 自定义push方法
- (UIViewController *)push_CommonViewController:(NSString *)stringVCName params:(NSDictionary *)params;
@end
NS_ASSUME_NONNULL_END
//
// Target_commons.m
// GMRouter
//
// Created by Q14 on 2019/11/28.
//
#import "Target_commons.h"
NSString * const GMRouterTargetCommons = @"commons";
@implementation Target_commons
// 自定义push方法
- (UIViewController *)push_CommonViewController:(NSString *)stringVCName params:(NSDictionary *)params {
// 因为action是从属于ModuleA的,所以action直接可以使用ModuleA里的所有声明
Class class = NSClassFromString(stringVCName);
UIViewController *controller = [[class alloc] init];
return controller;
}
@end
//
// UIViewController+Router.h
// GMRouter
//
// Created by Q14 on 2019/11/28.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIViewController (Router)
- (id)createVC:(NSDictionary *)dict;
@end
NS_ASSUME_NONNULL_END
//
// UIViewController+Router.m
// GMRouter
//
// Created by Q14 on 2019/11/28.
//
#import "UIViewController+Router.h"
#import "GMRouter+gm.h"
#import <MJExtension/MJExtension.h>
@implementation UIViewController (Router)
- (id)createVC:(NSDictionary *)dict{
Class class = getClassFromAtcion(_cmd);
if (class) {
UIViewController *doc = self;
doc = [[class alloc]init];
doc = [doc mj_setKeyValues:dict];
return doc;
}
return nil;
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment