package.path用于搜索自己写的库文件或者第三方的库文件
--搜索指定路径下,以 .lua结尾的文件 package.path = "../t/?.lua;../xjnlib/src/?.lua;"..package.path
ios设置搜索路径,避免脚本中的require无法找到文件
NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
[self addSearchPath:resourcePath];
- (void)addSearchPath:(NSString *)path
{
NSMutableString *fullPath = [NSMutableString stringWithString:path];
if (![path hasSuffix:@"/"])
{
[fullPath appendString:@"/"];
}
[fullPath appendString:@"?.lua"];
[self setSearchPath:fullPath];
}
- (void)setSearchPath:(NSString *)path
{
lua_getglobal(self.state, "package");
lua_getfield(self.state, -1, "path");
//取出当前路径,并附加新路径
NSMutableString *curPath =
[NSMutableString stringWithUTF8String:lua_tostring(self.state, -1)];
[curPath appendFormat:@";%@", path];
lua_pop(self.state, 1);
lua_pushstring(self.state, curPath.UTF8String);
lua_setfield(self.state, -2, "path");
lua_pop(self.state, 1);
}