cocos xcode9 system 废除 xcode9 'system' is unavailable: not available on iOS

http://www.cocoachina.com/bbs/read.php?tid=1725915&page=1&toread=1#tpc

http://www.cocoachina.com/bbs/read.php?tid-1721617-page-e-fpage-1.html

修改添加代码:




namespace
{
#if (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)
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;
}
#endif
}




nftw(_storagePath.c_str(), unlink_cb, 64, FTW_DEPTH | FTW_PHYS);

[ 此帖被creas_tall在2017-09-20 17:02重新编辑 ]

 

图片:bbbbbbbbbbbbbbbbb.jpg 
cocos xcode9 system 废除 xcode9 'system' is unavailable: not available on iOS

图片:aaaaaaaaaaaaaaa.jpg 
cocos xcode9 system 废除 xcode9 'system' is unavailable: not available on iOS

 

 

一个cocos2d-x 3.3的项目,使用Xcode8.3.2正常编译。

但是连接Xcode9 beta编译时报错:call to unavailable function system not available on iOS



原因是iOS11已经将system删除,需要将报错的代码AssetsManager.cpp的第683行system(command.c_str()); 

修改为:popen(command.c_str(), "r");



这样项目就可以正常编译了。

Cocos2dx官网尚未给出解决方案,目前这个解决方案暂时还没发现问题。