You are right that you cant add a property in a Category, but you can do a runtime set using objc runtime methods
#import <objc/runtime.h>
static char udidKey;
@implementation NSObject (UDIDAddition)
- (NSString *)udid {
return objc_getAssociatedObject(self, &udidKey);
}
- (void)setUdid:(NSString *)udid {
objc_setAssociatedObject(self, &udidKey, udid, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
@end