通过Finder浏览到你保存该项目的文件夹。创建三个新的文件夹:wax、scripts和Classes。

第一:首先,下载源代码的压缩包。Wax放在GitHub上(https://github.com/probablycorey/wax)

第二:现在,执行下列操作:

  ◆ 拷贝lib和bin文件夹,把它们粘贴到位于WaxApplication项目文件夹里面的wax文件夹。打开WaxApplication项目文件夹里面的wax/lib/extensions/文件夹。删除SQLite和xml文件夹,

  ◆ 将xcode-template/Classes/ProtocolLoader.h拷贝到Classes项目文件夹。

  ◆ 拷贝xcode-template/scripts/文件夹的内容,将它放到scripts项目文件夹里面。

现在用Finder选择Classes、scripts和wax文件夹,把它们拖入到Xcode项目中。

 第三:改动main.m 为如下

  //这是发生奇迹的地方!
// Wax并不使用nib文件来装入主视图,一切在AppDelegate.lua文件里面完成
#import <UIKit/UIKit.h>
#import "wax.h"
#import "wax_http.h"
#import "wax_json.h"
#import "wax_filesystem.h"
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; wax_start("AppDelegate.lua", luaopen_wax_http, luaopen_wax_json, luaopen_wax_filesystem, nil); int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
[pool release];
return retVal;
}

第三,删除不必要的文件

删除MainWindow.xib、WaxApplicationAppDelegate.h和WaxApplicationAppDelegate.m三个文件。打开WaxApplication/Supporting Files/WaxPallication-Info.plist,然后删除键是Main nib file base name的那一行。

第四,运行程序,我们会看到如下画面。

完成以上步骤并运行后,我遇到的如下问题:

/Desktop/WaxApplication/wax/lib/wax_server.h:46:12: Class 'HACK_WAX_DELEGATE_IMPLEMENTOR' defined without specifying a base class

源代码
// This is needed because the runtime doesn't automatically load protocols
@interface HACK_WAX_DELEGATE_IMPLEMENTOR <WaxServerDelegate> {}
@end
修改后的代码
// This is needed because the runtime doesn't automatically load protocols
@interface HACK_WAX_DELEGATE_IMPLEMENTOR : NSObject <WaxServerDelegate> {}
@end

修复方式:为  HACK_WAX_DELEGATE_IMPLEMENTOR 添加一个 NSObject 基类即可。

最终运行后效果:

注意:其它的教程中会让设置Shell脚本,但是我没有设置,也运行成功了。如果需要设置shell脚本,请参考如下步骤:

在右边窗格中,寻找Targets标题,点击WaxApplication。点击Build Phases(构建阶段)选项卡。点击Copy Bundle Resources(复制捆绑资源),清除所有lua文件。

  ◆ 在右下角,先点击Add Build Phase(添加构建阶段),再点击Add Run Script(添加运行脚本)。

  ◆ 将Shell设成/bin/zsh

  ◆ 将Shell下面的文本区域设成$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh。

参考:Xcode 搭建Lua开发环境,基于Wax框架详解

IOS从lua动态生成类

按照上述别人的方法我是有报编译错误最终自己如下方式解决:

    1. 在xcode中新建目录wax、scripts和Classes
    2. 在下载的源码中有对应的wax、scripts和Classes这三个目录,这三个目录会有很多子目录,在xcode中需要对应也建立这些子目录
    3. 在xcode中建立好所有的目录后(包括子目录)开始引入文件,后面发现其实这边有快捷方式,直接把本地的这三个目录拖到xcode中并且在选择的时候如下勾选:
    4. 引入文件时xcode中的位置需要和源码中的文件位置一致(不一致的情况我没试过)
    5. 把引进来的.m文件全部改成非ARC模式编译可参考http://blog.csdn.net/leeafu/article/details/13093399
    6. 项目中的minizip和ZipArchive.h为解压缩类(可以替换别的解压缩类),是我自己找的,这几个类需要libz.dylib支持,否则会报错误如下:
    7. 编译,如果报头某某文件没有找到则自己去修改头文件的#import或#include
    8. 编译通过则安装成功

最新文章

  1. excel 怎么修饰图表
  2. 计算&amp;IO密集型任务的 优化
  3. ArrayList代码示例
  4. 安装和删除 Alcatraz 插件
  5. Beaglebone Black - 控制 BBB 板上的 LED 灯
  6. 1189: [HNOI2007]紧急疏散evacuate - BZOJ
  7. phpcms 源码分析五:文件缓存实现
  8. 最近Get到的一些HTML/CSS中的小点(一)
  9. 密码算法详解——Simon
  10. 基于visual Studio2013解决C语言竞赛题之1046矩阵计算
  11. 解决tomcat开始出现in production environments was not found on the java.library.path:xxx
  12. 201521123005 《Java程序设计》 第十周学习总结
  13. PHP yield 分析,以及协程的实现,超详细版(上)
  14. ubuntu16.04下安装opencv
  15. Android客户端与服务器交互方式-小结
  16. 第四周结对项目总结及改进(ui/web)
  17. 单总线(1-Wire Bus)技术及其应用
  18. java中的Checked Exception和Unchecked Exception的区别
  19. HTTP 协议中的 Transfer-Encoding
  20. Hibernate事务代码规范写法

热门文章

  1. eclipse中如何将java项目转为java Web项目
  2. asp.net读写配置文件方法
  3. 更新引用google的cdn外部jQuery核心库JS文件
  4. FineUI第十三天---`列布局
  5. HNU 12869 Sequence(循环节)
  6. CoreGraphics QuartzCore CGContextTranslateCTM 用法
  7. CSS技巧-rgba函数的妙用
  8. 使用JavaScript在项目前台开发的58种常用小技巧
  9. 二、 显示加载数据过程的JS
  10. NET-SNMP开发——日志输出