Wax是一個用lua語言編寫本地iPhoneapp的框架。它使用OC運行時將OC和Lua進行綁定。通過Wax,你可以用Lua做任何OC可以做到的事情.
準備工作
1.下載Wax 。http://github.com/probablycorey/wax
支持64位的Wax https://github.com/felipejfc/n-wax Xcode7測試
2.解壓壓縮包。裏面的目錄結構
添加文件
1.創建一個iOS項目,iOS --> Application --> Empty Application 點擊Next,Product Name 填寫WaxDemo 點擊Next,選擇你要保存的位置,點擊Create。
找到WaxDemo項目的根目錄,創建文件夾wax。
2.拷貝剛剛下載的Wax項目目錄下的bin和lib文件夾到剛剛創建的wax目錄下
3.拷貝剛剛下載的Wax項目目錄下xcode-template目錄下的Classes和scripts文件夾到WaxDemo項目的根目錄
4.刪除wax/lib/extensions/ 下的SQLite目錄和xml目錄
5.回到Xcode,將剛剛拷貝的wax目錄Classes目錄和scripts目錄下的文件添加到工程。
6.TARGETS -> Build Phases 搜索.lua,刪除除AppDelegate.lua以外的所有文件。
修改文件
修改main.m,同時刪除AppDelegate.h和AppDelegate .m文件
#import <UIKit/UIKit.h>
//#import "AppDelegate.h"
#import "wax.h"
#import "wax_http.h"
#import "wax_json.h"
int main(int argc, char * argv[])
{
@autoreleasepool {
wax_start("AppDelegate.lua", luaopen_wax_http, luaopen_wax_json, nil);
return UIApplicationMain(argc, argv, nil, @"AppDelegate");
}
}
運行( command+R)。
解決錯誤
剛剛運行後,該工程會報錯。就像下面這樣。
錯誤1:
解決這個錯誤有兩種辦法。
1.使整個工程不支持ARC.(工程->taggets->build settings->Objective-C Automatic Reference Counting NO )
2.使部分文件(wax開頭的文件)不支持ARC (工程->taggets->build Phases 可以看到Compile Sources裏都是你工程中的類.m文件,雙擊你不使用ARC的文件, 輸入 -fno-objc-arc )
我這裏爲了方便用了第一種方法。運行( command+R)。
錯誤2:
解決辦法(工程->taggets->build settings->Unintentional Root Class Yes)注意是Yes,而不是Yes(treat as error).
運行( command+R)。成功!!!!