如何在Interface Builder中手动更新xib自定义视图的CocoaTouch类与工具版本
Xcode批量更新xib工具版本及自定义类关联方法
前置提示
操作前请完整备份项目代码,避免修改出错无法回滚
方法1:使用Xcode自带项目校验功能(推荐,风险最低)
- 打开目标Xcode项目/工作空间,点击顶部菜单栏
File→Project Settings(工作空间则选择Workspace Settings) - 点击面板中的
Validate Project按钮,Xcode会自动扫描所有旧版本工具生成的xib、storyboard文件,生成待更新列表 - 勾选所有xib相关的更新条目,点击
Perform Changes即可完成批量更新,无需逐个打开文件
方法2:命令行批量修改xib元数据(适合自定义程度高的场景)
xib/storyboard本质为XML格式文件,可通过命令行工具批量修改版本字段:
- 首先进入项目根目录,执行命令确认所有待修改的xib/storyboard文件:
find . -name "*.xib" -o -name "*.storyboard" - 批量替换工具版本号,以Xcode 13对应的toolsVersion值
18122为例:find . -name "*.xib" -o -name "*.storyboard" | xargs sed -i '' 's/toolsVersion=".*"/toolsVersion="18122"/g' - 同步更新目标运行时版本:
find . -name "*.xib" -o -name "*.storyboard" | xargs sed -i '' 's/targetRuntime="iOS.CocoaTouch.*"/targetRuntime="iOS.CocoaTouch"/g'
批量更新xib自定义视图的CocoaTouch类关联
如果需要批量修改xib中绑定的自定义类名,可通过修改XML中customClass字段实现,示例如下(将旧类名OldCustomView批量替换为新类名NewCustomView):find . -name "*.xib" | xargs sed -i '' 's/customClass="OldCustomView"/customClass="NewCustomView"/g'
结果验证
操作完成后打开任意xib文件,在右侧「Identity Inspector」面板的Document区域查看Tools Version参数,确认已更新为当前Xcode对应的版本即可。
内容的提问来源于stack exchange,提问作者James Wick
相关产品推荐
相关产品推荐

