前言
在多人配合的较大的项目中都会遇到git冲突的情况,最令人抓狂的是project.pbxproj动不动就冲突,或则每个人电脑上各个文件夹及文件的排序不一致,极大影响效率和心情,xUnique 的出现解决了大部分的这种情况
xUnique
GitHub地址:https://github.com/truebit/xUnique
原理:
xUnique 将 project 文件转换为 JSON 格式, 然后将文件的引用改为通过路径形式引用。 随后, xUnique 会对每个文件的路径进行 MD5 加密, 并用他们替换原来 XCode 生成的那些 16进制 UUID。 因为是采用文件路径加上 MD5 的方式, 就可以保证在不同设备上生成的内容是一样的了。
一、安装XUnique
1、由于是Python脚本,需要电脑先安装好Python,Mac系统自带Python2,Python3需要自己安装,如果使用Python2,这个一步可以忽略
Mac 上安装python3——手把手教程
2、如果使用pip的方式安装xUnique,需要先安装pip,如果使用直接下载源码的方式,这一步可以省略
curl https://bootstrap.pypa.io/get-pip.py | python3
安装好后的效果
截屏2021-09-26 02.01.35.png
3、使用pip安装xUnique
pip install xUnique
截屏2021-09-26 02.02.01.png
查看是否安装成功
~ $ which xunique
/usr/local/bin/xunique
有人安装的位置不对,导致在项目里运行有问题,比如错误的情况:
which xunique
/Library/Frameworks/Python.framework/Versions/3.10/bin/xunique
也可能使用pip3安装后,安装的位置:/Users/xxx/Library/Python/3.8/bin/xunique
如果遇到这种情况,设置下link文件就好了
ln -s /Library/Frameworks/Python.framework/Versions/3.10/bin/xunique /usr/local/bin/xunique
二、在项目里配置使用XUnique
在项目里配置使用有多种方式
例子:TestXUnique
项目结构
截屏2021-09-26 02.20.25.png
方式一:手动运行命令
xunique "${PROJECT_FILE_PATH}/project.pbxproj"
执行完的结果:
截屏2021-09-26 02.23.41.png
方式二:在xcode项目的scheme里配置postaction,这样每次run或build时就会立即执行
配置流程:
选中项目->Product->Secheme->Edit Scheme->Build(展开)->Post-action->+->New Run Script Action->Provide build settings from(选中对应的target) ->设置脚本->close
千万不要忘了:Provide build settings from(选中对应的target)
xunique "${PROJECT_FILE_PATH}/project.pbxproj"
配置步骤截图如下:
截屏2021-09-26 02.25.44.png 截屏2021-09-26 02.26.05.png 截屏2021-09-26 02.27.10.png
点击build或run后,就会自动执行脚本,执行前后能明显看到文件夹排序依据变化,说明依据生效
截屏2021-09-26 02.38.12.png 截屏2021-09-26 02.39.42.png
查看生效方式二:点击source controll -> commit -> project.pbxproj
截屏2021-09-26 02.49.11.png 截屏2021-09-26 02.45.52.png问题:如果使用xunique后没有target
在提交git文件时,尽量不要提交xunique自动生成的xxx.xcodeproj/xcshareddata/xcschemes/xxx.xcscheme文件,可以设置成忽略文件
如果项目以及提交了xxx.xcscheme导致切换到其他分支后,xcode打开项目没有target的问题时,如下处理
Xcode顶部的 Product->Scheme->New Scheme->选中对应的Target-> OK
网友评论