Заставьте Xcode 4.3 предупреждать о необъявленных методах, которые существуют в текущей @implementation

Xcode 4.3 не предупреждает о необъявленных методах, если они существуют в текущей @implementation, отличная новая функция. Однако при определенных обстоятельствах это вызывает проблему при использовании моего проекта в Xcode 4.2.

Как снова включить предупреждения для необъявленных методов?

Например:

@interface MashTun : NSObject
- (void)foo;
@end

@implementation MashTun
- (void)foo {
    CGRect rect = [self smallRect];
    NSLog(@"My Small Rect: %@", NSStringFromCGRect(rect));
}

- (CGRect)smallRect {
    return CGRectMake(0, 0, 100, 100);
}
@end

В Xcode 4.2 это не работает:

warning: instance method '-smallRect' not found (return type defaults to 'id')
error: initializing 'CGRect' (aka 'struct CGRect') with an expression of incompatible type 'id' 

Я полностью понимаю предупреждение и ошибку в Xcode 4.2, так как он не позволяет искать методы в текущей области @implementation. (Исправление простое: либо поместите метод smallRectнад методом foo, либо объявите метод smallRectв категории или заголовке.)

Но как мне включить предупреждение в Xcode 4.3, чтобы поймать эту ошибку, прежде чем передать ее коллегам, использующим 4.2?

8
задан Josh Caswell 8 March 2013 в 20:26
поделиться