Swift类的Swift类扩展和类别不允许有+ load方法

问题描述 投票:18回答:5

我更新了Xcode版本10.2(10E125)并在设备上进行测试(不仅仅是模拟器)

我在执行应用程序时收到此消息:

objc [3297]:Swift类的Swift类扩展和类别不允许有+ load方法

  • 它只是不适用于iOS 12.2的设备。我想知道是否有任何更新影响了swift类。到目前为止,在其他论坛中没有回答这个问题只是看到苹果在生产中也存在其他应用程序的一些问题。

- 我正在使用快速类的扩展,但我认为这不是问题

  • 使用Cocoapods和Firebase依赖项。
  • 我在我的项目中搜索了任何可能包含“加载”功能的函数,没有找到。

请帮忙

swift ios12 xcode10.2
5个回答
4
投票

只是为React Native项目添加一个解决方案。

出现此问题的原因是我们的一个自定义反应本机模块使用RCT_EXPORT_MODULE()宏调用init函数,我们还包括快速代码。反应本机版本0.59.3,有一个新的宏RCT_EXPORT_MODULE_NO_LOAD(js_name, objc_name),它避免了对init的调用。用RCT_EXPORT_MODULE()替换RCT_EXPORT_MODULE_NO_LOAD(js_name, objc_name)并更新以反应原生版本0.59.3解决了这个问题。


3
投票

在我的例子中,只有一个具有+ load方法的依赖项是RxAtomic。顺便说一句,这是唯一一个没有更新到当前时刻的快速5.0。所以我想这个由RxSwift引起的bug。我也有Swinjects依赖项,但更新了所有支持swift 5的最新版本 - 它没有帮助。

编辑

我只是打开Pods项目文件。选择RxAtomic Target。并将用户定义的属性“SWIFT_VERSION”从5.0更改为4.2。它的工作原理!


3
投票

目前,我找到的唯一解决方案是:

完成后,重建您的项目,它可以在任何设备上正常工作。

我认为问题与Swift 5有关。我们可能需要做的是将所有依赖项更新为Swift 5.目前我没有时间这样做。

如果有人找到任何其他解决方案,请告诉我。

谢谢。


0
投票

升级到react-native版本^0.59.5

没有RCT_EXPORT_MODULE_NO_LOAD解决了它,

更新react-native版本,

rm -rf node_modules yarn add react-native@^0.59.5

所以这将使用新版本更新其他依赖包


-1
投票

•降级到Xcode 10.0解决了我的问题。你可以在More Downloads for Apple Developers下载它

© www.soinside.com 2019 - 2024. All rights reserved.