所有的答案都很好,但是我們不能使用第二步的結果。我們甚至不知道這個功能是否可用或正確...
我一直被困在這些結果約1天。
最後我轉儲全部funcitons & 符號爲STDLIB從libswiftcore.dylib,我發現這個..
命令:
nm libswiftcore.dylib | grep "_stdlib_"
我們可以找到一個線結果:
00000000000b2ca0 T __TFSs19_stdlib_getTypeNameU__FQ_SS
刪除第一個下劃線「_」,那麼我們得到這樣的:
_TFSs19_stdlib_getTypeNameU__FQ_SS
也許我們可以查看此website瞭解「_TFSs19_stdlib_getTypeNameU__FQ_SS」的含義,
但我認爲我們可以得到正確的功能描述更快! 所以,我們還原函數像下面這樣在Xcode LLDB窗口:
(lldb) p _stdlib_demangleName("_TFSs19_stdlib_getTypeNameU__FQ_SS")
(String) $R0 = "Swift._stdlib_getTypeName <A>(A) -> Swift.String"
最後,我們可以揭露迅速更多的未公開的函數,我們從來沒有見過的,我們可以嘗試另外一個,我們從來沒有聽說過這樣的:
(lldb) p _stdlib_demangleName("_TFSs24_stdlib_atomicLoadARCRefFT6objectGVSs20UnsafeMutablePointerGSqPSs9AnyObject____GSqPS0___")
(String) $R1 = "Swift._stdlib_atomicLoadARCRef (object : Swift.UnsafeMutablePointer<Swift.Optional<Swift.AnyObject>>) -> Swift.Optional<Swift.AnyObject>"
全部清楚〜感謝上帝!
分享這個給你,希望它可以幫助〜 :d
還原函數已經由馬特·加拉格爾在斯威夫特改寫。參見:https://github.com/mattgallagher/CwlDemangle/blob/master/CwlDemangle/CwlDengngle.swift –