![]() |
Anfängerfrage: Bereitstellen für OS X
Ich habe eine Verständnisfrage zum Thema Bereitstellen für OS X: Ich habe ein FMX-Programm geschrieben, das unter Win32 und Win64 fehlerfrei funktioniert. Jetzt fragte mich ein Freund, ob ich ihm das nicht für OS X kompilieren kann. Da es sich nur um einen einzigen Fall handelt, bin ich natürlich nicht daran interessiert, mir einen Mac zum Testen zuzulegen. Aber spaßeshalber habe ich ihm das Programm unter XE5 trotzdem mal kompiliert. Ich habe einen Ordner namens ‚Test.app‘ erstellt. Darin einen Ordner namens ‚Contents‘ in welchem sich die Ordner ‚MacOS‘ und ‚Resources‘ befinden. Im ‚Contents‘-Ordner sind die Dateien ‚Entitlements.plist‘ und ‚Info.plist‘. Im ‚Resources‘-Ordner steckt das Icon ‚Test.icns‘; im ‚MacOS‘-Ordner die ‚Test‘-Exe-Datei und libcgunwind.1.0.dlyb.
Eigentlich meine ich, alles beachtet zu haben, aber das Programm startet unter OS X bei Doppelklick auf Test.app nicht, bzw. das Icon leuchtet einmal kurz auf – dann wird das Programm terminiert. Mein erster Gedanke war, dass die Software natürlich nicht signiert ist. Kann es daran liegen? Wenn ja – lässt sich das umgehen (evtl. indem die entsprechenden Sicherheitsbestimmungen außer Kraft gesetzt werden? Windows warnt mich ja auch, wenn ich eine unsignierte Exe aus dem Internet starten möchte – allerdings erlaubt Windows nach Nachfrage den Start, ohne ungefragt abzubrechen!) Unterläuft mir hier irgendwo ein Gedankenfehler? Bin für Anregungen dankbar! |
AW: Anfängerfrage: Bereitstellen für OS X
Zitat:
![]() ![]() Oder frag doch mal deinen Freund, ob er dir seinen Mac zum Testen zur Verfügung stellt. Ich kenne dein Programm jetzt nicht, aber auch mein erstes OSX-Programm wollte nicht auf Anhieb so wie ich mir das gedacht hatte. |
AW: Anfängerfrage: Bereitstellen für OS X
Danke für die Antwort.
Macincloud hatte ich auch schon in Erwägung gezogen, dann aber erstmal verschoben, weil auch kostenpflichtig (auch wenn der Preis gut ist...) Mir ging es aber mehr um die Frage, ob ich etwas Grundlegendes falsch gemacht habe: Wenn ich die von Delphi generierten Dateien wie beschrieben in eine OSX-Ordner-Struktur bringe - lässt sich dann die Programmterminierung nur durch ein Softwareproblem erklären, oder kann es an den Sicherheitseinstellungen von OS X für nichtsignierte Software liegen? Wenn Ersteres der Fall ist, so wäre es ja eigentlich ein FMX-Problem, weil die Software unter Windows fehlerfrei läuft und FMX ja eigentlich keine Methoden zur Verfügung stellen sollte, die unter Windows laufen, nicht aber auf anderen Plattformen. Ist Letzteres der Fall, wie umgeht man dieses Problem? |
AW: Anfängerfrage: Bereitstellen für OS X
Wenn das Sicherheitssystem von OS X den Appstart verhindert, wird eine Warnung angezeigt. Diese erklärt auch, wo man Einstellen kann, das nicht zertifizierte Apps erlaubt werden.
Ist dies nicht der Fall, dann hat es mit den Sicherheitseinstellungen nichts zu tun. In dem Fall wird es sich wohl um ein Problem mit dem Programm selber handeln. Hier können ggf. Ausgaben im Terminal auf dem Mac Hinweise liefern. |
AW: Anfängerfrage: Bereitstellen für OS X
Das ist interessant. Danke für diesen Hinweis.
Jetzt stellen sich mir zwei Fragen: 1. Wenn es an meinem Programm liegt, kann nur im OnCreate was falsch laufen (OnActivate beinhaltet nichts). In diesem Fall wäre es erstaunlich, dass Windows keine Probleme dort hat, OSX aber schon. Hier würde tatsächlich nur Testen helfen. 2. Habe ich evtl. doch etwas bei der Bereitstellung falsch gemacht (siehe oben)? Ich habe mich z.B. gefragt, warum Delphi die Datei Entitlements.plist nicht als solche generiert, sondern sie Test.entitlements nennt (Gleiches mit Test.info.plist anstatt Info.plist). Gibt es dafür einen Grund? |
AW: Anfängerfrage: Bereitstellen für OS X
Ist evtl. eine komische Idee, aber hast du es schon mal mit einem Minimal-Programm versucht?
Wenn das nicht klappt, brauchst du erst mal keinen Fehler in deinem Programm suchen. |
AW: Anfängerfrage: Bereitstellen für OS X
Zitat:
Es hängt ja in dem Sinne nichts für mich dran - ich hätte aber einfach gern verstanden, wo mein Gedankenfehler liegt, so es denn einen geben sollte. :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:11 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