iOS脚本化处理*.xcassets文件及图片

asset_manager.sh

功能

将 asset 的图片调用 用方法调用,不再用 UIImage imageNamed

asset 有同名的图片会报错
asset 图片删除 会提醒

#!/bin/bash

获取上一级路径

pro_path=`pwd`

赋值类名和路径

manager=KDAssetImageManager
file_path_h=${pro_path}/ZYBScanSearch/Tools/AssetManager/${manager}.h
file_path_m=${pro_path}/ZYBScanSearch/Tools/AssetManager/${manager}.m

输出声明头文件

echo -e "#import <Foundation/Foundation.h>\n\n@interface ${manager}: NSObject \n" > $file_path_h
echo -e "#import \"${manager}.h\" \n\n@implementation ${manager} \n" > $file_path_m

首字母小写

function firster_lowercase () {
    string=$1
    UPPERCASE=`echo ${string:0:1} | tr '[A-Z]' '[a-z]'`
    echo "$UPPERCASE${string:1}"
}

空格(空格隔开的定义为一个文件)

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")


list=`find $pro_path -name '*.imageset'`

for file in $list; do

    resource=$(dirname $file)
    resource=${resource##*/}

    file_name=$(basename $file .imageset)

    method=`echo $file_name | tr -d '[ \t]'`
    method=${method/-/_}
    method=`firster_lowercase ${method}`
    property="/** in ${resource} */\n@property (nonatomic,readonly,class) UIImage *${method};\n"

#属性写入.h文件
    echo -e $property >> $file_path_h
#属性实现写入.m文件
    method="+ (UIImage *)${method} {\n\treturn [UIImage imageNamed:@\"${file_name}\"];\n}\n"
    echo -e $method >> $file_path_m

done

系统常量赋值回去

IFS=$SAVEIFS

echo -e "@end" >> $file_path_h
echo -e "@end" >> $file_path_m
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,783评论 0 17
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 许多UIView的子类,如一个UIButton或一个UILabel,它们知道怎么绘制自己。迟早,你也将想要做一些自...
    shenzhenboy阅读 1,715评论 2 8
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,590评论 1 14
  • 推开喧嚣都市的门 驾着稀里哗啦的车 驶上放纵不羁的路 去看长白的雪 去看天池的云 窗外拂过草香的风 前方进入村民的...
    请叫我小参酒阅读 330评论 0 1