Warum werden App Store-Anwendungen, die auf einem anderen Computer in ~ / Applications übertragen wurden, nicht gestartet?

10

Ich habe einige Apps im Mac App Store gekauft und auf meinem PC installiert. Ich möchte sie auf einem gemeinsam genutzten Arbeitscomputer installieren. Leider habe ich keinen Administratorzugriff auf den Arbeitscomputer, daher kann ich dies nicht auf die übliche Weise tun.

Ich habe die Apps von meinem Heimcomputer in das ~/ApplicationsVerzeichnis des Arbeitscomputers kopiert und versucht, sie mit gemischtem Erfolg auszuführen:

  • Wenn Sie einige Apps zum ersten Mal ausführen, öffnen Sie ein Dialogfeld mit der Meldung "Anmelden, um diese Anwendung auf diesem Computer zu verwenden" und fordern Sie zur Eingabe Ihrer Apple-ID und Ihres Kennworts auf. Danach funktionieren sie einwandfrei. (Beispiel: DayOne und die meisten kostenlosen Apps)
  • Die meisten Apps zeigen Ihnen dieses Dialogfeld weiterhin an, funktionieren jedoch aus irgendeinem Grund nicht, selbst nachdem Sie Ihre ID und Ihr Kennwort eingegeben haben. (Beispiel: BBEdit, Soulver, Twitterrific)

Die Fragen):

  • Kann ich etwas tun, um die App zum Laufen zu bringen?
  • Wenn nicht, was veranlasst die App, den Start zu verweigern?

Bearbeiten : Wenn die App fehlschlägt, wird die Konsolenmeldung "Beendet mit Exit-Code: 173" angezeigt. Wenn ich das richtig verstehe, bedeutet dies, dass die App nicht gültig ist (was zu erwarten ist, wenn ich sie von einem Computer auf einen anderen kopiere). Der Prozess, mit dem der App Store die App überprüft, scheint jedoch nicht zu funktionieren, wenn sich die App nicht am richtigen Speicherort befindet. Darüber hinaus ist es wahrscheinlich, dass Apps, die funktionieren, wie DayOne oder die kostenlosen Apps, nur funktionieren, weil sie nicht überprüfen, ob die App gültig gekauft wurde, und tatsächlich auf jedem Computer ohne jegliche Validierung funktionieren würden.

Die Frage bleibt, gibt es eine Problemumgehung?

Erneut bearbeiten: Ich habe kein Problem damit, eine App ~/Applicationsauf meinen Heimcomputer zu kopieren , auch nicht für einen anderen Benutzer. Da die Untersuchung (ganz zu schweigen von der Lösung) dieses Problems so viel Aufwand erfordert (einschließlich zweier Computer oder zumindest einer virtuellen Maschine), biete ich ein Kopfgeld an.

Nathan Grigg
quelle
Bist du auf Löwe oder Schneeleopard?
bmike
Der Arbeitscomputer ist ein Schneeleopard. Zuhause ist Löwe. Hmmm.
Nathan Grigg
Am besten melden Sie sich am Arbeitscomputer an und laden die Dateien herunter und verschieben sie nach dem Herunterladen. Nein?
bmike
1
Wenn Sie Dateien aus dem App Store herunterladen, werden diese abgelegt /Applicationsund erfordern daher ein Administratorkennwort.
Nathan Grigg
Ich habe einige Tests durchgeführt und meine Antwort unten komplett neu geschrieben. Keine Lösung, fürchte ich zu sagen, aber zumindest eine Erklärung, was passiert.
Kopischke

Antworten:

12

Sie haben anscheinend einen interessanten (sprich: sehr ärgerlichen) Fehler im App Store-Validierungsprozess festgestellt:

Für den Anfang kommt der Speicherort, an den Sie Ihre Apps kopieren, tatsächlich nicht dazu, und Ihr Status als Administrator / Nicht-Administrator-Benutzer auch nicht. Trotz der Tatsache, dass Apple angibt, dass dies möglich sein sollte, kann ich auf meinen beiden Computern keine App manuell kopieren lassen, um sie entweder als Standardbenutzer, als Administrator, in /Applicationsoder in auszuführen ~/Applications. Genauso wenig wie chowning und chmoding das Bündel entspricht mit regelmäßigen Installationen Hilfe. Das App Store-Anmeldeblatt wird (einmal) angezeigt, aber die App wird danach mit dem Exit-Code 173 beendet.

Laut der Entwicklerdokumentation von Apple zur Validierung von App Store-Belegen ist ein Teil des Belegs, der die Verwendung einer App validiert, eine maschinenspezifische GUID. Wenn Sie eine App auf einen anderen Computer kopieren, stimmt die GUID nicht mehr überein, wodurch die Quittung ungültig wird (umgekehrt stimmt sie auf Ihrem eigenen Computer immer überein, unabhängig davon, für welchen Benutzer Sie die App installieren - daher haben Sie damit kein Problem). . Apps sollen eine ungültige Quittung signalisieren, indem sie mit dem Exit-Code 173 beendet werden. Der App Store- storeagentProzess soll danach übernehmen, nach Anmeldeinformationen fragen und eine neue Quittung generieren und die App bei Erfolg neu starten:

Wenn das System erfolgreich eine gültige Quittung erhält, wird die Anwendung neu gestartet. Andernfalls wird dem Benutzer eine Fehlermeldung angezeigt, in der das Problem erläutert wird.

Zeigen Sie dem Benutzer keine Fehlermeldung an, wenn die Validierung fehlschlägt. Das System ist dafür verantwortlich, eine gültige Quittung zu erhalten oder den Benutzer darüber zu informieren, dass die Quittung ungültig ist.

Was in Ihrem (und meinem Test-) Fall passiert, ist, dass die Validierung leise fehlschlägt - wie durch die Tatsache angezeigt, dass die Quittung nie aktualisiert wird, aber auch keine Fehlermeldung angezeigt wird. Die Protokolle zeigen storeagentRückgaben:

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

Dieser Code wird von Apple nicht dokumentiert, und alles , was ich habe , sind Diskussionen von den Entwicklern über dieses Thema in einem Test Kontext gefunden, wo es auf iTunes Connect Daten zu beziehen scheint unvollständig zu sein (Geoff Pado hat eine kurze Zusammenfassung hier ).

Das Bild als Ganzes zeigt jedoch deutlich, dass die Validierung unterwegs fehlschlägt , sodass Apps auch nach Eingabe der korrekten Anmeldeinformationen in den App Store manuell mit einer ungültigen Quittung kopiert werden. Wie Sie bereits bemerkt haben, werden nur die Apps ausgeführt, die ihre eigene Gültigkeit nicht überprüfen.

In Ihrem Fall nicht sehr hilfreich. Apple empfiehlt lediglich, den App Store zu löschen und erneut herunterzuladen , um das Problem zu beheben.

TL; DR: Sie können im App Store gekaufte Apps nicht manuell von einem Computer auf einen anderen kopieren, bis Apple den dafür erforderlichen Belegvalidierungsprozess behoben hat. Installationsort und Benutzerrechte kommen nicht ins Spiel.

kopischke
quelle
Der Fehler wurde anscheinend behoben (siehe apple.stackexchange.com/questions/46874/… ). Es funktioniert auch für mich, obwohl ich die Snow Leopard-Maschine nicht aktualisiert habe, seit ich die Frage ursprünglich gestellt habe.
Nathan Grigg