Я не пробовал это сам, но я думаю, что следующий синтаксис должен работать.
__attribute__ ((deprecated))
@protocol MyProtocol
@end
Это соответствует синтаксису для устаревания всего интерфейса, а также одного метода.
__attribute__ ((deprecated))
@interface MyClass
@end
@interface MyClass2
- (void) method __attribute__((deprecated));
@end