XZ_WeChat icon indicating copy to clipboard operation
XZ_WeChat copied to clipboard

框架中的时间都以NSInteger来传递,在32位系统有兼容问题

Open flashermaster opened this issue 7 years ago • 2 comments

po主,这个框架中的消息时间都是以integer来传递的,最典型的是[ICMessageHelper currentMessageTime]:

  • (NSInteger)currentMessageTime { NSTimeInterval time = [[NSDate date] timeIntervalSince1970]; NSInteger iTime = (NSInteger)(time * 1000); return iTime; }

在64位系统中,这没问题,NSInteger最大数值是8位的long,但是我在iphone5上测试IM的时候,发现时间已经overflow了,messageF.model.message.date = 2147483647。也就是4位int的最大值。 建议框架中的时间还是以nstimeinterval来传递吧,5/5C设备应该还是有不少用户的。

flashermaster avatar Sep 19 '17 07:09 flashermaster

是的,谢谢 👍

corderguo avatar Sep 19 '17 08:09 corderguo

还有一种偷懒的方式,把这几个参数都改成long long,我就是这么偷懒的嘿嘿

flashermaster avatar Sep 19 '17 08:09 flashermaster