2015-09-11 9 views
6

Próbuję zarchiwizować aplikację blokującą treści. Ponieważ API jest dostępny tylko na 64 bitach, dodałem to w info.plist app:Jak przesłać archiwum tylko dla 64-bitowych urządzeń z systemem iOS?

<key>UIRequiredDeviceCapabilities</key> 
<array> 
    <string>arm64</string> 
</array> 

Ta wartość jest tylko w docelowej aplikacji, a nie docelową treść blokerem. Wysyłając mojej aplikacji do App Store, używając Xcode Organizator zwraca komunikat:

ERROR ITMS-90503: "Invalid Bundle. Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice."...

Sprawdziłem w Internecie i błąd ten wygląda na nowy i nieudokumentowana, czy wiesz, co należy zrobić, aby go usunąć?

+0

trzeba podłączyć urządzenie 64 bitowe i zmienić ustawienie na „budowanie aktywnej architekturę tylko” na „Tak”, ale nadal może mieć problem ... Jeśli ustawiasz docelowy iOS na 9, to może działać, ale wcześniejsze cele z pewnością spowodują błąd – Paulw11

Odpowiedz

8

Jak dsiddhpura zasugerował, rozwiązaniem jest sprawdź poprawne architektury w ustawieniach kompilacji. Upewnij się, że wybrano opcję "Wszystkie" w prawym górnym rogu i sprawdź, czy w prawidłowych architekturach jest tylko arm64.

Powinno to wyglądać tak: enter image description here

2

Nie można przesyłać aplikacji do sklepu App Store z tym wymaganiem. Jedynym wymaganiem, jakie możesz mieć, jest najniższy target iOS. Jeśli więc wybierzesz iOS9 (najnowszy), iPhone 4s będzie nadal mógł pobrać twoją aplikację. iPhone 4s działa w architekturze 32-bitowej.

+0

Jeśli usuniemy UIRequiredDeviceCapabilities, zwróci on 'Błąd 90533: Brakująca architektura (...) wymaga wartości UIRequiredDeviceCapabilities z" arm64 ". –

4

Twój plist musi wyglądać tak:

enter image description here

Set Budowanie aktywny tylko Architecture zestaw do Tak. I walidacji budować wygląd produktu podobnego:

enter image description here

+0

Tak było, ale zarchiwizowałem kolejną wersję po dokładnym sprawdzeniu tych dwóch wartości, nadal mam ten sam błąd, co w pytaniu. –

+0

Naprawiłem powyższą odpowiedź, gdy wysyłam aktualizację mojej aplikacji i tę zmianę za pomocą tego samego kodu w nowej wersji xcode. –

+0

Używam Xcode 7 RC, nadal używasz Xcode 6? –

2

Albo można usunąć architektur innych niż „arm64” czy można ograniczyć cel wdrażania do 8,0

+0

Pierwsze rozwiązanie byłoby idealne, jak mogę nakazać Xcode to zrobić? –

+1

Przejdź do Ustawienia konstrukcyjne -> Prawidłowe architektury i usuń pozostałe, zachowując tylko jedno: "arm64" Upewnij się również, że "Architektury" nie powinny być architekturą standardową. Powinienem też mieć tylko "arm64". –

Powiązane problemy