我需要将一个不同的udid发送到我的数据库,以便进行一些测试。由于[UIDevice currentDevice] uniqueIdentifier]在近15个地方被调用,因此我很难进行代码更改然后进行测试。有没有办法暂时覆盖该方法并将另一个数字作为udid发送?
答案 0 :(得分:2)
您可以在UIDevice上创建一个类别,并覆盖uniqueIdentifier以返回随机值。
@interface UIDevice (RandomIdentifier)
@property (nonatomic, retain, readonly) NSString *uniqueIdentifier
@end
@implementation UIDevice (RandomIdentifier)
- (NSString *)uniqueIdentifier
{
return @"Randomly generated string";
}
@end
答案 1 :(得分:1)
您应该能够在UIDevice上的类别中覆盖它。创建一个这样的标题:
@interface UIDevice (overrideId)
@property (nonatomic,readonly,retain) NSString *uniqueIdentifier
@end
然后是这样的.m:
@implementation UIDevice (overrideId)
- (NSString *)uniqueIdentifier {
return @"whatever";
}
@end
在释放之前不要忘记再次将其移除。