0

我想要一种简单的方式让我的应用程序的用户互相发送内容。此内容将是一个带有名称、成分列表和一些说明的食谱。也许有一天它会包含一些图像。

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

我不确定如何最好地构建 URL,以便它包含配方的详细信息。无论我采用哪种约定来识别配方名称、成分和说明,都可能是易碎的。例如,如果我决定构建类似的东西:

`myApp://name=salsa&ing=tomatoes&ing=garlic...

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

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

4

1 回答 1

1

您应该在将用户输入嵌入到 URL 之前对其进行清理(即 URL 转义)。您可以使用 CoreFoundation 函数CFURLCreateStringByAddingPercentEscapes()函数进行这种转换。

于 2013-01-01T22:31:32.997 回答