背景
某天我发神经升级了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找到的文件(下载解压按照下面方法操作)
arc文件下载地址
https://download.csdn.net/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.还是刚刚那个位置,会出现一个电脑的图标,选择就电脑图标的选项文章来源:https://www.toymoban.com/news/detail-819868.html
文章来源地址https://www.toymoban.com/news/detail-819868.html
到了这里,关于Xcode 升级后编译以前的项目报错问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!