iOS判断应用内是否设置了某个的urlschemes

    最近有个需求,就是另外一个应用 A 需要跳转到我们的 B(已设置url schemes)内做某些操作然后再返回到 A 内,在返回的时候就需要 A 设置一个url schemes 来让 B 跳转以返回到 A 内。

创新互联建站成立于2013年,先为南京等服务建站,南京等地企业,进行企业商务咨询服务。为南京企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

    

    但是在 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好像就是整个程序的配置文件取出来的字典,忍不住打印了出来。果然发现了什么

<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>aaa123</string>
			</array>
		</dict>
	</array>

    里面有我自己在应用内设置的url schems,然后直接取出来就解决了这个问题。

    

    这个问题的解决给了我另外的思路,在遇到一个令人无从下手的问题的时候,除了搜索还应该自己去思考一个解决方案,尽管可能很痛苦,但一定要尝试。

    

网页题目:iOS判断应用内是否设置了某个的urlschemes
标题来源:https://www.cdcxhl.com/article20/iihjco.html

成都网站建设公司_创新互联,为您提供关键词优化标签优化服务器托管网站维护网站营销做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站