У вас 3 немедленных подхода:
1) Вы можете сделать это вместо:
#pragma GCC diagnostic ignored "-Wprotocol"
#pragma clang diagnostic ignored "-Wprotocol"
вы указываете группу для отключения, используя прагму, а не флаг компилятора для установки / изменения.
2) или вы можете исправить проблему следующим образом (при условии, что вы не объявляете корневой класс):
@interface AImpl : NSObject<A>
{
id<NSObject,A> myItems;
}
@end
3) или вы можете указать настройку для каждого файла в Xcode Project> Target> Фазы сборки> Исходники компиляции> Флаги компилятора = "-Wno-protocol"
Я бы пошел с # 2.