首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:替换SPM包中类的方法

Swift:替换SPM包中类的方法
EN

Stack Overflow用户
提问于 2022-01-28 22:05:08
回答 1查看 196关注 0票数 0

我通过SPM使用开源包,但是我想在这个包中的一个特定func originalMethod()中更改细节。

由于SPM包的代码不可编辑,所以我无法更改代码。我不能用SWIFT5.1 @_dynamicReplacement(for: originalMethod)作为原始方法标记为dynamic的方法。

除了手动将包复制到项目中之外,我还有其他选项吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-28 22:42:28

在评论中提到的备选方案之外:

  • 叉存储库(通过jnpdx)
  • 将框架包装在您自己的框架中(由Rob )

您可以使用C库mach_override覆盖该方法的实现。这是高度不安全的,我不建议将其用于任何生产性应用。

下面是一个代码示例:https://github.com/lombax85/SwiftOverride

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70900797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档