前段时间被派了一个任务,用自动化脚本的方式修改Xcode工程文件(即project.pbxproj),来实现不同局点的切换。自动化脚本实现局点切换,原先已经实现,但是主要功能还是对工程文件中的配置项(如Bundle identifier,Development Team)作修改,还有一些图片做替换。
图片替换不用说,只是替换相应目录下的图片即可,不涉及工程文件修改。配置项的修改,也比较简单,下面是工程文件中的一些配置项,都是key = value的形式。
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
原先的处理方式是采用通过sed命令来作替换
sed -i "" "s/ONLY_ACTIVE_ARCH = */ONLY_ACTIVE_ARCH = ${value}/g" ${thefile}