美文网首页
获取plist中的URL Schemes

获取plist中的URL Schemes

作者: 4VZhang | 来源:发表于2016-01-08 17:57 被阅读3461次

    最近在写的项目中涉及到了应用间的跳转实现,iOS实现跳转应用是通过 openURL:方法;

    此时遇到多个应用跳转到同一个应用;根据不同的应用的应用则需要进行不同的操作,随后跳回到上一个应用。于是,此处就需要第一个应用跳转的过程中需要传递过来该应用的URL Schemes,为后续的回跳做准备,此时的当前应用的URL Schemes的获取就成了关键。

    之前, 获取plist文件中的 version ,bundleId,displayName的方法同样适用于 URL Schemes;

    右击 info.plist,选择 open as  --> source code ( 以源码形式打开)即可看到如下内容

    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

    NSDictionary *bundleUrltypes = [infoDic objectForKey:@"CFBundleURLTypes"];

    NSString *urlSchemes = [NSString stringWithFormat:@"%@",[bundleUrltypes objectForKey:@"CFBundleURLSchemes"]];

    //  此时获取的URL Schemes 形式为  (\n (\n   URL Schemes   \n)  \n)

    if ([urlSchemes containsString:@"("] || [urlSchemes containsString:@")"] || [urlSchemes containsString:@"\n"] || [urlSchemes containsString:@" "]) {

    urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@" " withString:@""];

    urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@"\n" withString:@""];

    urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@"(" withString:@""];

    urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@")" withString:@""];

    }

    经过处理后得到想要的 URL Schemes;即可作为参数在跳转应用时  进行传递。

    相关文章

      网友评论

          本文标题:获取plist中的URL Schemes

          本文链接:https://www.haomeiwen.com/subject/utofkttx.html