【读书笔记】iOS-自定义URL Scheme注意事项

如果两个不同的应用注册了同样的URL Scheme,那么后安装的应用会响应符合这种协议格式的URL。

如果你的应用的iPhone和iPad版是各自独立的(即不是Universal类型的),那么你就不应该给两个版本的应用定义同样的URL协议。如果用户在同一个设备上先后安装了两个版本的应用,之后又删除了能够响应自定义URL Scheme的第二个应用,第一个应用还是会无法响应该协议。

需要说明的是,URL Scheme冲突的问题没什么好的解决方法,你只能选择一个尽可能独一无二的URL Scheme名称,并希望其他的应用开发者不要选得跟你一样。

假设我们定义的URL Scheme是cityguide.那么我们定义的URL Scheme不仅能在Safari中访问,而且在其他应用中同样能用以下的代码打开City Guide应用

NSString *string=@"cityguide://London";
NSURL *url=[NSURL URLWithString:string];
[[UIApplication shareApplication] openURL:url];

参考资料:《iOS编程指南》

上一篇:CFBundleURLTypes URL scheme


下一篇:iOS 总结APP间跳转的常用以及非常用需求 APP跳转Safari APP跳转APP