ios - 为什么我们需要 "URL Identifier"(CFBundleURLName) plist 字段才能在 iOS 上使用自定义 URL 方案?

标签 ios url-scheme

当在设备上点击此 Web 链接时,我正在使用自定义 URL 方案打开我的 iOS 应用程序:Demo77://someurl

为了设置它,我将 Demo77 作为一个项目添加到 Info.plist 中的 URL Schemes (CFBundleURLSchemes) 数组中。

Apple documentation说我还需要在 Info.plist 中包含 URL 标识符 (CFBundleURLName) 字符串键。此键包含“URL 方案的抽象名称”。

没有包含URL identifier键,链接仍然打开我的应用程序。没有 URL 标识符一切正常。

问题:我真的需要在 plist 中包含 URL identifier 键吗?如果是这样 - 为什么?

enter image description here

更新

这个问题不同于URL identifier and URL scheme询问“URL 标识符”键的用途。我不是问它有什么用。我在问我们是否需要使用“URL 标识符”?没有它,我的应用程序中的 URL 方案工作得很好。请注意 URL identifier and URL scheme 的答案问题根本不解决我的问题。抱歉,如果我最初的问题不够清楚。

最佳答案

根据 apple docs

您在方案中提供的标识符 将您的应用与其他声明支持相同方案的应用区分开来

虽然使用反向 DNS 字符串是最佳做法,但它不会阻止其他应用程序注册相同的方案并处理关联的链接。使用通用链接而不是自定义 URL 方案来定义与您的网站唯一关联的链接。

所以为了回答你的问题,添加一个 url 标识符并没有太大变化,但最好包含它,因为它是由 apple 指定的。

关于ios - 为什么我们需要 "URL Identifier"(CFBundleURLName) plist 字段才能在 iOS 上使用自定义 URL 方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31932923/

相关文章:

ios - 音频 Blob 在 IOS/Safari 中不起作用

ios - 每当激活带有链接的 TextView 时,应用程序就会崩溃并出现画外音

ios - 使用 App-prefs :root? 是否被视为私有(private) API

ios - 如何在没有 openURL 方法的情况下使用 URL Scheme 在两个应用程序之间共享数据?

android如何在url方案后关闭浏览器

iOS Mapkit 自定义标注

iOS:如何使用 FQL 从 Facebook 获取事件(开始时间 > 今天)?

ios - 查找 iOS 设备的法向量

ios - iOS11中的深度链接回调问题

android - SMS 文本中的自定义方案