问题描述
作为序言,我正在尝试采用 xcframework。我的组织中有一堆模块,它们以二进制形式以 xcframeworks for Xcode 12 的形式分发。
现在使用任何模块的二进制版本都会导致我们崩溃并出现以下错误:
fatal error: use of unimplemented initializer 'init(frame:)' for class
最大的问题是,这是运行时崩溃,并没有在编译时捕获(我认为应该是)。
现在,到目前为止,这些类在 framework
二进制分发版中运行良好。如果我只是使用源代码,这也不是问题。
据我所知,这是 swift 和 objc 之间互操作的错误。我已经探索了一些解决方法。
- 覆盖所有类上的
init(frame:)
:问题在于我们有 1000 多个类,每个类都有自己的一组参数,需要使用默认值进行初始化。绝对不可扩展。以及我如何在将来制作的课程上强制执行此操作? - 创建一个基本视图:在这里我不必初始化所有参数,但问题是,我们有许多不同类型的视图可以有
init(frame:)
,并且必须为所有这些视图创建子类.而且,还必须在所有存在的文件中实现它。
这里有更好的选择吗?还是我坚持使用上述两个选项之一?另外,有没有一种方法可以强制我使用适当的覆盖 init(frame:) 编写视图,或者以某种方式自动添加它们?
感谢您的阅读,如果您能在这方面提供帮助,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)