2011-11-20 76 views
65

Xcode4是要求的参数数量庞大只是为了让这个简单的事情可能:如何使用Xcode 4注册自定义应用程序开放URL方案?

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

Xcode 4 Info.plist editor

什么是所有这些属性?为什么一个图像?我必须在这里重复应用标识符吗?如果我希望任何人能够调用此URL来打开我的应用程序,请选择什么角色?这些额外的url类型属性是什么?

我发现没有Xcode4相关教程如何在Xcode注册这样的URL方案4.

+0

如果您有想法“额外的url类型属性”用法? – user454083

+3

我已经在帖子中解释了它,并且还提供了自定义网址的额外参数的代码: http://2cupsoftech.wordpress.com/2013/01/08/supporting-custom-url-schemes-in-ios-app/ – 2cupsOfTech

回答

17

您可以继续通过编辑应用程序的Info.plist文件(如在以前的一个注册您的自定义网址questions)。 Xcode 4中的新编辑器应该是一个方便的工具,它使得添加条目变得更加容易 - 它所做的只是进行与手动执行相同的info.plist更改。如果你想使用新的编辑器,那么你只需要填写'标识符'和'URL Schemes'框。您不需要图片,图标或其他网址属性。

其他属性(图标等)都有详细的记载,但似乎只在Mac OS X适用并在Finder的获取信息对话框可以用来显示一个特定的应用程序可以开什么类型的URL。例如,请查看Launch Services Programming Guide

0

您在编辑器中改变什么还体现在项目的信息plist文件。它的形式为ProjectName -Info.plist。希望有帮助。

91

Edit your AppName-Info.plist file

  • 打开左“支持文件”(文件夹),然后点击“YourAppName-Info.plist中”
  • 选择一排像“捆绑创作者OS类型代码”和鼠标行单击(+)符号
  • 这将创建一个新的行,键入“URL类型”
  • 点击arror左,参见Item 0,如图所示
  • 你会在项目0值重命名为“URL方案”
  • 然后EDI吨0项,并输入您的prototocol领域;我在“goomzee”类型,如图

现在,如果我在我的模拟器安装这个应用程序,并打开Safari和类型“goomzee://”在地址栏中将推出我的应用程序。

+4

内的.plist文件,相关的代码是: ' CFBundleURLTypes CFBundleURLSchemes goomzee ' –

+6

CFBundleURLTypes CFBundleURLName com.iphonebasic.testdemo CFBundleURLSchemes COM-iphonebasic-testdemo iphonemaclover

+0

这个 “相关代码” 为我工作!谢谢 –

25

啊,这东西不是简单的是什么呢?

我已经概述在这里注册自定义URL所需的步骤: Custom URLs

但是,基本的关键,它是建立在你的.plist文件中的“URL类型”值。下面是它看起来像在XCode中5:

URL types

在这个例子中,我已经注册了MKB前缀,所以现在,我可以在超链接上的网页和电子邮件使用这种新型的网址(如果我读在iPad上的邮件应用程序的电子邮件):如果用户点击这些链接之一

Mail app

,我的iPad应用程序将启动,并且我可以访问完整的URL字符串,提取来自URL的其他参数(例如“DocumentNumber = 100”)

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

如果他们没有,他们挖掘这些MKB之一:在他们的iPad //联系,他们会得到一个丑陋的错误消息:

Nope

+1

哇在你的博客上精彩的解释。这为我节省了大约2个小时。谢谢!! – Wirsing

+0

事情是,在'MKB://'之后必须有任何东西。 –

相关问题