2016-06-07 5 views
6

In den Konfigurationen von meinem iOS Build gibt es keine Möglichkeit den Bitcode zu deaktivieren. In Xcode ist es möglich, ENABLE_BITCODE = NOWie kann ich Xamarin davon abhalten, meine App mit aktiviertem Bitcode zu erstellen?

zu setzen. Ich brauche das, weil meine verknüpften Frameworks nicht mit Bitcode erstellt werden und Apple keine Apps mit Halb-Bitcode mehr erlaubt. Bit-Code zu deaktivieren, benutzen also

+0

Ich bin irgendwie im selben Boot sitzen, nur umgekehrt. Meine Bibliothek enthält Bitcode, während mein Hauptprojekt dies nicht tut. Ich habe versucht, die Eigenschaft MtouchEnableBitcoe auf "true" zu setzen, aber "Bitcode wird derzeit auf iOS nicht unterstützt", wie die Fehlermeldung mir sofort sagte. Hoffentlich können wir so schnell wie möglich eine Lösung finden. –

+0

Bitcode wird in Xamarin unterstützt. Vielleicht posten Sie Ihren Fehler/Problem auf Stackoverflow und senden Sie mir den Link;) – Jelle

+0

Mein Thread ist eigentlich hier: http://StackOverflow.com/Questions/37689054/Sudden-error-When-Uploading-Toitunesconnect-ITMs-90635 -invalid-mach-o-format Wenn ich die MtouchEnableBitcode-Eigenschaft auf True Xamarin Studio setzt, sagt mir buchstäblich "Fehler beim Ausführen der Aufgabe Mtouch: Bitcode wird derzeit nicht auf iOS unterstützt" Fehle ich hier etwas? –

Antwort

6

In Ihrem .csproj für iOS-Anwendung, die Suche nach dem PropertyGroup für die Freigabe Konfiguration, die Sie benötigen:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> 

Innerhalb dieser Gruppe sehen, ob ein MtouchEnableBitcode bereits vorhanden ist und bearbeiten, sonst hinzufügen:

<MtouchEnableBitcode>false</MtouchEnableBitcode> 
+0

Aus irgendeinem Grund meine App ist immer noch nicht gültig sagt Apple: 'Fehler ITMS-90668: "Ungültige Bundle ausführbar. Die ausführbare Datei SoToGo.Touch.app/Frameworks/FrameWorkName.framework/FrameWorkName enthält unvollständige Bitcode. Um Binärdateien mit zu kompilieren Bitcode vervollständigen, Xcode öffnen und Archiv im Menü Produkt wählen. "' Wie kann ich Bitcode für eine native Referenz (Framework) deaktivieren? – Jelle

+0

@Jelle Wenn Sie die Bibliothek Ihres Frameworks "otool" haben, wie lautet die Adresse und Größe des llvm-Segments? etwas wie: 'otool -arch arm64 FrameWorkName.framework/FrameWorkName | grep __bitcode -A 3' – SushiHangover

+0

Ich vermisse ein Argument für das otool: eines von -fahlLtdoOrTMRIHCGScisP oder --version muss angegeben werden – Jelle

1

ich bin in der Lage, die Anwendung mit Bitcode durch Zugabe von folgenden Zeilen in das iOS-App-Projekt CSPROJ Datei unmittelbar vor dem Schließen </Project> t deaktiviert zu bauen ag.

<Target Name="BeforeCodesign"> 
    <Exec Command="$(_SdkDevPath)\Toolchains\XcodeDefault.xctoolchain\usr\bin\bitcode_strip %(_Frameworks.FullPath) -r -o %(_Frameworks.FullPath)" /> 
</Target> 
+0

Es funktioniert für mich. Vielen Dank !!! –

1

Mein Team und ich habe getan, was Vittal Pai und SushiHangover vorgeschlagen, aber wir konfrontiert einen anderen Fehler:

Command "\Applications\Xcode.app\Contents\Developer\Toolchains\XcodeDefault.xctoolchain\usr/bin\bitcode_strip PathToOurFrameWorks -r -o PathToOurFrameWorks" ended with code 3

^Aus Französisch übersetzt ist so bitte mich nicht zu hart beißen :)

Der einzige Weg, wie wir es geschafft haben, war, das Projekt von unserem GitHub auf einen Mac mit VS 2017 zu importieren und es dann dort wieder aufzubauen.

Der Fehler ist immer noch auf der Windows-Version vorhanden, aber es ist auf der Mac-Version gegangen.

+0

Vielleicht auf dem neuesten Xamarin.VS auf Ihrem Windows-Rechner aktualisieren? – Jelle

Verwandte Themen