在我的更新被拒绝后,我刚刚收到了来自 Apple 的崩溃日志。
查看崩溃日志后,我发现了与解析日期有关的违规代码。
当我在我的设备上运行此应用程序时,我没有收到此错误。我感觉这是 Apple 正在测试的设备的本地问题。
在我运行期间,original
下面的字符串解析为2012-12-04T11:02:29.5600000+0000
. 我只是想知道如果在不同的语言环境中它会出现什么其他方式。
更重要的是,如何在与 Apple 相同的环境中测试我的应用程序,这样我就不需要等待审核过程来测试
注意:我继承了此代码,因此非常感谢任何有关改进日期解析功能的建议,谢谢。
崩溃来自[original substringToIndex:range.location+3]
以下函数中的调用。
+(NSString*)convertDate:(NSDate*)date withFormatter:(NSDateFormatter*)dateFormatter{
NSString *original = [dateFormatter stringFromDate:date];
NSRange range = [original rangeOfString:@"+"];
NSString *substring = [original substringToIndex:range.location+3];
NSString *substring2 = [original substringFromIndex:range.location+3];
return [NSString stringWithFormat:@"%@%@%@",substring,@":",substring2];
}
在以下上下文中调用此函数
NSDate *timestamp = [NSDate date];
NSString *dateString = [DateHelper convertDate:timestamp withFormatter:UTCDateFormatter];