使用自定义URL方案导入数据

时间:2013-01-01 22:01:52

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

我希望我的应用用户可以通过简单的方式向对方发送内容。这个内容将是一个单一的食谱,包括名称,成分列表和一些说明。也许有一天它会包含一些图像。

我被简单地使用自定义URL方案来实现这一点,并依靠电子邮件进行通信。我的应用程序将能够撰写电子邮件,并使用此网址方案嵌入链接。接收食谱的人将点击电子邮件中的此链接,它将打开我的应用程序(如果已安装)。该链接将包括要添加的配方的详细信息。

我不确定如何最好地构建URL,以便它包含配方的详细信息。无论我采用哪种惯例来确定食谱名称与成分与指示,都很可能是有趣的。例如,如果我决定构建类似的东西:

`对myApp://名称=莎莎&安培;荷兰国际集团=蕃茄&安培;荷兰国际集团=大蒜...

如果用户使用'&'创建了食谱在成分名称中,我将错误地解析网址。

我怎么能避免这个?有没有首先打包内容,或者至少包括校验和(所以接收应用程序可以放弃任何看起来不正确的东西)。如果没有,是否有最佳实践来构建包含这样的数据的URL?

1 个答案:

答案 0 :(得分:1)

在将用户输入嵌入到URL之前,您应该清理(即URL-escape)用户输入。您可以使用CoreFoundation函数CFURLCreateStringByAddingPercentEscapes()函数进行此类转换。