你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> Lua嵌入iOS/Mac工程

Lua嵌入iOS/Mac工程

編輯:IOS開發綜合

Lua嵌入iOS/Mac工程

首先我們需要編譯lua環境,得到 lua工程的靜態庫

1.到http://www.lua.org/ftp/ 下載lua源碼,版本任意
2.解壓後 的res文件夾便是我們的需要的lua源碼
3.新建一個靜態庫工程 ,打開xcode —> File —>New —>Project –>選擇 Static Libary,並且工程名命名為lua
這裡寫圖片描述
4.將2步驟中的res文件放到工程,Product->Build便可以編出我們需要的 .a 包
這裡寫圖片描述

5.新建一個iOS 工程
比如新建一個名字為 LuaOniOS 的工程。
這裡寫圖片描述
6. 將iOS工程引用lua靜態庫工程。
因靜態庫工程是iOS工程的子工程,為管理方便,將其放到到LuaOniOS工程文件夾下
這裡寫圖片描述
- 步驟1 將 靜態庫工程的 lua.xcodeproj 文件拖拽到 iOS 工程中
- 步驟2 設置LuaOniOS 的Build Settings –> Header Search Paths 添加一條 $(SRCROOT)/LuaOniOS/Lua/Lua 目的是搜索lua頭文件時能夠索引得到
- 步驟2 設置LuaOniOS 的Build Phases –>Link Binary With Libraries 添加 libLua.a 目的是包含子工程編譯出來的靜態庫

7.在工程中新加一個 test.lua

print("hello lua on ios")

然後在ViewController.m中編寫

#import "ViewController.h"
#import "lua.h"
#include "lauxlib.h"
#include "lualib.h"

@interface ViewController ()
@end
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    lua_State * L = luaL_newstate();

    luaL_openlibs(L);

    NSString * scriptPath = [[NSBundle mainBundle]pathForResource:@"test" ofType:@"lua"];

    int error;

    error = luaL_dofile(L,[scriptPath cStringUsingEncoding:NSUTF8StringEncoding]); /* runs Lua script */

    if (error) {
        printf("%s",lua_tostring(L, -1));
    }
    lua_close(L);
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end

8.執行 控制台 可以看到

hello lua on ios
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved