1

我在框架项目中有一个带有@inlinable init 的类。它编译正常,直到我在 XCode 构建设置中设置 BUILD_LIBRARY_FOR_DISTRIBUTION = YES 以构建 XCFramework。

如果我删除 @inlinable 标记,编译器错误将消失。

在这种情况下有什么方法可以保持 @inlinable 吗?谢谢!

在此处输入图像描述

更新

我发现这篇文章告诉了为什么编译器对@inlinable 不满意这里

另一方面,@inlinable 可能是一个大问题,具体取决于您正在构建的内容。如果 @inlinable 方法的实现发生更改,导入它的模块将无法使用修改,除非它们被重新编译。通常,您可以通过简单地替换二进制文件来更新框架,但由于某些方法的实现被内联,即使您链接到新版本,应用程序仍将继续运行旧行为。因此,启用了库演化设置的应用程序可能会发现自己无法使用 @inlinable,因为这会破坏框架的 ABI 稳定性。

4

0 回答 0