Uwielbiam React Native, przeważnie. Używam go od 0.22. Obecnie 0,35.Dlaczego "reaktywny link natywny do jakiegoś natywnego modułu" to loteria?
Ale dlaczego łączenie rodzimych bibliotek działa jak loteria? Rzadko kiedy pracuję nad pierwszym ujęciem, a rzeczy, które pękają, są często zupełnie innymi rzeczami.
Każde uaktualnienie RN to pita. Oto, co zwykle zrobić:
- npm i [email protected]
react-native upgrade
(odpowiedź na każde pytanie tak, aby zastąpić pliki)- wkładać swoje rzeczy w Info.plist (zrobiło zastąpione ..)
- ponowna strąki
- ponownie połączyć wszystkie natywnych modułów
- wstrzymuję oddech i spróbować
react-native run-ios
W większości przypadków powyższe nie działa. Ale działa, gdy kompiluję aplikację z poziomu XCode.
Podróż stąd do pracy run-ios
jest często długa i frustrująca. Obejmuje ona następujące:
- odłączyć wszystkie rodzime moduły z
react-native unlink xyz
- ręcznie usunąć ścieżki wyszukiwania Nagłówek unlink nie usunąć
rm -rf node_modules
yarn
- produkt/wyczyścić od wewnątrz XCode
- strąki instalacyjne
- Łącza rodzimych modułów
Czasami powyższe działa. Głównie to nie działa. Zwykle niektóre natywne moduły pojawiają się w sekcji błędów kompilacji, gdy uruchamiam z wersji react-native run-ios
. Uruchamianie z XCode działa tak jak zwykle.
Rodzime moduły kończące się w sekcji błędów nie są za każdym razem takie same. Mam również niektóre z natywnych modułów "wysyłanych" z błędem RN. (RCTGeolocation, RCTActionSheet, RCTWebSocket)
Następny "poziom" roztworu (gdy nie mogę dostać wyżej) do pracy to:
react-native init nextAppAttempt
- kopia kodu, aktywa, .babelrc, etc do nowego folderu
yarn
- połączyć wszystkie moduły
- zainstalować strąki
Odniosłem pewne sukcesy z powyższym, ale mam pita zmiany nazwy aplikacji na prawdziwe nazwisko i ponowne połączenie z moim repozytorium GitHub.
Oto natywnych modułów, które mam łączące:
react-native link react-native-fs && \
react-native link react-native-camera && \
react-native link react-native-code-push \
react-native link react-native-permissions && \
react-native link react-native-image-resizer && \
react-native link react-native-mixpanel && \
react-native link react-native-maps && \
react-native link react-native-svg &&
co chodzi tutaj?
Czy to działa dla innych?
Czy są błędy w moim procesie? (Mam nadzieję, że tak)
Niezupełnie spokrewniony, ale będę potwierdzać, że zawsze muszę uruchomić 'native-run-ios' native-Reaction wiele razy, zanim zniknie błąd "Brak adresu urny pakietu". – Olivia
Cholera, czy ktoś może mi pokazać trochę światła. naprawdę nieprzyjemne problemy – Martian2049