iOS开发- clang -rewrite-objc的使用

clang -rewrite-objc 的作用是把oc代码转写成c/c++代码,常用它来查看OC的底层实现。

1.基本使用

//使用命令行进入main.m的目录,执行下面的命令
clang -rewrite-objc main.m
//会产生一个main.cpp文件

2.查看机器上装有的的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.具体情况

//指定真机
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 

//可以同时指定多个源文件、多个framework

你可能感兴趣的:(iOS开发- clang -rewrite-objc的使用)