ios 自定义URL Scheme启动App

本文介绍如何在iOS应用中注册并使用自定义URL Scheme。通过在Info.plist文件中配置URL Scheme,可以让应用响应特定的URL Scheme,并实现从浏览器或其他应用中启动或传递数据到当前应用的功能。

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

iPhone SDK可以把你的App和一个自定义的URL Scheme绑定。该URL Scheme可用来从浏览器或别的App启动你的App

如何响应从别的App里发给你的URL Scheme申请,由你决定:可以唤醒你的App;也可以传一些信息给你。

给自己的App注册一个URL Scheme非常简单,就是在info.plist文件里定义两个键值就OK。如下图所示:

1 添加一个叫URL types的键值。

2 给其下的Item 1添加一个URL identifier,格式为Reverse Domain Namecom.mycompany.myapp

3再加一个URL Scheme,然后给它定义一个值,任意字符串。比如:myapp

定义结束,就可以使用下面的模式来发送一个URL

myapp://

myapp://some/path/here

myapp://?foo=1&bar=2

myapp://some/path/here?foo=1&bar=2

//    NSString *string =@"myapp:com.samli.myapp";
//    NSString *string =@"myapp://some/path/herecom.samli.myapp";
//    NSString *string =@"myapp://some/path/here?foo=1&bar=2com.samli.myapp";
    
NSString *string =@"myapp://?foo=1&bar=2com.samli.myapp";
    [[
UIApplication sharedApplication] openURL:[NSURL URLWithString:string]];
   
//URLstring myapp info.plist/URL types/URL Schemes.
    //URLstring com.samli.myapp info.plist/URL types/URL identifer.

获取打开的URL
然后,你的AppUIApplicationDelegate会收到一个消息。若你想自己处理该URL,可以重载下面这个方法:
1 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url   

2 {  

3     // Do something with the url here  

4 }  

例如,把传过来的URL保存在本地:


1 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url  

2 {  

3     if (!url)  

4     {  

5         return NO;  

6     }  

7   

8     NSString *URLString = [url absoluteString];  

9     [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];  

10     [[NSUserDefaults standardUserDefaults] synchronize];  

11     return YES;  

12 } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值