错误信息:
Compiling for iOS 15.0, but module 'WhisperKit' has a minimum deployment target of iOS 16.0: /Users/saamer/Library/Developer/Xcode/DerivedData/BeAwareConf-hbgkemigbbowvzhfaegoplloiayn/Index.noindex/Build/Products/Debug-iphoneos/WhisperKit.swiftmodule/arm64-apple-ios.swiftmodule
我知道这个问题过去已经被问过很多次了,但似乎没有人对此得到很好的答案。所以我会尝试再次问这个问题,以防苹果为这个问题创建一个解决方案。
对于 KhutbahCaptioning,我想为拥有现在 iOS 的用户使用开源“WhisperKit”sdk,并为这些用户提供 iOS 16 或更高版本的新功能。但不希望仍在使用 iOS 15 的用户得不到其他对他们有用的更新。
错误仅在这一行
import WhisperKit
,我知道对于SwiftCharts我能够像这样使用canImport:
#if canImport(Charts)
import Charts
#endif
这很有效,但是当我尝试为 WhisperKit 执行此操作时,我收到了上面的错误。我尝试了过去的类似问题中建议的所有解决方案,但没有一个有效。有人成功了吗?
好吧,我能够构建项目了!不知道未来是否有或者将会有更好的解决方案。
这是一个非常漫长的过程,但我分叉了 WhisperKit 存储库并创建了自己的,并添加了 iOS 15 检查并将版本要求更改为 iOS 15,如您所见在我的提交历史记录中。
问题是它也依赖于另一个存储库,幸运的是它也是开源的。所以我也分叉了它并做了类似的更改,但是我对分叉的更改没有得到反映,我了解到我需要创建一个新版本,这是我通过转到 GitHub 中的存储库 -> 转到代码选项卡 -> 点击标签 -> 发布 -> 起草新版本 -> 选择一个标签 -> 给出更高的数字。
然后在 WhisperKit 代码包解析和 swift 文件中引用这个版本。它成功了,我能够成功构建!在我的代码中,我添加了一项检查以确保 iOS 16 及更高版本的设备使用库代码