获取plist中的URL Schemes

最近在写的项目中涉及到了应用间的跳转实现,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;即可作为参数在跳转应用时  进行传递。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容