zoukankan      html  css  js  c++  java
  • (转载)让XCode运行时自动更新资源

    转自http://goldlion.blog.51cto.com/4127613/1351616

    用过XCode的人都知道,XCode有一个臭名昭著的bug——除非你修改了源代码造成了重新编译,否则游戏包中的资源经常无法刷新。不管怎么运行资源都是旧的。

    关于这个问题,业内有几位同行已经详细探讨过了。有几种解决方法,其中一种方法是,在运行时强制把资源删除,这样XCode会重新导入新的资源。要做到这一点就是写一个脚本,让这个脚本在XCode运行时自动执行。

    _TARGET_BUILD_CONTENTS_PATH=$TARGET_BUILD_DIR/$CONTENTS_FOLDER_PATH
    echo _TARGET_BUILD_CONTENTS_PATH: $_TARGET_BUILD_CONTENTS_PATH
    echo PWD: $PWD
    echo Cleaning $_TARGET_BUILD_CONTENTS_PATH/
    #函数作用:刷新资源文件夹,解决xcode不能刷新资源文件夹的bug
    #参数1:传入要操作的文件夹
    function operation_folder()
    {
        rm -fr $_TARGET_BUILD_CONTENTS_PATH/$1/*
        mkdir -p $_TARGET_BUILD_CONTENTS_PATH/$1/
                                                                                                                                                              
        #判断文件夹不为空,才进行复制,防止cp命令报错
        DIRECTORY=$PWD/../Resources/$1/
        if [ "`ls $DIRECTORY`" != "" ]; then
         cp -RLp $DIRECTORY/* $_TARGET_BUILD_CONTENTS_PATH/$1/
         echo operation_folder:$1 completed!
        fi
    }

    调用的时候,在这段代码后面接着写,函数直接后面加参数就行,比如你的Resources下面有若干子文件夹,pic,ui,sound等。如下方式调用:

    operation_folder sound;
    operation_folder ttf;
    operation_folder script;
    operation_folder data;
    operation_folder pic;
    operation_folder ui;

    然后把这个脚本加载到项目的Build Phases中。XCode每次run都会运行这个脚本

  • 相关阅读:
    JS----事件
    JS----计时器
    JS----文档对象模型
    JS----基本数据类型
    JS----函数
    JS----数组
    JS----正则表达式
    CSS----盒子模型与浮动
    Web-9月13日随笔
    Web-9月14日随笔
  • 原文地址:https://www.cnblogs.com/mrblue/p/3678402.html
Copyright © 2011-2022 走看看