获取plist中的URL Schemes

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

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

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

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

获取plist中的URL Schemes_第1张图片
获取plist中的URL Schemes_第2张图片

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)