美文网首页
获取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