您的位置:首页 > 编程语言 > Lua

coocs2dx-lua在XCode开发时lua和资源热更新问题解决办法

2015-05-17 14:36 411 查看
最近由于项目需要发布ios版,所以我转到了mac环境下发布我们的项目。

因为cocos2dx跨平台,所以发布起来倒不是很蛋疼。在开发的过程中发现了一个奇怪的问题,就是每次修改一个lua文件或者资源文件,XCode都必须clean一下再build一下才会生效,然后每次编译的时间都很长,这是比较难以接受的。

于是在网上查了一下发现已经有人提出并解决个问题,之所以会每次都要clean再build的原因是:对于Xcode来说lua本身不是代码而是文本资源,而对于XCode的build 程序来说,每次build资源都是只增式拷贝,所以每次修改资源的时候对于XCode来说都不会被拷贝到编译程序中的。

解决办法是当XCode在build的时候手动拷贝指定资源到编译程序中去。整理下前人方法步骤如下:

1.XCode->项目工程->TARGETS(你的目标项目)->Build Phase

2.Editor -> Add
Build Phase -> Add Run Script Build Phase

3.将下面的shell代码修改下资源目录路径,然后复制粘贴到Run Script下。

#$TARGET_BUILD_DIR:获取工程生成路径,在Build Settings->Build locations中可以修改,一般为/Users/用户名/Library/Developer/Xcode/DerivedData/项目名-cjzvgkxolvdmwncjlzdgoyapfvrp/Build/Products/Debug-iphonesimulator
#$CONTENTS_FOLDER_PATH:项目生成文件,后缀为.app(需要设置显示文件拓展名),一般为工程的TARGETS中生成相应target名.app
#_TARGET_BUILD_CONTENTS_PATH:获取生成文件路径
LuaScripr_Path="../../../src"
Resource_Path="../../../res"
_TARGET_BUILD_CONTENTS_PATH=$TARGET_BUILD_DIR/$CONTENTS_FOLDER_PATH
#clean LuaScripr Directory
rm -fr $_TARGET_BUILD_CONTENTS_PATH/src/*
rm -fr $_TARGET_BUILD_CONTENTS_PATH/src
#copy LuaScripr Directory
mkdir -p $_TARGET_BUILD_CONTENTS_PATH/src/
cp -RLp $PWD/LuaScripr_Path/*  $_TARGET_BUILD_CONTENTS_PATH/src/
#clean Resource Directory
rm -fr $_TARGET_BUILD_CONTENTS_PATH/res/*
rm -fr $_TARGET_BUILD_CONTENTS_PATH/res
#copy Resource Directory
mkdir -p $_TARGET_BUILD_CONTENTS_PATH/res/
cp -RLp  $PWD/Resource_Path/* $_TARGET_BUILD_CONTENTS_PATH/res/


或者:

_TARGET_BUILD_CONTENTS_PATH=$TARGET_BUILD_DIR/$CONTENTS_FOLDER_PATH
echo PWD:$PWD

function copyResource()
{
#clean LuaScripr and Resource Directory
rm -fr $_TARGET_BUILD_CONTENTS_PATH/$1/*
mkdir -p $_TARGET_BUILD_CONTENTS_PATH/$1/

mkdir -p $_TARGET_BUILD_CONTENTS_PATH/$1/
cp -RLp  $PWD/$1/* $_TARGET_BUILD_CONTENTS_PATH/$1/
echo copyResource:$1 completed!
}

copyResource src;
copyResource res;


注意:shall中赋值符号前后不能有空格

参考资料:

XCODE调试时强制更新模拟器上的资源文件

确保 Xcode 每次 Build 时都自动更新资源

XCode ios iphone 变态的资源管理

ps:分享一个好用的软件HoRNDIS:mac系统中共享android共享网络,下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: