通过自定义的URL Scheme启动你的App

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

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

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

通过自定义的URL Scheme启动你的App

  1. 添加一个叫URL types的键值。
  2. 给其下的Item 1添加一个URL identifier,格式为Reverse Domain Name:com.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

然后,你的App的UIApplicationDelegate会收到一个消息。若你想自己处理该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. NSString *URLString = [url absoluteString];
    8. [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
    9. [[NSUserDefaults standardUserDefaults] synchronize];
    10. return YES;
    11. }
上一篇:iOS通过URL Scheme启动app(收集了常用的app的URL Scheme)


下一篇:Unity 游戏框架搭建 (十八) 静态扩展 + 泛型实现transform的链式编程