Xcode 升级后编译以前的项目报错问题
背景
某天我发神经升级了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://net2asp.com/23627d0bb0.html
