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 文件夹

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.

error

解决方法

1.在Xcode上面选择 Product -> Destination -> Destination Architectures -> Show Both

在这里插入图片描述

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yoyo_u/article/details/134547473