我也已经在我的应用程序中实现了pinterest共享代码。它的工作正常。但是问题到了一种情况见下

正确的工作:

[pinterest createPinWithImageURL:[NSURL URLWithString:imageUrl]
    sourceURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",shareUrl]]
    description:@"My Description"];


然后它将共享与我的期望相同的Pinterest描述。

但是当我发送描述测试时:

[pinterest createPinWithImageURL:[NSURL URLWithString:imageUrl]
    sourceURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",shareUrl]]
    description:@"My Details & Description"];


然后,它将像我的详细信息一样共享Pinterest描述。
我的预期文本是“我的详细信息和描述”,这是我的字符串在&符号后面。

我实际上发生了什么错,请在这里查看。

最佳答案

AFAIK,Pinterest的Pin It SDK不是开源的,因此很难弄清到底发生了什么。

但是,我想这个方法正在后台创建一个GET请求,该请求错误地对description参数进行了URL编码(也许他们使用的是stringByAddingPercentEscapesUsingEncoding或其他一些幼稚的方法)。

我建议联系Pinterest SDK开发人员/维护人员进行调查。

作为快速解决方案,您可以尝试使用URL对&进行编码。例如,您可以尝试将&替换为%26,例如

NSString *description = // ...whatever it should be set to...
description = [description stringByReplacingOccurrencesOfString:@"&" withString:@"%26"];


但是,这实际上可能会导致其他问题,因为Pinterest SDK可能会进行某种URL编码并且可能会对%符号进行编码。

另一种幼稚的方法可能只是将&替换为and一词,例如

NSString *description = // ...whatever it should be set to...
description = [description stringByReplacingOccurrencesOfString:@"&" withString:@"and"];


再说一次,它很hacky,但这是一种解决方法,可以解决基础SDK中可能存在的错误。

关于ios - iOS-如果我在描述文字中发送“&”,则Pinterest共享描述文字不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30612538/

10-13 02:49