Ошибка Swift при запуске приложения после обновления до Xcode 10.2 beta 3

После обновления Xcode до 10.2 beta 3 я получаю эту ошибку при запуске приложения, что приведет к сбою (приложение успешно компилируется):

objc [2140]: расширения и категории классов Swift в классах Swift не могут иметь методы + load (lldb).

Вы знаете, с чем это может быть связано?


person blaxckv    schedule 24.02.2019    source источник
comment
Похоже, что проблема не только в вас. github.com/pmusolino/Wormholy/issues/51   -  person SaganRitual    schedule 24.02.2019
comment
1. Быстрый поиск любых имен функций load (или содержащих load в имени) и посмотрите, решит ли проблему переименование. 2. Перечислите свой PodFile / CartFile и выделите фреймворк, вызывающий проблему. 3. Если ничего не получается, создайте минимальный воспроизводимый пример и опубликуйте его на GitHub или BitBucket.   -  person Cœur    schedule 25.02.2019
comment
Тот же результат с новой версией Xcode. Вы нашли способ определить, какие классы или расширения нарушают это новое соглашение? Тот же результат, но без подсказок.   -  person Thomas G.    schedule 29.03.2019
comment
@ThomasG. Вы нашли что-нибудь тем временем?   -  person manmal    schedule 10.04.2019


Ответы (2)


В моем случае это потому, что я добавил модуль, использующий Swift, в мой проект ReactNative. В этой проблеме они обсудили эту ошибку и предложили несколько решений.

Официальное решение - обновить RN до 0.59.3+, но это может слишком сильно повлиять на меня, и я бы не стал этого делать сейчас, поэтому я отредактировал RCTBridgeModule.h в соответствии с этот коммит в качестве обходного пути, и он работает.

person wkm    schedule 08.07.2019
comment
Вау, да, это получилось. Спасибо! - person JeremyF; 16.07.2019

Некоторые из ваших зависимостей могут иметь + load методы. В моем случае это были коконады Firebase и Swinject.

person mbabaev    schedule 02.04.2019