Nie można ukończyć przesyłania dSYM When migracja tkaniny do bazy ogniowej dla crashlytics


12

Używam xcode11 z systemem Mac OS 10.14.1. Zaimplementowałem migrację tkaniny do bazy ogniowej przy użyciu następujących dokumentów.

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-ios-developer-7b61a8b40008

Wygenerowałem kod do testowania awarii, ale ten raport o awarii nie może pojawić się w konsoli crashlytics firebase. Użyłem następującego dokumentu do tej implementacji

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

Dodałem również następujący skrypt uruchamiania w fazach kompilacji Xcode

„$ {PODS_ROOT} / Fabric / upload-symbols” -gsp „$ {PROJECT_DIR} /GoogleService-Info.plist„ -p ios ”$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}”

Ale to zwróci następujący błąd po uruchomieniu aplikacji.

31merror: Nie można ukończyć przesyłania dSYM pod adresem /Users/macmini1/Library/Developer/Xcode/DerivedData/app_name-dnzsvdsxebmfqjbjecjlyhdzwags/Build/Products/Debug-iphonesimulator/app_name.app.dSYM.err. -domain.process-dsym Code = 3 „Plik nie istnieje już w (null)” UserInfo = {NSLocalizedFailureReason = Plik nie istnieje już w (null)} [0m Komenda PhaseScriptExecution nie powiodła się z niezerowym kodem wyjścia

Czy możesz mi pomóc w rozwiązaniu tego problemu


Nadal masz problem. Firebase o OMG, który zmuszał programistów do przesyłania plików dSYM
— Zubair,

cześć, utknąłem w tej samej sprawie, czy miałeś z tym jakieś szczęście? Odpowiedź od @ weet1988 nie rozwiązała mojego problemu (jest to już ostatni skrypt działający w moim przypadku)
— mikey

1
@mikey Usunąłem skrypt ze skryptu uruchamiania i ponownie dodałem, a także zamknąłem xcode. Następnie spróbowałem uruchomić ponownie. Będzie działać
— IKKA

Mam Crashlytics do pracy bez upload-symbolsskryptu. Właśnie zaktualizowałem strąki do najnowszych dostępnych wersji i upewniłem się, że $ {PODS_ROOT}/Fabric/runbyła to ostatnia uruchomiona. Dziękuję za odpowiedź @IKKA
— Mikey

@ mikey Miałeś na myśli, że używasz tylko $ $ PODS_ROOT} / Fabric / run w runcript; dobrze?
— IKKA

Odpowiedzi:


5

Miałem ten sam problem. Powodem było to, że skrypt „$ {PODS_ROOT} / Fabric / run” nie był ostatnim na liście skryptów w fazach kompilacji. Sprawił, że skrypt trwał i wszystko stało się OK.


2
mój skrypt jest najnowszy, ale wciąż
— pojawia

5

Rozwiązałem, dodając findpolecenie. Dodaj polecenie znajdowania powyżej symboli wysyłania

Przykład:

znajdź „$ {DWARF_DSYM_FOLDER_PATH}„ -name ”* .dSYM” | xargs -I {} $ PODS_ROOT / Fabric / upload-symbols -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios {}

„$ {PODS_ROOT} / Fabric / upload-symbols” -gsp „$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist„ -p ios ”$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}”


Czy musimy przesłać inne pliki .dSYM, które nie są $ {DWARF_DSYM_FILE_NAME}?
— CyberMew

@CyberMew, Nie jest wymagane przesyłanie całego pliku .dSYM. masz rację. Możemy więc znaleźć tylko plik, który musimy przesłać. Zmodyfikowałem swoją odpowiedź.
— Ramesh RC

Uważam, że twoja oryginalna odpowiedź na przesłanie wszystkich plików .dSYM jest poprawna. Sprawdziłem przy wsparciu i wspomnieli, że „Crashlytics będzie wymagał plików symboli z twojej głównej aplikacji wraz z symbolami z dowolnej używanej platformy lub biblioteki.”, Więc w zasadzie tak, wszystkie pliki symboli są wymagane.
— CyberMew

To super fajnie! Gdy przesyłam cały plik .dSYM w celu przetestowania lotu, pojawia się ostrzeżenie „ITMS-90381: Zbyt wiele plików symboli”. Dowolny pomysł?
— Ramesh RC

Przesłać do test flight? Czy zamiast tego masz na myśli Firebase Crashlytics? Nie jestem pewien, ponieważ wcześniej go nie spotkałem, być może możesz wypróbować to rozwiązanie stackoverflow.com/questions/25755240/… , jeśli to nie działa, skontaktuj się z obsługą klienta i daj nam znać, co mówią!
— CyberMew
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.