我希望我的应用用户可以通过简单的方式向对方发送内容。这个内容将是一个单一的食谱,包括名称,成分列表和一些说明。也许有一天它会包含一些图像。
我被简单地使用自定义URL方案来实现这一点,并依靠电子邮件进行通信。我的应用程序将能够撰写电子邮件,并使用此网址方案嵌入链接。接收食谱的人将点击电子邮件中的此链接,它将打开我的应用程序(如果已安装)。该链接将包括要添加的配方的详细信息。
我不确定如何最好地构建URL,以便它包含配方的详细信息。无论我采用哪种惯例来确定食谱名称与成分与指示,都很可能是有趣的。例如,如果我决定构建类似的东西:
`对myApp://名称=莎莎&安培;荷兰国际集团=蕃茄&安培;荷兰国际集团=大蒜...
如果用户使用'&'创建了食谱在成分名称中,我将错误地解析网址。
我怎么能避免这个?有没有首先打包内容,或者至少包括校验和(所以接收应用程序可以放弃任何看起来不正确的东西)。如果没有,是否有最佳实践来构建包含这样的数据的URL?
答案 0 :(得分:1)
在将用户输入嵌入到URL之前,您应该清理(即URL-escape)用户输入。您可以使用CoreFoundation函数CFURLCreateStringByAddingPercentEscapes()
函数进行此类转换。