iOS Mac Url Scheme唤起App


Url Scheme


Url Scheme(url 协议),顾名思义就是用于提供一个对外协议,用于第三方app或者网页唤起该应用。不同的app应该拥有不同的Scheme,避免与一些应用较为广泛的app使用相同的Scheme。通过Url Scheme不仅可以唤起应用,还能够在唤起时传递参数。


ios Url Scheme配置


1.选中项目,点击Info,打开URL Types。

Url Scheme配置


2.添加一条Url Scheme

一个app可以同时拥有多个Scheme协议
Identifier:标示符可以和项目标示符相同,也可以随意填写
URL Scheme:这就是我们请求的协议
添加Url Scheme
做好上面这一步后,xcode会自动在Info.plist中给你添加以下参数,你也可以直接在Info.plist中添加Url Scheme。
Info.plist


3.捕获第三方唤起请求

(1)在AppDelegate中添加以下方法

// 已废弃(适配),NS_DEPRECATED_IOS(4_2, 9_0)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
   
    return YES;
}
 
// 新方法,NS_AVAILABLE_IOS(9_0);
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
   
     
}

(2)实现-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options方法并解析传递的参数

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
   
    NSString *urlStr = url.absoluteString;
    BOOL ret = [urlStr hasPrefix:@"TestApp://test"];
    if(ret){
   
    	//打印参数
        NSLog(@"url query:%@",[url query]);
        //将参数转换为字典
        NSArray *paramsArray = [[url query] componentsSeparatedByString
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值