J'ai mis à jour la version 10.2 de Xcode (10E125) et testé sur des appareils (pas seulement un simulateur)
Je reçois ce message lorsque j'exécute l'application:
objc [3297]: Swift extensions et catégories de classe sur Swift ne sont pas autorisées à avoir des méthodes + load)
-J'utilise des extensions de classes Swift mais je ne pense pas que ce soit le problème
Utilisation des dépendances Cocoapods et Firebase.
J'ai recherché dans mon projet toutes les fonctions pouvant contenir des fonctions de "chargement", aucune trouvée.
S'il vous plaît un peu d'aide
Juste pour ajouter une solution pour React Projets natifs.
Ce problème s'est produit car l'un de nos modules natifs de réaction personnalisés utilisait la macro RCT_EXPORT_MODULE()
qui appelle la fonction init
et nous incluions également Swift code. Depuis réagir-natif version 0.59.3, il y a une nouvelle macro RCT_EXPORT_MODULE_NO_LOAD(js_name, objc_name)
qui évite l'appel à init
. Remplacer RCT_EXPORT_MODULE()
par RCT_EXPORT_MODULE_NO_LOAD(js_name, objc_name)
et mettre à jour vers react native version 0.59.3 a résolu le problème.
Dans mon cas, la seule dépendance qui a la méthode + load est RxAtomic. Ce qui, soit dit en passant, est le seul qui n'a pas été mis à jour pour l'instant Swift 5.0. Je suppose donc que ce bogue provoqué par RxSwift. Et j'ai aussi des dépendances Swinjects, mais mises à jour tout aux dernières versions qui prennent en charge Swift 5 - cela n'a pas aidé.
MODIFIER
Je viens d'ouvrir le fichier de projet Pods. Sélectionnez Cible RxAtomic. Et changez la propriété définie par l'utilisateur 'Swift_VERSION' de 5.0 à 4.2. Et il fonctionne!!!
Pour le moment, la solution rapide:
Une fois que vous avez fait cela, reconstruisez votre projet et cela fonctionne très bien sur n'importe quel appareil.
Je pense que le problème est lié à Swift 5. Ce que nous aurions probablement besoin de faire est de mettre à jour toutes les dépendances à Swift 5. Pour le moment je ne ' Je n'ai pas le temps de le faire.
La solution miracle: mettre à jour vos pods et migrer lentement vers Swift5.
Le pod qui posait le plus de problèmes était: Swinject avec SwinjectStoryboard et RxOptional.
mise à niveau vers la version native de react ^0.59.5
résolu sans RCT_EXPORT_MODULE_NO_LOAD
,
pour mettre à jour la version native de react,
rm -rf node_modules
yarn add react-native@^0.59.5
donc cela mettra à jour les autres packages de dépendances avec la nouvelle version
J'ai eu le même problème et je n'ai fait que mettre à jour les pods. Swinject pod posait problème et après la mise à jour vers la dernière version, tout a été résolu. Vous pouvez également essayer d'ajuster Swift version linguistique dans Pods Targets.