Xcode低版本运行高版本代码的适配问题

2021-12-06 19:35:21 浏览数 (1)

前言

最近升级到Xcode13后,发现机子发热量过大,卡顿量,于是做好适配iOS15后,再安装Xcode12,把Xcode12作为开发IDE

但适配iOS15后的部分API,只能再Xcode13上运行,Xcode12不认可

解决方法

采用宏【__IPHONE_OS_VERSION_MAX_ALLOWED】来进行管理

例如以下代码是Xcode13的新API:

代码语言:javascript复制
self.tabBar.scrollEdgeAppearance = self.tabBar.standardAppearance;

那么我们就采用以下宏放在Xcode12里面适配,这样这个代码在Xcode13中运行正常,Xcode12就自动适配忽略:

代码语言:javascript复制
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_14_5
        if (@available(iOS 15.0, *)) {
            self.tabBar.scrollEdgeAppearance = self.tabBar.standardAppearance;
        }
#endif

因为【__IPHONE_14_5】是Xcode13后才新增的宏

0 人点赞