场景:现在使用一个一个workspace管理多个project,主工程MainProject,其他工程projectA。MainProject要使用projectA里JMResource.bundle里的照片。
1.新建shell脚本,授予运行权限
![](https://img.haomeiwen.com/i1742743/423b3af6e7ba6a1b.png)
如上图,新建project.sh
然后,cd到该shell文件目录。终端运行:chmod +x ./project.sh
2.run script
![](https://img.haomeiwen.com/i1742743/9b651f6d528813c8.png)
3.建立bundle
只有macOS下,才有这样的Bundle
![](https://img.haomeiwen.com/i1742743/49ac5d8ed514fb97.png)
建立完bundle后,需要修改Base SDK到iOS。
![](https://img.haomeiwen.com/i1742743/1abf285c49dbf24b.png)
所有照片放到JMResource里。
![](https://img.haomeiwen.com/i1742743/06a49aa47f73b77c.png)
注意所有照片的target menbership都是JMResource.bundle。
![](https://img.haomeiwen.com/i1742743/e983b7d476d4e26f.png)
4.edit scheme
![](https://img.haomeiwen.com/i1742743/b63ade9069e08309.png)
要保证在编译MainProject之前,所有的resource.bundle都已经编译完成。
![](https://img.haomeiwen.com/i1742743/179571ac97e22d3f.png)
5.编写shell脚本
#!/bin/sh
#从某个bundle复制图片到本工程下
copy_resource_from_bundle() {
#bundle文件的路径,$1是方法接收的第一个参数。
RESOURCE_FOLDER_PATH=${CODESIGNING_FOLDER_PATH/${FULL_PRODUCT_NAME}}$1
#遍历bundle文件下所有的文件
for file in $(ls -R ${RESOURCE_FOLDER_PATH})
do
#如果是图片
if [[ ${file} == *'.jpg' || ${file} == *'.jpeg' || ${file} == *'.png' ]]; then
#拷贝到MainProject.app文件里
cp ${RESOURCE_FOLDER_PATH}/${file} ${CODESIGNING_FOLDER_PATH}/${file}
fi
done
}
#调用方法,传递参数:bundle名
copy_resource_from_bundle 'JMResource.bundle'
exit 0
网友评论