2012-07-16 16 views
7

iOS 5.1 için MGSplitViewController güncelleştiriyorum ve kullanımdan kaldırılmış Objective-C yöntemlerinin kullanımı konusunda uyarılmak istiyorum. Ne yazık ki, MGSplitViewController, iOS 3.2'yi destekliyor, bu yüzden onaylanmamış tüm geri bildirimleri desteklemek istiyorum, ancak bunlarla ilgili uyarıları dikkate almamak istiyorum.Kullanımdan kaldırılmış objektif-c uygulamalarının kullanımıyla ilgili clang'ın uyarılarını nasıl seçebilirim?

ben ilgili uyarıları etkinleştirdikten hedef inşa ayarlarında (CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS) ama

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 

cevap

18

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS ile bunu gözardı edemez "Objective-C Yöntemleri kullanımdan kaldırıldı geçersiz kılma" Xcode etmiyor ki, -Wdeprecated-implementations tekabül "Hızlı Yardım" alanında gösterme. Yani şu işleri:

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-implementations" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 
+2

Diğer bir seçenek, (MGSplit sınıfları uygulamak olanlar gibi belirli dosyaları derlerken uyarıyı kapatmak etmektir. Örneğin, tıpkı bu uygulama dosyalarına derleyici bayrakları geçen '-Wno-kaldırıldı-implementations' –

6

aynı zamanda ilgili deprecated-declarations bayrak var. Bu, "'foo' kullanımdan kaldırılmıştır: ilk olarak OS X 10.10'da kullanımdan kaldırılmıştır - bunun yerine -bar yerine" gibi uyarıları bastırır. aslında kaynağını değiştirerek istediği olmayabilir eğer

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-declarations" 

    : 

#pragma clang diagnostic pop 
İlgili konular