XZ_WeChat
XZ_WeChat copied to clipboard
框架中的时间都以NSInteger来传递,在32位系统有兼容问题
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设备应该还是有不少用户的。
是的,谢谢 👍
还有一种偷懒的方式,把这几个参数都改成long long,我就是这么偷懒的嘿嘿