在IOS 9.2上从应用程序共享文本时,您可以从各种消息选项中进行选择。问题是,大多数选项(如邮件或短信)都希望strlen_1_svc
成为换行符,而WhatsApp希望\n
成为换行符。
我被告知在应用程序中无法知道用户将选择什么,所以我发送<BR>
。虽然适用于忽略\n<BR>
的WhatsApp,但它对于显示\n
的邮件效果不佳。
还试过<BR>
,但WhatsAPP忽略了。
答案 0 :(得分:3)
修改强>
自2017-07-19起,WhatsApp for iOS不再将<br>
解释为换行符,而是切换为\n
。
这不是向后兼容的更改,因此如果您使用<br>
,您将获得Some<br>Text
。不应再使用下面的代码;好消息是你不需要做任何事情:WhatsApp会像往常一样处理\n
。
<强> DEPRECATED 强>
我使用了自己的UIActivityItemProvider
,根据所选择的活动,\n
使用<br>
或@interface ShareManager : UIActivityItemProvider <UIActivityItemSource>
@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:@"<br>"];
}
return result;
}
@end
:
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[[[ShareManager alloc] init]]];
[self presentViewController:activity animated:YES completion:nil];
用法:
selectedCurrency