gpt4 book ai didi

iphone - 出于测试目的在应用程序中设置 iPhone 日期/时间?

转载 作者:可可西里 更新时间:2023-11-01 03:42:50 25 4
gpt4 key购买 nike

我的应用程序中有很多依赖于日期/时间的功能(例如“如果日期是 x,则显示 y”)。我使用 [NSDate date] 来获取用户的当前日期/时间。我可以测试通过在我的 iPhone 上手动更改日期/时间来更改功能,但我想知道是否有一种方法可以以编程方式覆盖当前时间,以便我可以在模拟器中更快地进行测试。

最佳答案

另一种方法是提供 +(NSDate *)date 的自定义实现。您可以使用 JRSwizzle 调配此类方法.为 NSDate 创建一个小类别:

static NSTimeInterval seconds = 1300000000;

@interface NSDate (Fixed)
+ (NSDate *)fixedDate;
@end

@implementation NSDate (Fixed)
+ (NSDate *)fixedDate
{
return [NSDate dateWithTimeIntervalSince1970:seconds];
}
@end

然后在您想要固定日期的代码中执行以下操作:

NSError *error;
[NSDate jr_swizzleClassMethod:@selector(date) withClassMethod:@selector(fixedDate) error:&error];
NSLog(@"Date:%@", [NSDate date]);

日志打印出这个:

2011-09-01 11:35:27.844 tests[36597:10403] Date:2011-03-13 07:06:40 +0000

关于iphone - 出于测试目的在应用程序中设置 iPhone 日期/时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com