Wysłałem wczoraj aplikację do recenzji, bez problemu. Potem zdałem sobie sprawę, że mam bardzo mało do zrobienia (zmiana maksymalnego poziomu powiększenia mapy z 19 na 18, nic więcej), więc usunąłem plik binarny z iTunes Connect i próbowałem przesłać ponownie.
Teraz mam to ostrzeżenie:
Nie rozumiem dlaczego, ponieważ moje architektury to:
- architektury: armv7
- prawidłowe architektury: armv6, armv7, armv7s, arm64
Aplikacja działa dobrze w symulatorze. Jeśli spróbuję użyć standardowych architektur (armv7, arm64) zgodnie z zaleceniami w ostrzeżeniu, aplikacja nie zostanie zbudowana i otrzymam:
- Niezdefiniowane symbole architektury x86_64
- ld: nie znaleziono symboli dla architektury x86_64
Używam lib route-me i ustawiam te same ustawienia architektury.
Odpowiedzi:
Użyj „
Standard architectures
” w ten sposób:lubię to:
źródło
armv7 and arm64
w architekturze. Nadal pojawia się ostrzeżenie o braku obsługi 64-bitowej podczas sprawdzania poprawności aplikacji pod kątem przesłania.Po potwierdzeniu poprawności architektur upewnij się, że urządzenie NIE jest podłączone do komputera podczas ARCHIWIZACJI ostatecznej wersji do przesłania do App Store.
Powodem pojawienia się tego ostrzeżenia jest to, że podłączone URZĄDZENIE prawdopodobnie nie jest zgodne z arm64.
źródło
Build Active Architecture Only
naNo
. Zmusi to xcode do zbudowania 64-bitowego pliku binarnego niezależnie od podłączonego urządzenia.Build Active Architecture
ustawionoNo
. Ustaw program archiwizacjiJak napisał Tony, ważne jest, aby mieć w obu liniach te ustawienia. Ponieważ mój (i oczywiście twój) projekt został utworzony jeszcze przed dodaniem arm64 do standardu, nie jest on odzwierciedlony w „Prawidłowych architekturach”, nawet jeśli jest wyświetlany jako Standard.
Co ja zrobiłem:
Po wyczyszczeniu / kompilacji otrzymuję nawet ostrzeżenia o niewłaściwej konwersji float na CGFloat itp., Więc ustawienia oczywiście zostały zastosowane.
Ostrzeżenie dotyczące weryfikacji również zniknęło!
źródło
Odłącz urządzenie fizyczne od komputera Mac. W XCode na liście urządzeń wybierz Urządzenie iOS i ponownie utwórz archiwum. U mnie to zadziałało.
źródło
Dzisiaj rozwiązuję ten problem, wykonując następujące czynności:
Ustawienia budynku:
Architektury: Standardowe architektury (arm7, arm64) - $ (ARCH_STANDARD)
Prawidłowe architektury: armv7 armv7s arm64
źródło
Po prostu utwórz nowy projekt przy użyciu najnowszej wersji xCode i znajdź ustawienia kompilacji. Nowy projekt utworzony przy użyciu najnowszej wersji ma domyślnie obsługę 64.
źródło
Okej, to było szalone. Próbowałem każdej odpowiedzi. Ale zadziałało tylko wtedy, gdy umieściłem
arm64
przedarmv7
iarmv7s
w Valid Architectures.PS:
xcode version : 7.2
źródło
Rozwiązałem problem, zmieniając,
Architektury: arm7, arm64
Prawidłowa architektura: arm7, arm64
Buduj tylko aktywną architekturę: Tak
źródło
Przesłałem sukces przez config jako obraz:
(Zarchiwizowano na prawdziwym urządzeniu)
źródło
Pozbyłem się każdego ostrzeżenia. Przeszukiwał wszystko w kółko. Znalazłem odpowiedź na jedno słowo powyżej.
„Build Active Architecture Only - NO (szczególnie ... jeśli podłączone urządzenie nie jest zgodne z arm64)”
Mój iPad nie jest 64-bitowy. Wpisz NIE dla budowania aktywnej architektury i moje zgłoszenie zadziałało
źródło
Zmień cel rozwoju systemu iOS na co najmniej 5.1.1 lub alternatywnie usuń ustawienie architektur standardowych i zastosuj je ponownie. Mogłeś zobaczyć ostrzeżenie, że arm64 nie jest kompatybilny z twoim celem kompilacji. Na stronie przeglądu sprawdź zarówno ustawienia kompilacji, jak i celu „celu wdrożenia”. W moim przypadku celem było 6.0, ale projekt to 5.0.
Sprawdź także „Prawidłowe architektury” zarówno w celu, jak i w projekcie. Miałem odpowiednie ustawienia w projekcie, ale nie na celu. Potem zadziałało dla mnie.
Przełączaj się między projektem / celem na stronie przeglądu w lewym górnym rogu pola.
źródło
Sprawdź opcję Build Active Architecture. Ustaw na NIE. Mi to pasuje.
źródło