解决在Mac上配置cocos2d-x 3.0 xcode5资源无法刷新的问题的方法
解决在Mac上配置cocos2d-x 3.0 xcode5资源无法刷新的问题的方法
首先下载cocos2d-x略过,
然后解压自己选好路径略过,
然后下载python,通过终端(ctrl+space,输入terminal就搜到终端了)进入cocos2d-x的路径,进入tools/project-creator/目录,(有个README文档的,可以看一下),在mac下直接打./create_project.py就出现图形界面,帮你创建工程了
然后找到刚才创建的工程目录,进入proj.ios_mac,里面有工程文件,直接打开可运行,很方便。
关于文件引用不刷新的问题
在工程目录下,有个Resources文件夹,这里面有所有资源。在xcode5里面,能看到Resources文件夹是黄色的,但文件夹里的fonts文件夹是蓝色的。蓝色表示引用(Folder reference),如果你想在Build的app内部仍然保持Resources目录下的组织结构,就请把Resources下的文件夹都用引用方式添加进工程的Resources项。即把文件夹拖到工程里面时选择“Create folder reference ...",否则xcode会在Build时把所有文件夹里的文件全部拷贝到根目录下(给人感觉好二……)
但是引用文件夹有个问题,如果你在外部修改了文件夹里面的文件,比如我创建了一个scripts目录,又在scripts目录下修改了某个脚本,xcode在编译时可能并不会把这个修改体现到生成的app里面去(又是个好二的感觉)。总之这个问题很严重,而且似乎存在很久了,google搜了很久,终于找到的解决方案还是2011年的,现在都2014了居然还有这问题。链接:http://phasiclabs.com/blog/ ,文章里提到的另一个解决方案我也试过,但果然对我无效http://majicjungle.com/blog/123/
解决方案是在BuildPhase添加一条RunScript,这条脚本能在Xcode拷贝Bundle Resources后,手动把Bundle里面的scripts目录清空,再把新文件手动拷过去(关于Bundle,放到下面一段)。
如何添加RunScript:在xcode5顶栏菜单上 Editor-->Add Build Phase-->Add Run Script Build Phase,Xcode就切换到了你的项目属性页--BuildPhase标签上,并增加了一条空的RunScript。
RunScript内容:首先把Shell设置成bin/bash,然后在下面输入脚本内容:
#!/bin/bash
echo "forcing refresh of scripts...";
echo ${CURRENT_ARCH}
echo ${CONFIGURATION}
echo ${BUILT_PRODUCTS_DIR}
echo ${EXECUTABLE_NAME}
if [ -d "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts" ]; then
rm -r ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts;
fi
cp -R -p ${SRCROOT}/../Resources/scripts ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts;
这时候开始编译,可能会报一个脚本运行错误,因为cocos2d-x自动生成的BUILT_PRODUCTS_DIR会带有一个空格,而上述脚本运行时不能识别空格路径。修改方法是,在项目属性页左上角有个小三角,点开后会显示编译目标,默认的编译目标可能有两个mygame IOS和mygame MAC,双击mygame IOS即可改名,去掉空格就行了。
关于编译路径和生成的App在虚拟机上的路径
首先可以在终端上输入defaults write com.apple.finder AppShowAllFiles TRUE,回车,然后输入killall Finder,回车,再打开Finder就能看到所有隐藏文件夹
上面那段脚本也是输出了编译路径,类似于:
/Users/xxxx/Library/Developer/Xcode/DerivedData/mygame-cmjsadueokznwkbcqfbhwktehzif/Build/Products/Debug-iphonesimulator
这里的Library也就是中文的"资源库"目录,可以自己去看看里面生成的文件夹,就是刚才修改过的编译目标的名字
然后app在虚拟机上的路径在/Users/xxxx/Library/Application Support/iPhone Simulator/7.0.3/Applications/xxxxxxxx
找到app后可以右键-->显示包内容,就能查看所有资源,就是说mac和iphone上的app其实都只是打了个包而已,所以才能轻易的把里面的scripts目录清空再拷东西进去。
终了。等到在mac上配置好android环境再记录一下。