#import #import @interface CustomMTLDevice : NSObject @property (nonatomic, strong) id originalDevice; @property (nonatomic, strong) NSString *customName; - (instancetype)initWithOriginalDevice:(id)device customName:(NSString *)name; @end @implementation CustomMTLDevice - (instancetype)initWithOriginalDevice:(id)device customName:(NSString *)name { if (self = [super init]) { _originalDevice = device; _customName = name; } return self; } - (NSString *)name { return self.customName ?: [self.originalDevice name]; } - (id)forwardingTargetForSelector:(SEL)aSelector { return self.originalDevice; } @end