iOS開發(fā)- clang -rewrite-objc的使用

clang -rewrite-objc 的作用是把oc代碼轉(zhuǎn)寫成c/c++代碼,常用它來查看OC的底層實(shí)現(xiàn)。

1.基本使用

//使用命令行進(jìn)入main.m的目錄,執(zhí)行下面的命令
clang -rewrite-objc main.m
//會(huì)產(chǎn)生一個(gè)main.cpp文件

2.查看機(jī)器上裝有的的sdk

xcodebuild -showsdks 
iOS SDKs:
    iOS 11.1                        -sdk iphoneos11.1

iOS Simulator SDKs:
    Simulator - iOS 11.1            -sdk iphonesimulator11.1

macOS SDKs:
    macOS 10.13                     -sdk macosx10.13

tvOS SDKs:
    tvOS 11.1                       -sdk appletvos11.1

tvOS Simulator SDKs:
    Simulator - tvOS 11.1           -sdk appletvsimulator11.1

watchOS SDKs:
    watchOS 4.1                     -sdk watchos4.1

watchOS Simulator SDKs:
    Simulator - watchOS 4.1         -sdk watchsimulator4.1

3.具體情況

//指定真機(jī)
xcrun -sdk iphoneos clang -rewrite-objc main.m  

//指定模擬器
xcrun -sdk iphonesimulator clang -rewrite-objc main.m 

//指定SDK版本
xcrun -sdk iphonesimulator10.3 clang -rewrite-objc main.m  

//指定framework
xcrun -sdk iphonesimulator11.1 clang -rewrite-objc -F /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks main.m 

//可以同時(shí)指定多個(gè)源文件、多個(gè)framework
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容