2016-10-19 11 views
9

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ć:

  1. npm i [email protected]
  2. react-native upgrade (odpowiedź na każde pytanie tak, aby zastąpić pliki)
  3. wkładać swoje rzeczy w Info.plist (zrobiło zastąpione ..)
  4. ponowna strąki
  5. ponownie połączyć wszystkie natywnych modułów
  6. 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:

  1. odłączyć wszystkie rodzime moduły z react-native unlink xyz
  2. ręcznie usunąć ścieżki wyszukiwania Nagłówek unlink nie usunąć
  3. rm -rf node_modules
  4. yarn
  5. produkt/wyczyścić od wewnątrz XCode
  6. strąki instalacyjne
  7. Łą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:

  1. react-native init nextAppAttempt
  2. kopia kodu, aktywa, .babelrc, etc do nowego folderu
  3. yarn
  4. połączyć wszystkie moduły
  5. 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)

+0

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

+0

Cholera, czy ktoś może mi pokazać trochę światła. naprawdę nieprzyjemne problemy – Martian2049

Odpowiedz

0

Nie miałem żadnego z powyższych problemów w ciągu kilku miesięcy. Przypuszczam, że ma to związek z jedną z ostatnich aktualizacji RN. Dzisiaj zaktualizowałem z 0,45 do 0,47 bez żadnych problemów.

Czy to możliwe, że coś jest naprawione w RN i te problemy zniknęły? Mam nadzieję, że tak.

Powiązane problemy