Xcode 12编译老项目若干问题

最近尝试升级了xcode12,在编译原来的项目时,遇到几个问题,在网上搜了不少解决方法,没能解决问题,可能是问题的场景和上下文不一样吧。最后自己摸索着解决了。记录如下:

一、Failed to attach to IBAgent-iOS with error: Encountered an error communicating with IBAgent-iOS

具体报错如下:
问题一

解决方法:

Mac上安装了两个版本的Xcode,一个Xcode12,一个是原来的Xcode11。在编译之前需要对Command Line Tools进行切换。使用如下命令行进行切换。

 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

或者通过界面操作:Xcode—>Preference—>Locations—>Command Line Tools进行切换,如下图所示:
Command Line Tools切换

然后,清除一下原来项目的DerivedData缓存。还是上图,点击Derived Data后面的小箭头,进入到目录下,删除里面所有的文件,然后进行编译。

二、xxx not found for architecture arm64

具体报错如下:
问题二

解决方法:

原来项目中,build settings中,valid architecture 这个选项,填的是armv7s和arm64,不是standard。升级到Xcode 12之后,没有了valid architecture这个选项。
valid architecture

需要将老项目中valid architecture 这个选项的值改为$(ARCHS_STANDARD)或者在Xcode 12上,在build settings—>Excluded Architetures中将当前报错的架构添加进去。
Excluded Architetures

三、The file "xxx" could not be opened because you do not have permission to view it

项目编译成功了,但是安装不了,提示没有权限。
安装报错

报错详情如下:
报错详情

解决方法:

Xcode12支持的最低版本是iOS 9,需要将原来项目中最低支持的iOS 8改成iOS 9。
修改版本号

你可能感兴趣的:(Xcode 12编译老项目若干问题)