自定义URL方案参数

时间:2014-08-14 10:37:18

标签: ios objective-c cocoa-touch core-foundation url-scheme

为我的应用程序定义自定义URL方案时,我需要有3个密钥:

  1. CFBundleTypeRole a.k.a文件角色
  2. CFBundleURLName a.k.a网址标识符
  3. CFBundleURLSchemes a.k.a.网址结构
  4. 我可以看到,如果我只是将CFBundleURLSchemes定义为myapp,那么该应用就会以myapp://的网址正常启动。 问题是:

    1. 那里的URL标识符只是为了让我的方案独一无二吗?如何 它那样做?如果我在2个应用中定义了相同的方案myapp,我就会调用myapp:// 我可以通过拨打myapp://<URL Identifier>来指定我想拨打的电话吗? 修改:此网址标识符实际上做了什么?它只给网址命名吗?如何使用?
    2. 角色定义了权限级别 None, Viewer or Editor,我不确定我的许可级别 应用程序已启动应用程序,因为我没有定义任何东西。我会 想知道什么时候是默认权限 CFBundleTypeRole未定义。

2 个答案:

答案 0 :(得分:1)

到1:

不保证协议是唯一的。没有可以定义的参数可以打开app1或app2。如果两个应用程序使用相同的方案,则未定义会发生什么

到2:

该角色与大多数部分无关,但强制性

  • editor =已启动,因为它们可以通过相同的
  • 标识R / W文件
  • viewer =只能阅读和显示

答案 1 :(得分:0)

Ad 1)

根据Apple documentation,他们没有提供有关标识符及其所需原因或使用位置的详细信息。他们只说它应该是独一无二的。

此外,如果多个应用指定相同的网址方案,则结果无法预测。

请参阅URL identifier and URL scheme

Ad 2)

iOS不使用Role标志。

请参阅In Xcode, under Info tab, what's Role for in URL Types section?