2009-09-30 16 views
15

Właśnie stworzyłem nowy projekt Cocoa na XCode 3.2. Używam go w Snow Leopard.Budynek dla 10,5 w Xcode 3.2 (na Snow Leopard) błąd

Kiedy budować go na 10,6 to działa dobrze, ale jeśli zmienić aktywne SDK do 10,5 otrzymuję ten błąd:

cannot find protocol declaration for 'NSApplicationDelegate' 

Odpowiedz

33

NSApplicationDelegate jest new protocol as of 10.6. Otrzymujesz błąd (zgaduję), ponieważ delegat aplikacji implementuje ten protokół. Nie jestem pewien, czy to jest najlepsze praktyki w tej sprawie, ale może po prostu rozważyć użycie preprocesora aby pomóc:

#if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5) 
@interface MyAppDelegate : NSObject 
#else 
@interface MyAppDelegate : NSObject <NSApplicationDelegate> 
#endif 
+0

Jeśli mogę skompilować do 10,5 Dostaję sam komunikat o błędzie w Xcode – Jorge

+0

Ha, mój zły. MAC_OS_X_VERSION_10_6 nie jest zdefiniowany na 10.5, więc musimy zachować logikę w zakresie 10.5. Naprawiono w odpowiedzi. – nall

+3

Niż to działało dla mnie. Jorge, musisz zaakceptować tę odpowiedź! –