iOS判断应用内是否设置了某个的urlschemes-创新互联-成都快上网建站

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://kswjz.com/article/coipho.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流