Spiele für den Mac App Store vorbereiten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Spiele für den Mac App Store vorbereiten

      Spiele für den Mac AppStore vorbereiten
      Icon erstellen, Sandboxen, Signieren und Packen

      Spiele die mit der aktuellen Version von Game Maker:Studio erstellt wurden (1.0.342) sind nicht mit den Apple Human Interface Guidelines konform. Denn das von GM:S erstellte Icon bietet nicht die nötigen Auflösungen. Wenn ihr jedoch das bestehende Icon ersetzt, müsst ihr die App erneut signieren und packen. Außerdem sind Spiele die mit GM:S, oder GM4Mac erstellt worden sind nicht "sandboxed". Dies ist jedoch Pflicht für jedes neue Spiel, das in den AppStore eingereicht wird. (Nur Updates von alten Spielen müssen noch nicht "sandboxed" sein)
      Falls ihr das oben genannte Problem habt, oder ein anderes und eure App manuell signieren, "sandboxen" und einen Installer erstellen müsst, dann hilft euch dieses Tutorial.

      Inhalt:
      • ein AppStore konformes Icon erstellen
      • die App auf den Sandboxmodus vorbereiten
      • die App signieren
      • einen Installer für die App erstellen ("App packen")
      Download: .pdf Version (mit Beispiel Sandbox-Entitlement Datei)

      1. Ein Icon erstellen
      [hide= ]Icons die mit der aktuellen Game Maker:Studio Version (1.0.342) erstellt werden, sind nicht mit den Apple Apple Human Interface Guidelines konform. Daher erstellen wir nun ein neues Icon für das Spiel.
      1. Wir erstellen einen neuen Ordner und füllen ihn mit folgenden Auflösungen des Icons im .png Format:

      2. Nun nennen wir den Ordner in Icon.iconset um.
      3. Mit iconutil erstellen wir nun ein Macicon im .icns Format. Dazu schreiben wir folgendes ins Terminal (Programme > Dienstprogramme > Terminal):

        Quellcode

        1. iconutil -c icns pfad_zum_iconset_ordner/icon.iconset

      4. Nun klicken wir Rechts auf das Spiel und dann auf „Paketinhalt anzeigen“. Dann ziehen wir das eben erstellte Icon.icns in den Contents/Ressources Ordner und überschreiben das alte Icon.

      [/hide]
      2. Sandboxing
      [hide= ]Jede neu eingereichte App muss in einer „Sandbox“ laufen. Damit das Spiel dies unterstützt müssen wir eine Entitlement-Datei erstellen. Diese besteht im Grunde aus folgendem:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>

      <key>com.apple.security.app-sandbox</key>
      <true/>

      </dict>
      </plist>

      Mit verschiedenen "keys" können wir Berechtigungen vom Betriebssystem anfordern.
      Zum Beispiel kann unser Spiel mit folgendem "key"

      Quellcode

      1. <key>com.apple.security.network.client</key><true/>

      ausgehende Netzwerkverbindungen herstellen. Dies ist wichtig, falls wir einen online Highscore im Spiel haben.

      Die Entitlement-Datei speichern wir nun als entitlements.entitlements.
      [/hide]
      3. Codesignatur
      [hide= ]Nun müssen wir das Spiel noch signieren. Dazu muss das Entwicklerzertifikat auf dem Mac installiert sein. Zum Signieren geben wir folgendes ins Terminal ein:

      Quellcode

      1. codesign --entitlements pfad_zur_entitlement_datei/entitlements.entitlements -f -s "3rd Party Mac Developer Application: Firma/Individual-Name" -v Pfad_zu_deinem_Spiel/DeinSpiel.app

      [/hide]
      4. „Verpacken“ des Spiels
      [hide= ]Nun können wir den Installer für das Spiel erstellen. Dieser wird vom Mac AppStore vorrausgesetzt.
      Wir schreiben folgendes ins Terminal (Das Installer-Entwicklerzertifikat muss installiert sein!)

      Quellcode

      1. productbuild --product Pfad_zu_deinem_Spiel/DeinSpiel.app/Contents/Info.plist --component Pfad_zu_deinem_Spiel/DeinSpiel.app /Applications/DeinSpiel.pkg --sign "3rd Party Mac Developer Installer: Firma/Individual-Name"
      [/hide]
      5. Testen
      [hide= ]Um den eben erstellen Installer zu testen geben wir folgendes ins Terminal ein:

      Quellcode

      1. sudo installer -store -pkg Pfad_zu_deinem_Spiel/DeinSpiel.pkg -target /

      Wenn alles richtig gemacht wurde, sollte nun das Spiel im Programme-Ordner installiert sein

      Nun kann das Spiel mit dem Application Loader in den AppStore hochgeladen werden.
      [/hide]

      Probleme und Lösungen:
      • Wenn ich mein Spiel signiere bekomme ich folgende Fehlermeldung: object file format unrecognized, invalid, or unsuitable
        • Dann brauchst du die neuste Version vom codesign_allocate-Befehl. Lade dir die neuste Version von Xcode (kostenlos) und gebe folgendes ins Terminal ein:

          Quellcode

          1. sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/
          2. codesign_allocate /usr/bin/

      -