Lua in iOS Objective C - Require for path

时间:2014-07-11 22:21:15

标签: ios objective-c lua require

我在我的iOS应用程序中使用lua进行脚本编写。我正在尝试使用'require'

添加另一个lua文件

我的Lua文件包含在我的项目中的XCode中的以下目录中:

Classes/Lua_Code/main.lua
Classes/Lua_Code/luaBase.lua

main.lua正在尝试按如下方式要求luaBase.lua -

require('luaBase') 

但它似乎永远不会找到该文件,即使它与main.lua位于同一文件夹中。

我在日志中收到以下错误

no field package.preload['luaBase']     no file
'./luaBase.lua'     no file
'/usr/local/share/lua/5.1/luaBase.lua'  no file
'/usr/local/share/lua/5.1/luaBase/init.lua'     no file
'/usr/local/lib/lua/5.1/luaBase.lua'    no file
'/usr/local/lib/lua/5.1/luaBase/init.lua'   no file
'./function/luaBase.lua'    no file './luaBase.so'  no file
'/usr/local/lib/lua/5.1/luaBase.so'     no file
'/usr/local/lib/lua/5.1/loadall.so'

我在这里尝试了其他所有建议,但没有任何作用。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我想出来了 -

在Objective-C中 - 我执行以下操作:( self runLua:是一个在NSString中作为lua命令运行文本的方法)

NSString *bundlePath = [[NSBundle mainBundle] resourcePath];
[self runLua:[NSString stringWithFormat:@"appPath = '%@/?.lua'",bundlePath]];

然后在Lua - 我做了以下事情:

package.path = appPath
require('test') 

最后 - Lua知道在哪里找到文件!