如何找出iOS App的URL Scheme

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何找出iOS App的URL Scheme相关的知识,希望对你有一定的参考价值。

  方法一.Windows7系统下,用itools查找
  1.用itools查看ios设备的应用程序,

  2.浏览(打开)‘微博’app

  3.打开Weibo.app文件夹,找到info.plist文件,

  4.打开info.plist文件,找到<key>CFBundleURLSchemes</key>一行,下面一行<string>…</string>中间的都是‘微博’app的URL Scheme。

  方法二.在越狱iOS6系统下,用iFile查找
  1.打开iFile,通过路径/var/mobile/Applications下找到‘微博’文件夹(如果Applications目录下是乱码,请在偏好设置中设定显示应用名)。

  2.进入‘微博’文件夹中。

  3.打开Weibo.app文件夹

  4.找到并用文本形式打开Info.plist文件。

  5. 找到<key>CFBundleURLSchemes</key>一行,下面一行<string>…</string>中间的都是‘微博’app的URL Scheme。

  转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
参考技术A 这个取决于这个APP有没有设置URL Scheme。
如果没有设置, 无论如何都找不到。
如果你是要自己给自己的APP配置一个Scheme。
你可以在info.plist里面添加URL Types--->URL Schemes--->Items--->添加一个Scheme。

Xcode6.4注册URL Scheme步骤详解

URL Scheme的作用

我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的。我们可以通过系统的OpenURL来打开该app,并可以传递一些参数。

例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝。如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载界面。

URL Scheme必须能唯一标识一个APP,如果你设置的URL Scheme与别的APP的URL Scheme冲突时,你的APP不一定会被启动起来。因为当你的APP在安装的时候,系统里面已经注册了你的URL Scheme。

一般情况下,是会调用先安装的app。但是iOS的系统app的URL Scheme肯定是最高的。所以我们定义URL Scheme的时候,尽量避开系统app已经定义过的URL Scheme。

注册URL Scheme

1.在info.plist里添加URL types

每一个项目里面都会有一个info.plist配置文件。找到info.plist,右键选择Add Row,然后选择URL types。如图所示:

技术分享

2.添加URL Schemes

添加完URL types,点击展开。右键选择Add Row,添加URL Schemes:

技术分享

3.设置URL Schemes

设置URL Schemes为iOSDevTip

技术分享

4.设置URL Identifier

URL Identifier是自定义的 URL scheme 的名字,一般采用反转域名的方法保证该名字的唯一性,比如 com.iOSStrongDemo.www

技术分享

添加成功启动提示

为了方便测试,我们在AppDelegate里面添加一个UIAlertView,当app被成功打开时,会提出提示:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url
{
    // 接受传过来的参数
    NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"打开啦"
                                           message:text
                                          delegate:nil
                                 cancelButtonTitle:@"OK"
                                 otherButtonTitles:nil];
    [alertView show];
    return YES;
}

Safari启动自定义的URL Schemes APP

既然已经配置好URL Schemes,那么我们可以来款速测试一下,我们设置的URL Schemes是否有效。打开Safari,在地址栏里输入:iOSDevTip://

技术分享

果然成功打开:

技术分享

也可以在地址栏中输入:iOSDevTip://com.iOSStrongDemo.www。也是可以打开注册了URL Schemes的APP的。

通过另一个APP启动注册了URL Schemes的APP

 NSString *url = @"iOSDevTip://";
//    NSString *url = @"iOSDevTip://com.iOSStrongDemo.www";
if ([[UIApplication sharedApplication]
     canOpenURL:[NSURL URLWithString:url]])
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
else
{
    NSLog(@"can not open URL scheme iOSDevTip");
}

打开注册iOSDevTip的APP格式为: URL Scheme://URL identifier,直接调用URL Scheme也可打开程序, URL identifier是可选的。

注册URL Scheme就是这么简单。下一篇会分享如何通过URL Scheme传递参数。demo下载地址:iOSStrongDemo

 

本文出处刚刚在线:http://www.superqq.com/blog/2015/07/14/xcode6-dot-4zhu-ce-url-schemebu-zou-xiang-jie/

以上是关于如何找出iOS App的URL Scheme的主要内容,如果未能解决你的问题,请参考以下文章

ios 怎样获取当前web的url

Xamarin.Forms 中iOS通过URL Scheme判断应用是否安装

第一次使用Url scheme时App中iOS自定义Url Scheme打不开

iOS 唤起APP之URL Scheme

React Native之配置URL Scheme(iOS Android)

android,ios配置scheme,react-native获取url