背景
某天我发神经升级了Xcode,然后编译以前的Objective-C项目时出现以下错误:
clang: error: SDK does not contain ‘libarclite’ at the path ‘/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a’; try increasing the minimum deployment target

分析原因
错误信息里面有是因为找不到 libarclite_macosx.a 这个文件,在网上搜了一些,使用为Xcode升级后编译的项目不再兼容更老的系统版本,所以这个文件被删了。
解决方法
解决方法有两种,一是在就版本的Xcode对应目录下找到 libarclite_macosx.a 文件放到新版本的错误提示目录下,二是把项目最低支持的系统版本设置高一点。
推荐第一种方法,如果公司要求兼容更老的系统版本也只能选第一种。
有些人可能找不到旧版本的文件,下面链接是在旧版Xcode找到的文件(下载解压按照下面方法操作)
https://download.youkuaiyun.com/download/yoyo_u/88560495
解决方法一
1.根据错误的提示路径,在公司其它旧版本Xcode找到 arc 文件夹

里面有一些文件,其中包括 libarclite_macosx.a 文件。
2.拷贝整个 arc 目录到新Xcode对应目录下
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/
使用在访达按下 command+shirft+G 快捷键,输入上面的地址(一般情况下是的,需要根据你的报错提示路径看看),进入到对应目录,然后把 arc 文件夹放到这个目录下。

再次编译就可以了
解决方法二
在项目的 TARGETS 找到设置最小兼容系统版本的地方

选择下拉框里的系统版本都是支持的,我这10.10是更老的版本,不支持,你们可以选择一个下拉框里的。
可能还会遇到的其它问题
不能运行,出现
A build only device cannot be used to run this target.

解决方法
1.在Xcode上面选择 Product -> Destination -> Destination Architectures -> Show Both

2.还是刚刚那个位置,会出现一个电脑的图标,选择就电脑图标的选项


文章讲述了在升级Xcode后,遇到因找不到libarclite_macosx.a文件导致编译错误的情况。解决方法包括将旧版本文件复制到新Xcode目录或提升项目最低支持系统版本。还提及了针对其他问题,如设备运行限制的处理方法。
2万+

被折叠的 条评论
为什么被折叠?



