openURL的使用方法:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appString]];
系统自带的URL Scheme:
- Map http://maps.google.com/maps?q=Shanghai
- Email mailto://myname@google.com
- Tel tel://10086
- Msg sms://10086
Email mailto://myname@google.com
Tel tel://10086
Msg sms://10086
App自定义URL Scheme:
自定义添加URL Scheme有两种方式,主要还是推荐第一种
通过targets中的info目录的URLTayes配置
1. 首先打开工程进入tagets的info目录看到URL Tapes
2. 我们点击+号添加 在url identifier 中输入app的Bundle Identifier:com.company.xxx ; 在url scheme 中填入自定义的url(这个可以随便填入,不过尽量和你的app保持一致)比如我填入的是 appextension, 那么在调用的时候实际上是appextension:// 格式
注意:
(1)在调用scheme url时,需要在后面加上 "://"格式
(2)普通app使用[UIApplication sharedApplication]; Extension中使用NSExtensionContext
[self.extensionContext openURL:[NSURL URLWithString:@"appextension://123"]
completionHandler:^(BOOL success) {
NSLog(@"open url result:%d",success);
}];
通过.plist文件添加
1、首先在*-Info.plist中添加一行,选择URL types
,效果如下图所示:
2、在展开的Item 0中填写URL identifier
,这个用来唯一标识用户自定义的URL Scheme,推荐使用域名的反转形式,如:com.devzeng.demo
3、在Item 0中添加新的一行,选择URL Schemes
4、展开URL Schemes
,在Item 0中输入自定义的Scheme的名称。在这里只需要输入自定义的Scheme的名称即可,不需要加上://
,例如这里输入的是devzeng
,那么对应的自定义的URL就是devzeng://
,这里可以输入多个。
5、最后一个完整的示例效果图: