Extension > Code Sign

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

  • Extension > Code Sign

    Hallo,

    ich habe schon ein paar Erweiterungen erstellt und als solches ist das ne flotte Sache.
    Die Erweiterungen wurden mit dem Mac App Store bereitgestellt - problemlos.

    Ich habe eine Anwendung von einem Kunden, die mit Developer ID signiert wird.
    Soweit so gut. Jetzt soll ich ne kleine Erweiterung hinzufügen und Xcode zwingt einem zu einem Provisioning Profile?
    Warum das den? Bzw. klar wegen den Entitlements, aber ist es ohne ein Profile möglich?

    Hat jemand nen Tipp?

    Der Kunde selbst hat auch kein Zugriff auf das iTunes Connect und hat da auch Verständnisprobleme.
    Verständlicherweise hat er nicht so viel Interesse an der Sache, da er ja das Developer ID Ding hat und das ja auch funktioniert.

    Viele Grüße
  • Das mag für einige Anwendungen sicherlich stimmen, aber leider nicht generell.

    Das würde im Umkehrschluss ja heißen, dass in der Host-App NSImage erweitert werden müßte um zu Schauen, ob die angeforderte Ressource im Bundle von der Erweiterung liegt.

    - somit könnte die Erweiterung das Bild nutzen
    - die Host-App sucht sich das Bild aus der Erweiterung, wenn es dieses nicht selbst im Bundle hat

    Eigentlich gar nicht schwierig…
    Einfach Suchen&Ersetzen nach -imageNamed: und ersetzen mit -my_imageNamed:

    Leute, die auf XIB setzen würden weinen… :D

    Bei mir geht es derweil um vielleicht 20 Bilder, aber man muss die Anwendung ja nicht unnötig 3MB dicker machen.

    Viele Grüße
  • Zu der Sache mit der Signatur:

    Ich dachte mir, dass ich einfach die Erweiterung erstelle und dann aus dem Bundle nehme.
    Danach wollte ich die Erweiterung mit Developer ID signieren und als Plugin in der Hauptanwendung ablegen.
    Also einfach als Ressource im Xcode mit entsprechende Build-Phase.

    Aber Blowcake… ein Provisioning Profile ist erforderlich.

    Kurzum mit einem reinen "Developer ID"-Zertifikat kann keine Erweiterung erstellt/bereitgestellt werden.
    Ist ja nen dickes Ding. Hobbyprogrammierer könnten auch keine Erweiterung bauen.

    Wenn noch jemand eine Idee dazu hat, so würde ich mich freuen… ;)

    Viele Grüße
  • Hallo Gabriel,

    eben genau, das habe ich ja versucht, aber ist misslungen.

    So bin ich vorgegangen:

    - ich erstelle ein neues Xcode-Projekt
    - ich erstelle eine Erweiterung
    - ich lasse ein Release mit meiner Signatur und Provisioning-Profile bauen
    - ich hole aus dem App-Bundle das Plugin/Erweiterung
    - ich passen den Bundle-Identifier an
    - ich signiere die Erweiterung mit der Developer ID vom Kunden
    - ich füge dem Xcode-Projekt vom Kunden die Erweiterung als Ressource hinzu
    - ich erstelle eine Build-Phase, so dass die Erweiterung als Plugin im fertigen App-Bundle hinterlegt wird

    Ergebnis - funktioniert nicht… :(

    Im Bundle der Erweiterung ist enthalten "embedded.provisionprofile".
    Was erfüllt das für einen Sinn?

    Aber ich pfusche da eigentlich nur rum und ich frage mich, ob nicht eine Erweiterung ohne Provisioning-Profile erstellt werden kann.

    Viele Grüße
  • Ich habe die Lösung:

    - Projekt-Datei markieren
    - Targets > Hauptanwendung markieren
    - Developer ID Radiobutton aktivieren
    - Build Settings anwählen
    - Code Signing suchen und auf "Developer ID *" setzen, also das gewählte Zertifikat entfernen
    - das Gleiche für die Erweiterung wiederholen

    Nach dem Erstellen des Release muss das Bundle manuell signiert werden, da es via Xcode nur mit einem Account möglich wäre.

    Viele Grüße