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
网友评论