确保 Xcode 每次 Build 时都自动更新资源
来源:互联网 发布:linux禁用网卡 编辑:程序博客网 时间:2024/05/21 23:45
用过 Xcode 的都知道,Xcode 有一个非常讨厌的 bug,有时候更新资源后,真机调试发现资源还是旧的,这个时候只能 Clean 以后重新 Build。但这样非常浪费时间,特别是大一点的工程,编译一次就要几分钟。这个时候,程序员说不定就跑 moko.cc 去瞎逛了。。。
为了提高生产力,我们需要一个脚本,在 Xcode Build 的时候强制更新资源。
确定目录结构
先看下图,Xcode 项目里蓝色的文件夹表示其中的文件会直接复制到真机上,并且保持目录结构。所以其中的 data,img,snd.ios 目录有什么内容,在真机上也会有什么内容。
Xcode 在真机调试时,首先进行 Build,生成 .app 文件(实际是一个目录,不过 Finder 里面看着是一个文件),其中就包含了可执行文件和所有资源。然后 Xcode 会将 .app 传输到真机,最后在真机上启动 .app。所以我们的脚本就是在 Build 的时候,确保生成的 .app 里总是包含最新的资源。
这里就需要知道两个路径:原始资源文件所在的路径,以及 .app 中资源文件所在的路径。
第一个路径需要根据 Xcode 项目文件和资源文件的相对位置来确定。
如下图所示,工程文件在项目的 proj.ios 目录中,而资源文件在项目的 res 目录中。那么第一个路径就是 工程文件所在路径/../res/
由于 Xcode 提供了不少环境变量,所以“工程文件所在路径”和“.app 中资源文件所在的路径”都很容易确定,我们直接在脚本中引用即可。
添加脚本
Xcode 允许在 Build 时指定脚本代码,所以我们要修改 Xcode 的工程,加入脚本内容。
操作步骤:
首先在 Xcode 里选中工程,右侧会显示工程的设置界面。
从设置界面选择 Build Phases 标签,然后点击右下角的 Add Build Phases 按钮,并选择“Add Run Script”。
在新出现的 Run Script 栏中输入以下内容:
_TARGET_BUILD_CONTENTS_PATH=$TARGET_BUILD_DIR/$CONTENTS_FOLDER_PATHecho _TARGET_BUILD_CONTENTS_PATH: $_TARGET_BUILD_CONTENTS_PATHecho PWD: $PWDecho Cleaning $_TARGET_BUILD_CONTENTS_PATH/rm -fr $_TARGET_BUILD_CONTENTS_PATH/data/*rm -fr $_TARGET_BUILD_CONTENTS_PATH/img/*rm -fr $_TARGET_BUILD_CONTENTS_PATH/snd.ios/*mkdir -p $_TARGET_BUILD_CONTENTS_PATH/data/mkdir -p $_TARGET_BUILD_CONTENTS_PATH/img/mkdir -p $_TARGET_BUILD_CONTENTS_PATH/snd.ios/cp -RLp $PWD/../res/data/* $_TARGET_BUILD_CONTENTS_PATH/data/cp -RLp $PWD/../res/img/* $_TARGET_BUILD_CONTENTS_PATH/img/cp -RLp $PWD/../res/snd.ios/* $_TARGET_BUILD_CONTENTS_PATH/snd.ios/
- 重要: 拖动 Run Script 栏,将其移动到列表的第二个位置(也就是 Target Dependencies 后面)。最后如下图:
注意事项
- 脚本内容需要根据项目的目录结构、资源目录结构进行调整。
- 偶尔真机调试时,Xcode 会报告资源文件被修改。这时退出 Xcode 重新打开就好了,比重新编译快很多。
- END -
转自:http://cn.quick-x.com/?p=22
- 【IOS】 xcode : 确保 Xcode 每次 Build 时都自动更新资源
- 确保 Xcode 每次 Build 时都自动更新资源
- 确保 Xcode 每次 Build 时都自动更新资源
- 确保 Xcode 每次 Build 时都自动更新资源
- cocos2d-html5里面修改了js之后,真机查看效果时,确保 Xcode 每次 Build 时都自动更新资源
- Xcode build 自动更新资源
- xcode 5 ,每次运行不clean,自动更新资源
- Xcode运行时自动更新资源
- 让XCode运行时自动更新资源
- xcode 自动更新资源
- 让Xcode自动更新Build版本
- 让Xcode自动更新Build版本
- lua cocos2d-x lua中每次Build都不更新Resource下面的文件,怎样使xcode每次Build都更新Resource下的lua文件
- 【cocos2d-x】让XCode运行时自动更新资源【IOS】
- 【cocos2d-x】让XCode运行时自动更新资源【IOS】
- 让XCode运行时自动更新资源(改进版2)
- 让XCode运行时自动更新资源(改进版)
- keil5 点击build 每次都全编译
- 求不超过四位数的反序数
- Redis主从方案
- 前台js调用后台方法
- VO中的一些属性解释
- 怎样查看xp端口占用情况
- 确保 Xcode 每次 Build 时都自动更新资源
- UITextView控件的用法详解
- Apple official examples
- UIViewController的frame改变大小
- php无限极分类整理
- uva 1203 - Argus
- Oracle的XMLTYPE的处理
- tableview分批显示数据
- TableView中图片的延时加载