小编给大家分享一下利用iCloud传动同步Xcode配置的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>前言强>
多年以前一位老程序员告诉笔者代码片段(代码片段)是程序员的财富,他有一个U盘,里面装着他的财富。每当他需要切换电脑写代码的时候,他就会把把精心配置的字体,主题,代码片段等部署到新电脑上,然后开始高速编码。每次看他写代码都是一种享受,不过这是另一个故事了。
<强>需求强>
多年之后,笔者也终于凑够了钱买了自己的Mac,闲暇无事的时候也会写写代码祭奠下逝去的青春。但是某些时候总会觉得很别扭,例如感觉字体和单位的有细小的差距,或者一个代码片段怎么也按不出来,最后发现是没有在这台电脑配置这段代码片段。这种事发生的事情多了之后,就会感觉厌烦,同样的操作为什么得重复两次,三次?或者拿出吃了几年灰的U盘抽插在各地的电脑上人工同步?就不能有什么办法可以一次更改多次应用?笔者稍微一拍脑门,想到了今天的主角——iCloud传动
<强> 1,为什么使用iCloud开车吗? 强>
因为这是苹果本家的网盘,嵌入系统中,只要开启我们就无需关心上传下载,正如OneDrive在Windows一样,我们只需要把文件放进去,他就会自动开始上传,并在你的每一台苹果设备上同步。利用这点我们就能方便的做到在不同的设备上同步Xcode配置文件,无需手动同步或者上传下载。
<强> 2,其他的替代方案强>
GitHub之类的大型同性交友网站
目前想来用git应该更好更方便,不过实现起来有点复杂,有能力的朋友可以自己动手
OneDrive/坚果云等网盘
我觉得能有自带的还是用自带的吧
<强>思路强>
总所周知Xcode的代码片段是保存在~/图书馆/开发/Xcode/用户数据/CodeSnippets路径下的,附近位置还有主题等配置信息。基于笔者的经验我们只需要备份同级目录下的CodeSnippets, FontAndColorThemes和快捷键三个子目录就行了。每当我们修改了代码片段,主题或者快捷键,把对应的文件放在iCloud传动同步,当在其他电脑上时就使用最新的覆盖到对应目录即可。
<强>脚本强>
虽说思路如此,但是笔者肯定不敢把这种三岁小孩子就能分析出来的东西发出来糊弄人,所以为了简化这个繁琐而又机械的操作,笔者编写了这样一个脚本:
# !/usr/bin/env bash set -euo  pipefail # # # # # # # # # # # # # # # # #,variable define # # # # # # # # # # 现在=' date “+ % Y % m % d % H % m % S"” 红色=' tput setaf 1 ' 绿色=' tput setaf 2 ' 黄色=' tput setaf 3 ' 重置=' tput sgr0 ' xcode_dir=?{回家}/图书馆/开发/Xcode/UserData" cloud_backup_dir=?{回家}/图书馆/Mobile 文档/com ~苹果~ CloudDocs/XcodeBackup" local_backup_dir=?{回家}/资源/归档/XcodeBackup" code_snippets=癈odeSnippets" font_and_color_themes=癋ontAndColorThemes" key_bindings=癒eyBindings" # # # # # # # # # # #,MAIN # # # # # # # # # # # # # # # # # # #,check directory 存在 if [!大敌;-d “$ {cloud_backup_dir}“,];然后 ,echo “${红}iCloud 驱动备份路径不存在! ${重置}“; ,mkdir -p “$ {cloud_backup_dir}“; ,echo “${绿}自动创建iCloud 驱动备份路径:${重置}$ {cloud_backup_dir}“; 其他的, ,echo “${绿}iCloud 驱动备份路径:${重置}$ {cloud_backup_dir}“; fi if [!大敌;-d “$ {local_backup_dir}“,];然后 ,echo “${红}本地备份路径不存在! ${重置}“; ,mkdir -p “$ {local_backup_dir}“; ,echo “${绿}自动创建本地备份路径:${重置}$ {local_backup_dir}“; 其他的, ,echo “${绿}本地备份路径:${重置}$ {cloud_backup_dir}“; fi #,zip 文件 cd “$ {xcode_dir}“; zip -r “$ {cloud_backup_dir}/XcodeBackup + ${现在}.zip",“$ {code_snippets}“,“$ {font_and_color_themes}“,“$ {key_bindings},,, zip -r “$ {local_backup_dir}/XcodeBackup + ${现在}.zip",“$ {code_snippets}“,“$ {font_and_color_themes}“,“$ {key_bindings},,, 等待 #,delete unnecessary  backup 文件 num=' ls -l “$ {cloud_backup_dir}“, | grep “^产生绯闻;| wc - l ' if [, $ {num}, -gt 5,),然后 全国矿工工会,num=' expr ${},安康;5 ' ,cd “$ {cloud_backup_dir}“; ,ls -tr “$ {cloud_backup_dir}“, |, head - $ {num}, |, xargs rm fi num=' ls -l “$ {local_backup_dir}“, | grep “^产生绯闻;| wc - l ' if [, $ {num}, -gt 5,),然后 全国矿工工会,num=' expr ${},安康;5 ' ,cd “$ {local_backup_dir}“; ,ls -tr “$ {local_backup_dir}“, |, head - $ {num}, |, xargs rm fi利用iCloud传动同步Xcode配置的案例