JLRoutes笔记

本文详细介绍了如何在iOS应用中配置URL Scheme,并使用JLRoutes进行全局及自定义命名空间的路由注册。通过示例展示了如何在info.plist文件中添加CFBundleURLTypes与CFBundleURLSchemes,以及如何使用JLRoutes进行路由拦截和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在info.plist中添加

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>aaa.JLRoutes</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>JLRoutesOne</string>
                <string>JLRoutesTwo</string>
                <string>JLRoutesThree</string>
            </array>
        </dict>
    </array>

2 注册JLRoutes

当用[JLRoutes globalRoutes]这种全局方式注册时,openURL方法中拦截也要用return [[JLRoutes globalRoutes] routeURL:url];

这样 当调用[UIApplication sharedApplication] openURL方法时,会先走Appdelegate的openURL方法,若是returnYES,则会立马回调注册的那个地方

//注册全局JLRoutes
    [[JLRoutes globalRoutes] addRoute:@"/:controller" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) {
        
        /*
         {
         JLRoutePattern = "/:controller";
         JLRouteScheme = JLRoutesGlobalRoutesScheme;
         JLRouteURL = "JLRoutesOne://OneNextViewController";
         controller = OneNextViewController;
         }
         */
        return YES; //一旦匹配 , 立即返回YES
    }];

注意下/:controller这样写,/:必须, controller可以换成其他的单词

3 自定义命名空间

也就是注册时用的是JLRoutes routesForScheme: 对象,这时
openURL方法中拦截也要用return [JLRoutes routesForScheme:XXX] routeURL 

逻辑同理第2步

 

//自定义命名空间注册

    [[JLRoutes routesForScheme:@"JLRoutesOne"] addRoute:@"/:tabController" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters){

/*

 {

 JLRoutePattern = "/:tabController";

 JLRouteScheme = JLRoutesOne;

 JLRouteURL = "JLRoutesOne://OneNextViewController";

 tabController = OneNextViewController;

 }

 */

        return YES;

    }];

 

转载于:https://www.cnblogs.com/liuw-flexi/p/10760746.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值