在通知服务中将大型 NSString 转换为 NSData Class

Convert Large NSString to NSData in Notification Service Class

我在推送通知的正文有效载荷中收到 NSString 的长尺寸有效载荷,我需要将其转换为 NSData,然后将其保存在 corredata 中。 我正在使用方法:

dataUsingEncoding:NSUTF8StringEncoding

这适用于短字符串,但对于 2049 KB 大小的长字符串,它似乎将我的字符串的一半转换为 NSData 而不是全部... 当我打印 NSData 的长度时,它给出了 1000,似乎最大大小是 1000....当我将短字符串转换为 NSData 并打印大约 677 的大小时,它可以正常工作。

有什么想法吗?

我要在这里回答,它可以帮助以后的其他人。

主要问题不是方法,在调试中,信息在推送通知的正文参数中正确出现,但是当我尝试获取正文时:

NSString* body = self.bestAttemptContent.body;

主要问题在这里,当字符串主体是长尺寸时,它会自动切割并且我没有找到任何关于它的文档......但是我在推送通知的有效负载中添加了“data”参数并且当我收到推送通知我从数据参数中获取字符串,它正确地给出了所有字符串。