升级Xcode12.3报错(Building for iOS Simulator, but the linked and embedded framework ‘***‘ was built ...)

今天计划将已有的项目由Xcode12.0.1升级到Xcode12.3,本以为只会报一些Swift编译的framework的Swift版本不兼容的错误,没想到结果出乎意料。

1. 项目支持的最低系统版本有所变更

Mobile项目iOS版本要求iOS12,如果是TV项目,则要求最低tvOS12. 对于一些iOS12或者tvOS12以下的API基本上就废除了。

2. Xcode12.3报错

错误提示大概为:“Building for iOS Simulator, but the linked and embedded framework '***' was built for iOS + tvOS Simulator”。

这种错误提示还是第一次见,外网搜索了一番,最终通过修改项目配置里面的Validate WorkspaceYes后,重新编译则报错消失。

升级Xcode12.3报错(Building for iOS Simulator, but the linked and embedded framework ‘***‘ was built ...)_第1张图片

但是编译通过后,我又改回了NO,再编译时,也不会报错了,很神奇。

随后找了一下Validate Workspace的配置说明:

If enabled, perform validation checks on the workspace configuration as part of the build process.

如果开启了(设置为Yes),那么在构建版本的过程中将对工作区配置进行验证检查。

文章链接为https://xcodebuildsettings.com/,这里还有很多配置说明,可以查阅。

3. Swift版本的Framework引入报错

这个问题在我们的项目里是老生常谈了,项目里面引入了公司自己的用Swift写的Framework,每次Xcode升级,都会报Swift版本不兼容的错误,目前的解决方式就是用最新的Xcode重新打包Framework。

如果哪位朋友有更好的解决方法,还请告知,谢谢!

 

本篇文章出自https://blog.csdn.net/guoyongming925的博客,如需转载,请标明出处。

你可能感兴趣的:(iOS开发异常处理,ios,tvos,swift,xcode)