Xcode 15.0.1升级后AAChartKit出现@available存储属性报错
解决Xcode 15.0.1中AAChartKit-Swift的
@available属性报错问题 问题背景
项目从Xcode 14.3.1升级到15.0.1后,设置iOS目标版本为13.0或14.0时,AAChartModel.swift第504行抛出错误:Stored properties cannot be marked unavailable with '@available'。已尝试升级AAChartKit至最新版本、排查依赖项,但问题仍未解决,本质是Xcode 15.0.1(对应Swift 5.9)对@available属性的使用规则更严格,与旧版AAChartKit-Swift的写法不兼容。
解决方案
直接修改AAChartKit-Swift库中的报错代码:
- 定位到AAChartModel.swift第504行的存储属性,该属性大概率使用了
@available(*, unavailable)标记 - 根据实际需求选择以下处理方式:
- 删除无效属性:如果该属性已被废弃且无实际使用场景,直接删除整行代码
- 替换为计算属性:若需要保留属性标记但避免存储属性的限制,改为计算属性形式:
@available(*, unavailable) var problematicProperty: YourType { fatalError("This property is unavailable") } - 调整版本适配规则:如果属性仅需在特定iOS版本以上可用,修改
@available的版本条件,例如:
同时在低版本系统中提供替代实现或调用逻辑@available(iOS 15.0, *) var problematicProperty: YourType
原因说明
Swift 5.9(随Xcode 15发布)明确禁止对存储属性使用@available(*, unavailable)标记,而Xcode 14.3.1对应的Swift版本未严格校验此规则,导致旧版库的写法在升级Xcode后触发错误。
内容的提问来源于stack exchange,提问作者Gizem Turker
相关产品推荐
相关产品推荐

