JLRoutes原理:
1.它是通過url scheme來實現(xiàn)app內(nèi)部,web到app,app與app之間跳轉(zhuǎn)的第三方庫
2代碼分析:JLRoutes是個單例:有個字典routeControllersMap,然后字典是以scheme為key,routes(NSArray)為value,每次調(diào)用addRoute方法會將注冊的url轉(zhuǎn)換為JLRRouteDefinition類型,存在key為scheme的routes里。openurl時查找route,找到即回調(diào)block,具體的跳轉(zhuǎn)我們可以在block里實現(xiàn);
使用步驟
1 導(dǎo)入JLJLRoutes Roocoapods,編輯podfile,pod 'JLRoutes',然后pod install 即可?
2. 用Xcode打開.xcworkspace文件,打開項目的info.plist文件,并增加URL Types,在其中添加自定的scheme,URL identifier 最好設(shè)置復(fù)雜些 , 保證其唯一性可以像bundle id一樣定義 如圖:

3 .切換到Appdelegate.m文件,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中加入route{{ :cms:文檔教程:iosroute1.png?}} ?
如圖:

4.實現(xiàn)- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options方法,每次openUrl時都會調(diào)這個方法用來解析url
如圖:

5.切換到想要route跳轉(zhuǎn)的實現(xiàn)文件里,在跳轉(zhuǎn)方法里用自定義死的route,通過openurl方式跳轉(zhuǎn)如圖:
