Xcode 未使用正确的 ios SDK 版本编译
Posted
技术标签:
【中文标题】Xcode 未使用正确的 ios SDK 版本编译【英文标题】:Xcode not compiling with the correct ios SDK version 【发布时间】:2021-10-26 08:06:00 【问题描述】:我有一个模拟蓝牙设备的本地 pod。里面有这么一行……
CBATTRequest *request = [CBATTRequest new];
自从升级 xcode 后,构建错误提示 'new' is unavailable
。点击确认,在ios 14.5 SDK中,这个方法(实际上是init
)确实被标记为“不可用”
/*!
* @class CBATTRequest
*
* @discussion Represents a read or write request from a central.
*
*/
NS_CLASS_AVAILABLE(10_9, 6_0)
CB_EXTERN_CLASS @interface CBATTRequest : NSObject
- (instancetype)init NS_UNAVAILABLE;
...不过,我的模拟器设置为 ios 12.4,而 pod 部署目标设置为 12.0。
如前所述,这是在我升级 xcode 之前编译的。 pod 开发小组表示它适用于 ios
那么为什么它现在是针对 14.5 而不是 12.x 编译的呢?如何让它针对 12.x 进行编译?
【问题讨论】:
SDK 由 Xcode 版本设置,而不是设备版本或应用目标。您需要降级您的 Xcode 或查看是否可以从以前的版本中选择 SDK ***.com/questions/54857416/… 【参考方案1】:在Xcode 12.5
init NS_UNAVAILABLE
中自动使new
不可用。
我不知道它是如何与实际不可用的初始化程序一起正常工作的,但现在你必须找到正确的方法来检索对有效 CBATTRequest
对象的引用
【讨论】:
是的,我明白这一切。我的问题是如何针对 在 xcode 12.5 中没有办法使用早期的 ios sdks 吗? @HariHonor 问题出在编译器上,你可以把命令行工具切换到以前的版本吗? 不需要下载xcode 12.4就可以切换吗?以上是关于Xcode 未使用正确的 ios SDK 版本编译的主要内容,如果未能解决你的问题,请参考以下文章