如何用Xcode 4注册一个自定义的应用程序开放URLscheme?

Xcode4需要大量的参数才能使这个简单的事情成为可能:

NSString *stringURL = @"twitterriffic://"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url]; 

Xcode 4 Info.plist编辑器

这些属性是什么? 为什么一个图像? 我必须在这里重复应用标识符吗? 如果我想要任何人能够调用这个URL来打开我的应用程序,select什么样的angular色? 这些额外的urltypes属性是什么?

我发现没有Xcode4相关教程如何注册与Xcode 4这样的URLscheme。

编辑你的AppName-Info.plist文件

  • 打开左侧的“支持文件”(文件夹)并点击“YourAppName-Info.plist”
  • select一行,如“捆绑创build者OStypes代码”,并将鼠标hover在行上,然后单击(+)符号
  • 这将创build一个新的行并键入“URLtypes”
  • 点击左边的arror,看到Item 0,你会把Item 0中的值重命名为“URL Schemes”,如图所示
  • 然后编辑项目0中的字段并input您的协议; 如图所示,我input“goomzee”

现在,如果我在模拟器上安装这个应用程序,并打开Safari并在地址栏中input“goomzee://”,它将启动我的应用程序。

是的,这东西不是直截了当的吗?

我列出了在此处注册自定义url所需的步骤: 自定义url

但是,基本上它的关键是在.plist文件中设置一个“URL Types”值。 以下是XCode 5中的样子:

网址类型

在这个例子中,我已经注册了MKB前缀,所以现在,我可以在网页上的超链接和电子邮件(如果我在iPad Mail应用程序中阅读电子邮件)中使用这种新types的URL:

邮件应用

如果用户点击其中一个链接,我的iPad应用程序将启动,我可以访问完整的URLstring,从URL中提取其他参数(例如“DocumentNumber = 100”)

唯一的问题是,我还没有研究如何testing用户是否安装了可识别特定前缀的iPad应用程序。

如果他们没有 ,并且在他们的iPad上点击这些MKB://链接之一,他们会得到一个丑陋的错误信息:

不

您可以通过编辑您的应用程序的info.plist文件来继续注册您的自定义URL(如以前的问题所示 )。 Xcode 4中的新编辑器应该是一个方便的工具,它使得添加条目变得更加容易 – 它所做的只是进行相同的info.plist更改,而您将手动执行这些更改。 如果你想使用新的编辑器,那么你只需要填写“标识符”和“URL计划”框。 您不需要图片,图标或其他url属性。

其他属性(图标等)没有很好的logging,但似乎只适用于Mac OS X,并可能在Finder的“获取信息”对话框中使用,以显示特定应用程序可以打开哪些types的URL。 例如,查看“ 启动服务编程指南” 。

在该编辑器中更改的内容也反映在项目的信息plist文件中。 它采用ProjectName -Info.plist的forms。 希望有帮助。