当我在设备上点击此网页链接时,我正在使用自定义网址方案打开我的iOS应用:Demo77://someurl
要进行设置,我将 Demo77 作为项目添加到Info.plist中的 URL Schemes (CFBundleURLSchemes)数组中。
Apple documentation说我还需要在Info.plist中加入网址标识符(CFBundleURLName)字符串密钥。此密钥包含“URL方案的抽象名称”。
我不包含网址标识键,链接仍然打开了我的应用。一切都没有URL标识符。
问题:我是否真的需要在plist中包含 URL标识符键?如果是这样 - 为什么?
此问题与URL identifier and URL scheme不同,后者会询问“URL Identifier”键的用途。我不是在问它用于什么。我问我们是否需要使用“URL Identifier”?没有它我的应用程序中的URL方案工作得很好。请注意,URL identifier and URL scheme问题的答案根本不能解决我的问题。对不起,如果我的初步问题不够明确。
答案 0 :(得分:1)
与您的方案一起提供的 标识符 将您的应用与声明支持该方案的其他应用区分开。
尽管使用反向DNS字符串是最佳做法,但它不会阻止其他应用程序注册相同的方案并处理关联的链接。使用通用链接而不是自定义URL方案来定义与您的网站唯一关联的链接。
因此要回答您的问题,添加url标识符并不会发生太大变化,但最好将其包括进来,因为它是由Apple指定的。
答案 1 :(得分:-1)
如果您安装了2个具有相同URL方案的应用程序,如:
yourscheme://
然后你有2个冲突的应用程序。
系统将如何决定打开哪个应用程序?
如果多个第三方应用注册处理相同的网址 方案,目前没有确定哪个应用程序的流程 给予该计划
请检查遇到问题的用户的this个答案:
另据我测试和经验,如果你有2个冲突 应用程序,它似乎是第一个安装使用的,以及何时使用 这个应用程序被删除第二个应用程序,现在是唯一的应用程序 支持特定的URL方案仍未使用
希望它有所帮助。
答案 2 :(得分:-3)
URL标识符是反向域地址,应与您的Bundle Identifier相同,例如com.companyname.appname
URL Schemes是URL的开头,例如'appname'。当您将其称为URL时,它会以启动应用程序的包标识符为目标。