我爲一大羣開發人員編寫基礎代碼,如果我不棄用某些東西,它將永遠不會停止使用。但是,棄用警告有點煩人,妨礙了更重要的錯誤/警告。Xcode-有沒有一種很好的方式來棄用API而不發送垃圾郵件輸出?
有沒有人提出了一個體面的解決方案這種類型的問題?
要闡述:
- 大的代碼庫與許多開發商
- 其中過時的API正在使用
- 那些地方不能立即更新的許多地方(我們談論幾個月到幾年)
- 棄用仍然需要確保開發人員不使用已棄用的API。
- 棄用不應該干擾real警告/錯誤。
我爲一大羣開發人員編寫基礎代碼,如果我不棄用某些東西,它將永遠不會停止使用。但是,棄用警告有點煩人,妨礙了更重要的錯誤/警告。Xcode-有沒有一種很好的方式來棄用API而不發送垃圾郵件輸出?
有沒有人提出了一個體面的解決方案這種類型的問題?
要闡述:
這可以用__attribute__
宏,將給予每次使用已過時的方法,編譯器警告來完成(這是蘋果公司是怎麼做的)。在聲明你想要棄用的任何東西之後,只需放置__attribute__
即可。像這樣:
-(void)someDeprecatedMethod __attribute__((deprecated("Use some other method instead")));
這將導致編譯器警告哪裏使用過棄用的方法。這對你來說很理想,因爲它會在任何現有的方法使用時發出警告,以便在機會出現時對它們進行修復,但是(希望)其他開發人員不會繼續使用它,因爲警告會立即出現做。也沒有添加輸出,只是編譯時間檢查。
我看到它的棄用警告*應該是令人討厭的。你沒有在你的問題中指定你感覺到的問題是什麼。你只是不想要棄用警告? (你可以關閉它們) –
無論如何,我覺得你的選擇包括1.遠離已棄用的函數,2.抑制已棄用的警告。對於#2,如果你願意,你可以將它們禁用爲「發佈」版本,會不會讓它們變得「令人討厭」? –
我已經詳細闡述了我的問題。 – xtravar