Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern? (https://www.delphipraxis.net/214602-macos-version-im-app-store-wie-i386-und-arm-parallel-ausliefern.html)

philipp.hofmann 6. Feb 2024 13:41

MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
Hi,

kann man irgendwie in einer App gleichzeitig für i386 und ARM im Apple-AppStore ausliefern?
Oder sind dies gezwungenermaßen zwei Apps?

Grüße, Philipp

DelTurbo 7. Feb 2024 14:28

AW: MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
Hi,
meines Wissens müssen es 2 Apps sein. Ich glaube nicht das es so ist wie bei Android wo man einfach die entsprechenden Libs beipacken kann. Macht das nicht der Store von selber? Da stehen dann keine 2 Apps sondern nur die die auf dem jeweiligen System laufen. Aber trotzdem musst du es einmal für Intel und einmal für ARM machen.

MEissing 7. Feb 2024 14:49

AW: MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
macOS kennt das Prinzip (Format) der "Universal Binaries". Das wird auch von Delphi unterstützt:
https://docwiki.embarcadero.com/RADS...ersal_Binaries

DelTurbo 7. Feb 2024 15:05

AW: MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
Stimmt, man(n) lernt nie aus.

https://developer.apple.com/document...l-macos-binary

philipp.hofmann 7. Feb 2024 16:54

AW: MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
Danke. Das war mir bisher nur für Android 32/64 bekannt.

philipp.hofmann 29. Mai 2024 21:10

AW: MacOS-Version im App-Store: Wie i386 und ARM parallel ausliefern?
 
Hm, das habe ich mir jetzt angeschaut. Werde daraus aber noch nicht schlau.
Ich liefere drei Arten von Binaries aus:
(a) das Binary, welches ich mit Delphi kompiliere und linke
(b) Shared-Libraries, welche ich selbst kompiliert habe (OpenSSL 3.2.1 und ANT+-USB-Stick-Unterstützung)
(c) Third-Party-Binaries, welche ich von Herstellern habe (FFMPEG Player For Firemonkey 8.3)

Das Universal-Binary-Konzept aus der EMBT-Doku scheint so ganz einfach nur für (a) zu gelten.

Für (b) habe ich es wohl selbst in der Hand, ob ich dort Universal-Binaries erzeugt bekommt. Für die ANT+-USB-Stick-Unterstützung habe ich dies wohl in XCode auch hinbekommen. Bei OpenSSL muss ich aber aktuell beim Kompilieren, vorab auswählen, ob ich i386- oder arm-Unterstützung möchte. Aber wenn ich es richtig verstehe, muss ich diese dann mit libo nachträglich zu einem Universal Binary umbauen.

Ähnliches würde dann für (c) gelten, entweder der Hersteller liefert es direkt als Universal Binary aus oder ich muss alle Libs per libo nachträglich Universal machen.

lipo -create openssl_i386/libcrypto.1.0.0.dylib openssl_x86_64/libcrypto.1.0.0.dylib -output libcrypto.1.0.0.dylib

Das wird noch die nächste Woche ein wenig Jugend forscht.

Unter Android nutzt man unterschiedliche Verzeichnisse um die Android-32- und die Android-64-Libraries in einer aab-Datei auszuliefern. Das Pendant für MacOS wäre dann die mit libo zusammengefasste dylib-Datei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz