针对iOS11废除了system之后,报错:'system' is unavailable: not available on iOS的一些修改如下:
1.修改了CCFileUtils.cpp文件
参考: https://github.com/cocos2d/cocos2d-x/pull/17921/files
2.修改了AssetsManager.cpp文件
参考: http://www.cocoachina.com/bbs/read.php?tid=1725915&page=1&toread=1#tpc
3.cocos2d_lua/external/lua/Ioslib.c文件还有报错,原因是system方法在iOS11中已经被移除了,
修改:
1.添加了:
#include <ftw.h>
和
int unlink_cb(const char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf)
{
int rv = remove(fpath);
if (rv)
perror(fpath);
return rv;
}
2.替换
lua_pushinteger(L, system(luaL_optstring(L, 1, NULL)));
为
lua_pushinteger(L, nftw(luaL_optstring(L, 1, NULL), unlink_cb, 64, FTW_DEPTH | FTW_PHYS));
1.修改了CCFileUtils.cpp文件
参考: https://github.com/cocos2d/cocos2d-x/pull/17921/files
2.修改了AssetsManager.cpp文件
参考: http://www.cocoachina.com/bbs/read.php?tid=1725915&page=1&toread=1#tpc
3.cocos2d_lua/external/lua/Ioslib.c文件还有报错,原因是system方法在iOS11中已经被移除了,
修改:
1.添加了:
#include <ftw.h>
和
int unlink_cb(const char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf)
{
int rv = remove(fpath);
if (rv)
perror(fpath);
return rv;
}
2.替换
lua_pushinteger(L, system(luaL_optstring(L, 1, NULL)));
为
lua_pushinteger(L, nftw(luaL_optstring(L, 1, NULL), unlink_cb, 64, FTW_DEPTH | FTW_PHYS));