WhatsApp与Mail的新行

在IOS 9.2上从应用程序共享文本时,您可以从各种消息选项中进行选择。 问题是,大多数选项,如邮件或短信都希望\n是换行符,而WhatsApp希望
成为换行符。

我被告知在应用程序中无法知道用户将选择什么,所以我发送\n
。 虽然适用于WhatsApp,它忽略了\n它对于显示
Mail不起作用。

还试过%0A%0D但是WhatsAPP忽略了。

编辑

截至2017-07-19,WhatsApp for iOS不再将
解释为换行符,而是切换为\n

这不是向后兼容的更改,因此如果您使用
您将逐字地获得Some
Text
。 不应再使用以下代码; 好消息是你不需要做任何事情:WhatsApp会像往常一样处理它。


弃用

我使用了自己的UIActivityItemProvider ,它取决于所选择的活动,使用\n

 @interface ShareManager : UIActivityItemProvider  @end @implementation ShareManager - (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType id result = [self getShareText]; if ([activityType containsIgnoringCase:@"WhatsApp"]) // You can also match against the exact id "net.whatsapp.WhatsApp.ShareExtension" { result = [result stringByReplacingOccurrencesOfString:@"\n" withString:@"
"]; } return result; } @end

用法:

 UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[[[ShareManager alloc] init]]]; [self presentViewController:activity animated:YES completion:nil];