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

Evg*_*nii 27 url-scheme ios

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

为了进行设置,我将Demo77作为项添加到Info.plist中的URL Schemes(CFBundleURLSchemes)数组中.

Apple文档说我还需要在Info.plist中包含URL标识符(CFBundleURLName)字符串密钥.此密钥包含"URL方案的抽象名称".

我并没有包括URL标识密钥和链接仍然打开我的应用程序.一切都没有URL标识符.

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

在此输入图像描述

更新

此问题与URL标识符和URL方案不同,后者会询问使用"URL标识符"键的内容.我不是在问它用于什么.我问我们是否需要使用"URL Identifier"?没有它我的应用程序中的URL方案工作得很好.请注意,URL标识符和URL方案问题的答案根本不能解决我的问题.对不起,如果我的初步问题不够明确.

Tib*_*mas 5

根据苹果文档

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

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

因此,要回答您的问题,添加 url 标识符不会有太大变化,但最好包含它,因为它是由苹果指定的。


Mun*_*hil -4

URL 标识符是反向域名地址,应与您的捆绑包标识符相同,例如 com.companyname.appname

URL 方案是 URL 的开头,例如“appname”。当您将其作为 URL 调用时,它的目标是启动应用程序的包标识符。

参考:URL 标识符和 URL 方案

  • 谢谢,是的,我知道。URL 方案适用于我的应用程序,我不是问如何使用它们。 (2认同)
  • 它没有回答“为什么需要`CFBundleURLName`”的问题。iOS 如何使用这个值。至少它用作“infoPlist.strings”中的键 (2认同)