App signieren, immer wieder Probleme

Ich lade das gleich noch mal hoch, denn ich hatte gestern so viel noch probiert.

Hi, so, nun habe ich es erneut hochgeladen.

Nach dem ich gestern das Zertifikat erneuert hatte, kommt nun beim Signieren vom DMG Image diese Meldung und ich denke, dass ist das was Sam meint.
Logging started 2021-02-14 10:42:55
0 dmg: Added “kbetreuungsmanager.dmg” to workplace Today at 10:43:21
0 dmg: Begin uploading kbetreuungsmanager.dmg to Apple for Notarization…
12.998 dmg: submitted to Apple, given receipt “a34d76c8-7f15-4d26-b0d9-d8efc041adcd”, now wait for results.
14.798 dmg: Checking for Analysis results using receipt: a34d76c8-7f15-4d26-b0d9-d8efc041adcd
14.918 dmg: Apple Analysis still in progress…
16.598 dmg: Checking for Analysis results using receipt: a34d76c8-7f15-4d26-b0d9-d8efc041adcd
16.712 dmg: Apple Analysis still in progress…
18.398 dmg: Checking for Analysis results using receipt: a34d76c8-7f15-4d26-b0d9-d8efc041adcd
18.511 dmg: Getting Apple’s remote log from https://osxapps-ssl.itunes.apple.com/itunes-assets/Enigma114/v4/7e/fd/0d/7efd0ddf-0ffc-6220-e0c8-be455f2fdbfc/developer_log.json?accessKey=1613490509_2851062200071196607_mrgo7T7VajC0rRd%2F0obznhUuPCZYseS0Ld2SuRNOHx8%2BHmFViStF7x8TliIlK2gl6W5a78%2BWLVLmARB%2Bn%2BhgVNIhpUx1ZdoccAJCfYVrHOHMmQbGB96keimleaLbuOR52R%2Fswc3qyDULWMwjcBb6W%2FCWlQPZol3xLG5zS7PosD4%3D
18.511 dmg: {“code”:2,“message”:“Invalid package, see log as to why”,“type”:“appleSubmissionIssues”}
18.583 dmg: Remote Log status: 200 data: {
“logFormatVersion”: 1,
“jobId”: “a34d76c8-7f15-4d26-b0d9-d8efc041adcd”,
“status”: “Invalid”,
“statusSummary”: “Archive contains critical validation errors”,
“statusCode”: 4000,
“archiveFilename”: “kbetreuungsmanager.dmg”,
“uploadDate”: “2021-02-14T09:46:59Z”,
“sha256”: “67bf3720e1a33ab0851f5681f18fb58cca0306f27a173ab5e97b5b2698539c8f”,
“ticketContents”: null,
“issues”: [
{
“severity”: “error”,
“code”: null,
“path”: “kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager”,
“message”: “The binary is not signed.”,
“docUrl”: null,
“architecture”: “x86_64”
},
{
“severity”: “error”,
“code”: null,
“path”: “kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager”,
“message”: “The signature does not include a secure timestamp.”,
“docUrl”: null,
“architecture”: “x86_64”
},
{
“severity”: “error”,
“code”: null,
“path”: “kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager”,
“message”: “The executable does not have the hardened runtime enabled.”,
“docUrl”: null,
“architecture”: “x86_64”
}
]
}
18.583 dmg: The binary is not signed. in kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager
18.583 dmg: The signature does not include a secure timestamp. in kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager
18.583 dmg: The executable does not have the hardened runtime enabled. in kbetreuungsmanager.dmg/kBetreuungsManager/kBetreuungsManager.app/Contents/MacOS/kBetreuungsManager

Jetzt lässt sich das DMG öffnen und der Ordner auf den Schreibtisch kopieren. Was dann allerdings beim ersten Programmstart abläuft ist sicher nicht das, was Du gerne hättest…

  1. Meldung: Datenbankfehler…
    Monosnap 2021-02-14 14-06-04

  2. Meldung: Probleme beim Kopieren… was wird denn da beim Programmstart überhaupt kopiert?
    Kopieren 2021-02-14 14-06-21

  3. Programmfenster sieht natürlich unvollständig aus, so ganz one Datenbank…

  4. Fehlermeldung: sobald man mit der Maus im Programmfenster irgendwohin klickt…
    Monosnap 2021-02-14 14-06-46

Mal ne ganz dumme Frage - da bin ich bei meinen ersten DMGs mit Platzhaltern für die App auch drauf reingefallen - nutzt Du die AppWrapper Funktion “template file” für eine DMG Vorlage? Wenn ja, ist in der DMG Vorlage eingestellt, das Sie die von AppWrapper erstellte Programmversion (Zielordner bei AppWrapper: General > Destination) verwendet und nicht die direkt aus dem Xojo Build Ordner?

Meinst du die Einstellung:

Hallo Thomas,
würdest du mir mal bitte deine Einstellungen vom AppWrapper schicken, da es bei dir funktioniert. Und das hat quasi die letzten 5 Jahre ohne Probleme funktioniert…und nun.

Der AppWrapper spielt da eigentlich keine Rolle - ich vermute das die falsche - sprich unsignierte - Datei auf dem DMG landet. Das würde die Fehlermeldung nei der Notarisation erklären.

Verwendest Du eine Vorlage für das DMG? Wenn ja, dann schau dort einmal nach woher diese die Programmdatei holt. Es sollte sich um die vom AppWrapper erzeugte App handeln und nicht um die von Xojo beim Build erstellte App…

Ich weiß nicht wo die Vorlage sein sollte. Meinst du diese Einstellung im AppWrapper:

Unten bei DMG kann man ein template file angeben - das wäre die Vorlage. Ist da etwas ausgewählt/eingetragen?

Auch ganz wichtig, für das DMG die von AppWrapper erzeugte Programmdatei zu verwenden.

In der Hilfe zu AppWrapper (Version 3) selbst steht allerdings auch etwas Wichtiges im Bereich “DMG Canvas Integration”:

  1. Zunächst die Datei erzeugen ohne DMG-Integration
  2. Diese erzeugte Programmdatei in das DMG einbinden
  3. Dann in AppWrapper mit DMG-Integration erneut “wrappen”.
  4. Fertig zum notarisieren.

Genau so habe ich das ja auch die letzten 5 Jahre gemacht…beim wem funktioniert der AppWrapper denn überhaupt?

Nochmals: das ist m.E. kein Problem vom AppWrapper. Anhand des AW Logs ist zu erkennen, das er ohne Probleme eine signierte und gehärtere Runtime Datei erstellt (codesigned and hardened runtime).

Die Fehlermeldung von Apple beim Notarisieren besagt aber, das die hochgeladene Datei weder signiert noch gehärtet ist - also wurde nicht die vom AppWrapper erstellte App auf das DMG gepackt, sondern die originale App, wie Xojo sie erstellt hat - ohne Signierung und Härtung.

Aus dem Bildschirmfoto mit den AppWrapper Einstellungen zum Packing entnehme ich, das Du keine der automatischen Packfunktionen nutzt, sondern die DMG manuell selbst erstellst. Hier solltest Du also ansetzen und Deine Arbeitsschritte kontrollieren, was genau da auf das DMG kommt. Es sollte die App aus dem Unterordner “kBetreuungsmanager - Website (x86_64)” sein…

Noch etwas ganz was anderes. Vor kurzem konnte ich auch nicht mehr signieren, und habe folgendes gefunden:

Unable to Submit for Review (Apple Developer forum)

In diesem Thread schrieb jemand folgendes:

I had the same problem after registering a bank, taxes and contacts, the error disappeared.

I share the answer that apple gave me:

Hola, Veo en nuestro sistema que le falta aceptar el contrato de apps pagados. Después de aceptarlo usted podrá procesar el app para revision.Gracias,

Übersetzt bedeutet dies:

Hallo, ich sehe in unserem System, dass Sie den Vertrag über kostenpflichtige Apps akzeptieren müssen. Nachdem Sie es akzeptiert haben, können Sie die App zur Überprüfung verarbeiten. Vielen Dank,

Access: Agreements, Tax, and Banking

Fill and accept the terms…
Unfortunately, bank details are now required
I’m waiting for my approval, I hope it resolves.

Adding bank and taxes information solved the problem.

Access: Agreements, Tax, and Banking
and fill the paid app sections.
Issue will be resolved.

Paid apps agreement had to be accepted even though the app we were submitting was free. Once we agreed to the paid app terms, we were able to submit the app for review.

Diesen Satz verstehe ich allerdings nicht:

The fix that worked for me today was around the new option to have the app also work on MacOS

In Xcode it was turned off, but in App Store Connect it was turned on.

Simply turning it off solved the problem (we’re not using it anyway and I’m not sure how it got turned on, might be a default or me being curious)

But this was enough to cause the problem and the app is in for Review now

Hope this helps somebody

Nach der in diesem Posting beschriebenen Aktion (Bankdaten ausfüllen), bin ich aber mal gespannt, ob ich nun auch das neue Zertifikat benötigen würde, um weiterzumachen, da ich immer noch mit 10.14 arbeite.

Danke für den Tipp. Ich musste das tatsächlich auch noch bestätigen, aber leider immer noch ohne erfolgt:-(
Ich habe die ganzen Logs und die Reihenfolge, wie es es mache, zusammengeschrieben und an Sam Rowlands geschickt, ich hoffe er findet was.

Oder muss ich auf der Zertifikatsseite von Apple noch ein Device anlegen?
https://developer.apple.com/account/resources/devices/list
Was habt ihr da noch angelegt?

Na ja, ist es nicht Deine Aufgabe, die Ausführung zu prüfen? Auf dieser Seite habe ich nichts eingetragen.

Alternative, die ich selbst oft nutze: SD Notary: Notarizing Made Easy | Late Night Software

Folgender Stand:

  1. Der Punkt von Detlef war zu treffen, die EULA musste ich noch bestätigen.
    Die Signierung der App funktioniert.

  2. Wenn ich nur die App in ein DMG Image packe, notarize, hochlade und auf einem Customer Mac laden, kann ich die App starten.

  3. Wenn ich diesem DMG Image aber weitere Ordner oder Textdatei hinzufüge, funktioniert die App nicht mehr. Irgendwas scheint “notarize” nicht zu akzeptieren, wenn neben der signierten App noch weitere Dateien oder Ordner hinzugefügt werden. Es reicht, wenn ich nur einen leeren Ordner einfüge.
    Das alles hatte bi Januar noch funktioniert.

Wie fügst Du die Datei dazu? Nach dem Signieren darfst Du nichts mehr verändern. Am einfachsten ist es, eine Datei über PostBuild-Script hinzuzufügen.