使用clang命令可以將OC代碼通過runtime機制轉成C++代碼。
clang -rewrite-objc main.m
當使用clang后可能會出現(xiàn)下面的錯誤肿男。
main.m:9:9: fatal error: 'UIKit/UIKit.h' file not found
#import <UIKit/UIKit.h>
^~~~~~~~~~~~~~~
1 error generated.
可以添加一些參數(shù)來解決上面的問題:
clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk main.m
當然如果不想每次都輸入這么長的路徑和命令格粪,可以通過alias簡化工作:
- 進入終端摸恍,鍵入命令
vim ~/.bash_profile
- 在vim界面輸入i進入編輯編輯狀態(tài)并且鍵入
alias rewriteoc='clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk'
- 鍵入完畢,點esc退出編輯狀態(tài)包券,再鍵入:wq退出vim并保存濒旦,執(zhí)行source ~/.bash_profile<-這句一定要執(zhí)行,執(zhí)行才會生效
source ~/.bash_profile
這時候就可以直接用rewriteoc別名了:
rewriteoc main.m
執(zhí)行完后會在當前目錄下生成.cpp的文件再登。