美文网首页
iOS脚本化处理*.xcassets文件及图片

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

作者: 茗涙 | 来源:发表于2019-03-18 17:48 被阅读0次

    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
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/evdbmqtx.html