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)。成功!!!!