本文是 https://segmentfault.com/q/1010000005624591 引申出來的一個“NSURLSessionTask 是否可以添加 category”的研究文章。
http://stackoverflow.com/questions/24448936/nsurlsessiontask-category-method-crashes-with-unrecognized-selector-sent-to-ins
提到對NSURLSessionTask添加category后,在運行時會發(fā)生
unrecognized selector sent to instance
但是根據(jù)下面的實驗結(jié)果,在iPhone 6 plus + iOS 9.3 的測試環(huán)境下,是可以找到對應(yīng)的實現(xiàn)。

Paste_Image.png

Paste_Image.png
另外,http://stackoverflow.com/a/35359533 中提到在iOS 9.2中 __NSCFLocalDataTask的繼承鏈是__NSCFLocalDataTask: __NSCFLocalSessionTask:__NSCFURLSessionTask:NSObject.
所以,該問題應(yīng)該只能在一些特殊的版本中才會發(fā)生。
根據(jù)問題截圖,現(xiàn)在能猜測問題的另一個原因很可能是 Linker 在 處理 category 時會發(fā)生的一個隱藏bug。關(guān)于隱藏bug的討論可以移步到
https://developer.apple.com/library/mac/qa/qa1490/_index.html