2016-10-17 10 views
6

Otrzymywanie następujących błędów w XCODE 8.0. To działało dobrze z Xcode 7.x, o ile pamiętamy.XCode 8.0, budynek do przesłania w sklepie, błędy

ERROR ITMS-90087: "Unsupported Architectures. The executable for xxx.framework contains unsupported architectures '[x86_64, i386]'." 

Czy to oznacza, że ​​Apple nie jest wystarczająco inteligentny, aby nie uwzględnić plastra symulatora? Musimy dostarczyć SDK, który ma symulator, a nie ma?

ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'XXX' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version." 

Ale używamy najnowszej wersji XCODE 8.0? Co daje tutaj?

ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker." 

Nie jestem pewien co to jest. Wszystko Podpisywanie rzeczy jest ustawione poprawnie we wszystkich kompilacjach. Znowu to działało dobrze wcześniej. Użyliśmy LIPO do stworzenia uniwersaliów. Więc może pozbycie się uniwersaliów to zrobi ???

WARNING ITMS-90080: "The executable 'Payload/mediumSDKSwift.app/Frameworks/VRSDK.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library." 

Wszystkie znalezione przez PIE rzeczy działały, nie zmieniają się itd. Wszystkie są ustawione na NIE dla zależnych od pozycji. Czytałem o tym, a niektóre rozwiązały się, przerzucając bity? Hmmmm .....

Odpowiedz

1

Okazuje się, byliśmy zapewnienie ram Uniwersalny przez pomyłkę. Po rozwiązaniu tego problemu wszystkie błędy zostały rozwiązane.

+1

Gdzie było to "uniwersalne środowisko"? – Sana

+0

@Sana usuwa folder problemów z Build Phases -> Copy Bundle Resources – nb07

3

BŁĄD ITMS-90087 ". Niewspierane architektury wykonywalnego xxx.framework zawiera niewspieranych architektury '[x86_64 i386]'"

To jest known Apple bug.

Twoje inne błędy wynikają z manipulowania już podpisanym produktem, musisz więc ponownie podpisać kod produktu po przecięciu nieobsługiwanych architektur.


Obejście:

Carthage instalator jest wyposażony w poręczny skrypt, którego używam jako łatwego obejścia.

1) Instalacja Carthage

2) Dodaj Budowanie Phase Script

Od Carthage site:

On «Budowa Fazy» Ustawienia zakładki swoje cele wniosku, kliknij ikonę «+» i wybierz "Nowa faza tworzenia skryptu". Utwórz skrypt uruchomiony w którym można określić powłokę (ex: bin/sh), dodaj następującą zawartość do obszaru skryptu poniżej skorupy:

/usr/local/bin/carthage copy-frameworks 

i dodać ścieżkę do ram chcesz używać pod „Pliki wejściowe”, np:

$(SRCROOT)/Carthage/Build/iOS/Box.framework 
$(SRCROOT)/Carthage/Build/iOS/Result.framework 
... 
Powiązane problemy