iOS判断应用内是否设置了某个的urlschemes-创新互联
最近有个需求,就是另外一个应用 A 需要跳转到我们的 B(已设置url schemes)内做某些操作然后再返回到 A 内,在返回的时候就需要 A 设置一个url schemes 来让 B 跳转以返回到 A 内。
但是在 A 跳转到 B 后,当 B 发现 A 没有把它自己的 url schemes传过来的时候,B 就傻眼了,B 怎么回去呢,当然iOS9之后自带的返回不用做处理,那么9以下的版本呢,这个时候在 A 跳转到 B 前,就需要判断下 A 是否设置了相应的url schemes,没设置就不让跳转。
但是问题来了,我要怎么判断 A 是不是设置了url schemes 呢?当我遇到这个问题的时候,第一反应就是去谷歌搜答案,但是这个问题不是怎么好描述,就没能搜到答案,最后还去stackoverflow提了一问,整整折腾了一下午也没能找到答案。
今天早起的时候突然想到了以前见过用代码来回去当前系统版本的搜了搜代码:
NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"]; NSString*appName =[infoDict objectForKey:@"CFBundleDisplayName"]; NSString*text =[NSString stringWithFormat:@"%@ %@",appName,versionNum];
infoDict好像就是整个程序的配置文件取出来的字典,忍不住打印了出来。果然发现了什么
CFBundleURLTypes CFBundleTypeRole Editor CFBundleURLSchemes aaa123
里面有我自己在应用内设置的url schems,然后直接取出来就解决了这个问题。
这个问题的解决给了我另外的思路,在遇到一个令人无从下手的问题的时候,除了搜索还应该自己去思考一个解决方案,尽管可能很痛苦,但一定要尝试。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:iOS判断应用内是否设置了某个的urlschemes-创新互联
当前网址:http://ybzwz.com/article/coipho.html