Manuelles Sandboxing der macOS-Anwendung
Nach oben zu MacOS-Anwendungsentwicklung
- Hinweis: Die Verwendung der IDE wird für das Sandboxing empfohlen. Manuelle Schritte sind viel komplexer als die Verwendung der IDE und werden hier nur für diejenigen kurz umrissen, die außerhalb der IDE arbeiten müssen.
Wenn Sie nicht mit der RAD Studio-IDE ein Sandbox-Anwendungspaket einer macOS-Anwendung erstellen, können Sie die erforderlichen Schritte auf Ihrem Mac ausführen. Dieser Abschnitt enthält eine grundlegende Einführung in diesen Vorgang, die Details finden Sie in der Apple-Dokumentation (siehe die entsprechenden Links).
Auf dem Mac müssen Sie eine <Projekt>.entitlements-Datei erstellen und diese in das Anwendungspaket platzieren, das Paket mit einer Codesignatur versehen, es komprimieren und bei Apple einreichen.
Anforderungen von Apple
Im Folgenden sind die erforderlichen Elemente und die relevanten Informationen von Apple aufgeführt:
- Die zugehörige <Projekt>.entitlements-Datei.
- Befehl "codesign":
- man page for code-sign command (EN)
- Code Signing Guide
- Code Signing Your App
- Beispiel:
codesign -s"Name des Zertifikats" -f "Name des Anwendungspakets"
- Befehl "productbuild"
- Befehl "installer" (zum Testen der Installation Ihrer Anwendung)
Manuelles Signieren des Codes und Erzeugen einer macOS-Anwendung auf dem Mac
Wenn Sie Ihre Anwendung im Mac App Store bereitstellen möchten, ist eine Codesignatur und eine Bereitstellung der Voraussetzungen erforderlich. Sie können diese Schritte entweder in der IDE (weiter oben beschrieben) oder manuell (indem Sie die folgenden allgemeinen Anleitungen befolgen) durchführen.
Hinweise:
-
- Sie müssen zum Bereitstellen von Apps im Mac App Store ein Distributionszertifikat anfordern.
- Für das Mac-Sandboxing ist eine <Projekt>.entitlements-Datei erforderlich.
So signieren Sie Ihren Code und erzeugen ein Produktinstallationsprogramm für Ihre macOS-Anwendung manuell:
- Erzeugen Sie die Anwendung in der IDE, und stellen Sie sie in macOS bereit.
- Öffnen Sie auf dem Mac ein Terminalfenster.
- Wechseln Sie in das Verzeichnis "scratch-dir" von PAServer:
Applications/Embarcadero/PAServer/21.0/scratch-dir/machinename-remoteprofilename/
- Führen Sie die folgenden Befehle aus:
- Codesignatur für die Anwendung:
sudo codesign -f -v -s "Mac-Entwickler: Vorname Nachname" "App-Name.app"
- Führen Sie "productbuild" aus, um ein Installationspaket zu erstellen:
sudo productbuild --component "App-Name.app" /Applications --sign "Mac-Entwickler: Vorname Nachname" --product "App-Name.app/Contents/info.plist" AppName.pkg
- Codesignatur für die Anwendung:
Siehe auch
- Sandboxing einer macOS-Anwendung mit RAD Studio
- macOS Roadmap for Mac App Store