Opracowałem aplikację phonegap, która działa absolutnie dobrze na iPhonie. Teraz chcę przesłać aplikację do sklepu z aplikacjami. Oto procedura, którą wykonuję, aby przesłać moją aplikację:
- Otwórz Xcode i zarchiwizuj projekt
- Kliknij na walidację (co się powiedzie)
- Kliknij Prześlij do Appstore (gdzie pojawia się następujący błąd)
Do wczorajszej nocy nawet nie otrzymywałem tego błędu, a dziś rano archiwizuję projekt i otrzymuję ten błąd. Nie wiem, na czym polega problem.
To jest ostatni etap, który powstrzymuje mnie przed przesłaniem aplikacji i jest bardzo frustrujący, próbowałem wyszukać ten sam kod błędu na forum stackoverflow i nie mogłem znaleźć ani jednego posta, który ma dokładnie ten sam kod błędu co mój, co jest bardzo dziwne.
Proszę pomóż :)
ios
xcode
appstore-approval
Nikhil Rao
źródło
źródło
Odpowiedzi:
Miałem ten sam problem, okazuje się, że jedna z moich bibliotek zainstalowanych przez bower zawiera
.sh
plik, który nie jest potrzebny. Właśnie usunąłem plik i wszystko zostało pomyślnie przesłane.Wygląda na to, że Apple wymusza teraz na programistach
.sh
podpisywanie plików w swoich aplikacjach. Ponieważ aplikacja Cordova / Phonegap nie potrzebuje żadnego z nich, możesz je bezpiecznie usunąć.źródło
Zdarzyło mi się to po aktualizacji do najnowszego Xcode (6.3.1). To nie tylko pliki .sh, ponieważ otrzymywałem te błędy dotyczące skryptów węzłów. Wygląda na to, że KAŻDY plik zaczynający się od #! / Usr / bin / env spowoduje te błędy. Udało mi się spowodować dowolne błędy, dodając #! do losowego pliku.
Tymczasowe usunięcie dyrektywy #! / Usr / bin / env z góry plików będzie działać, ale będziesz potrzebować lepszego długoterminowego rozwiązania :)
Będziesz musiał to naprawić, zajmując się każdym plikiem skryptu indywidualnie, aby sprawdzić, co ma sens w Twoim projekcie.
Jak wspomniano powyżej, może to być tymczasowy problem po stronie Apple, niekoniecznie związany z wersją Xcode.
źródło
EDYCJA: udało mi się uniknąć tego błędu, usuwając pliki .sh moich projektów z mojego celu .
Jak dotąd powiedziałbym, że to błąd po stronie Apple.
Wczoraj przesłałem aplikację bez żadnego problemu, dziś odrzuciłem, aby przesłać nieco zmieniony plik binarny, ale teraz, podobnie jak Ty, napotykam ten sam błąd. Myślałem, że jest to związane,
Xcode6.3.1
ponieważ zainstalowałem go dziś rano, więc zainstalowałemXcode 6.3.0
ponownie, ale błąd pozostał. Następnie wszystko dokładnie sprawdzam:Ale jak dotąd bez sukcesu.
Fakt, że wyszukiwarka Google „itms-90035” zwraca tylko 1 wynik, sprawia, że myślę, że może to być jakiś tymczasowy incydent.
źródło
Jak powiedzieli inni, problem wydaje się być spowodowany dołączeniem plików o nazwie „upload-dsym.sh” do pakietu aplikacji. Oto kroki, które podjąłem, aby ominąć ten błąd: Poszedłem do ustawień projektu w Xcode i wybrałem ikonę aplikacji „Cel”. Wybrano zakładkę Fazy budowy. Kliknięto „Kopiuj zasoby paczki”. Szukał kopiowanego pliku o nazwie „upload-dsym.sh”. Usunąłem ten plik, a następnie przesyłanie poszło dobrze.
źródło
buildtime.sh
wyprodukowane przez środowisko Worklight. Ponieważ jest to do tej pory stosunkowo „nowy” problem, wygląda na to, że Apple rzeczywiście coś zmieniło w procesieMa to coś wspólnego z włączeniem
.sh files
, nie jest to naprawdę oczywiste.W naszym przypadku była to biblioteka AudioKit. README mówi:
Czasami nie widzisz ich bezpośrednio u celu
build phases
. Niektóre biblioteki innych firm mogą powodować ten błąd, ponieważ również sobie z nimi radzą.sh files
.Sprawdź pliki bibliotek / podów innych firm,
README
aby uzyskać więcej informacji.źródło
W moim przypadku pojawił się ten błąd, ponieważ nazwa wyświetlana aplikacji zawierała znak specjalny. Nie rozumiem, dlaczego nie można wygenerować odpowiednich komunikatów o błędach.
źródło
Mam ten sam problem. Następnie usuwam plik .sh. I ponownie przesyłam moją aplikację. Odnoszący sukcesy!
źródło
Ten problem został rozwiązany w CrittercismSDK CocoaPods 5.2.0: https://github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json
Możesz zaktualizować do sdk 5.2.0 lub usunąć plik i usunąć następujące wiersze z pliku Pods-resources.sh:
if [[ "$CONFIGURATION" == "Debug" ]]; then install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" fi
Dzięki
źródło
Mieliśmy dzisiaj bardzo podobny problem i rozwiązaliśmy go.
Używamy Jenkins-CI do procesu kompilacji wraz z wtyczką xcode. Kiedy przejrzałem dziennik kompilacji Jenkinsa, znalazłem ten komunikat o błędzie:
file added: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/MyNiftyApp.app file modified: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/Assets.car ] Codesign check fails : /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app: a sealed resource is missing or invalid
Po wyszukaniu tego Assets.car znalazłem ten post: https://issues.jenkins-ci.org/browse/JENKINS-21253 Użytkownik miał podobny problem, mógł go rozwiązać dezaktywując następującą opcję wtyczki "XCode -> Ogólne Ustawienia kompilacji -> Wygeneruj archiwum? ”(Wcześniej było prawdą, teraz jest fałszem).
Przynajmniej to rozwiązało problem po naszej stronie - może poprowadzi cię we właściwym kierunku.
źródło
Rozwiązałem ten problem, po prostu usuwając „binarne” pliki w błędzie.
Dla Ciebie jego www / js / release.sh.
Dla mnie były to dwa redundantne pliki bower, plik .sh i plik .js, który znajdował się w folderze "bin" (może dlatego uważał, że to plik binarny?).
Na marginesie, wydaje się, że nadal można kontynuować proces przesyłania, klikając po prostu Wyślij po wyświetleniu błędów w module ładującym aplikacje.
źródło
Otrzymałem ten sam błąd, gdy próbowałem przesłać moją aplikację za pomocą ApplicationLoader 3.0. Aktualizacja do ApplicationLoader 3.1 (tj. Najnowszej) rozwiązała problem.
źródło
3.1 (670)
i nadal mam problem.W katalogu platform uruchom:
grep -r '#!/usr/' *
Spowoduje to wyświetlenie wszystkich plików, które można wykonać. Zwykle obejmuje to pliki .sh i node.
Z wyników znajdź pliki, które znajdują się w folderze twojego projektu (np. Mój folder projektu to platformy / ios / www / *) i usuń je, pozostawiając resztę.
źródło
Miałem dokładnie ten sam problem. Pisałem błąd w pliku myApp.app/myApp Decyzja: poszukaj plików, które zaczynają się od znaków specjalnych lub znaków innych niż angielski. Znalazłem, usunąłem i wszystko działało!
źródło
Miałem ten sam problem, używając Xcode 6.3.1 i 6.4 beta. Mój powiedział, że to mój plik main.o. Zajrzałem do zasobów paczki kopii iz jakiegoś powodu znajdował się tam główny plik mojego projektu. Usunąłem go i zarchiwizowałem ponownie, aby wysłać go do itunes connect w celu przetestowania i przesłanie dobrze. Zajęło mi 3 godziny, zanim zrozumiałem, że to ten głupi plik. Strona główna to pomaga. Wygląda na to, że musisz naprawdę zwracać uwagę na to, co wysyłasz w tym „Skopiuj zasoby paczki” w fazach kompilacji. Jakikolwiek plik mówi ci o problemie, usuń go z tego obszaru i spróbuj.
źródło
W moim przypadku wystąpił błąd podczas przesyłania ponownie podpisanego pliku ipa. Okazało się, że przyjrzałem się pakietowi aplikacji w Finderze i utworzył on plik .DS_Store (było to po ponownym podpisaniu
codesign
, który zgłosiłby skargę, gdyby plik był obecny w momencie podpisywania).Po usunięciu pliku .DS_Store przesyłanie powiodło się.
źródło
Uruchom następujące polecenie (w systemie Mac):
codesign --verify -vvvv <your_application>.app
próba:
codesign --verify -vvvv project.app project.app: a sealed resource is missing or invalid file missing: /Users/iHTCboy/workspace/Payload/project.app/.DS_Store
Wygląda na to, że w zasobach mojej aplikacji znajduje się ukryty plik .DS_Store. Poszukaj go i usuń, a następnie spróbuj ponownie.
to jest praca dla mnie
źródło