Wir haben einen Build-Prozess, der jetzt das übliche Layout für verteilte DMGs ausführt. Dies geschieht auf eine Art und Weise, die ich an vielen Stellen gesehen habe - die DMG ist angehängt, dann erledigt Finder seine Arbeit über Javascript. Das Skript muss jedoch anhand seines Datenträgernamens auf das bereitgestellte Image verweisen, und AFAICT, diese sind nicht eindeutig. Da der Rechner, auf dem diese Arbeit ausgeführt wird, nicht speziell dafür vorgesehen ist, befürchte ich, dass er möglicherweise bereits ein Image mit demselben Namen enthält (wahrscheinlich, da die Person, die mit diesem Rechner arbeitet, auch ein Client der generierten DMGs ist).
Gibt es eine Möglichkeit, im Javascript eindeutig auf eine Festplatte zu verweisen, wenn ich beispielsweise ihr Gerät oder ihren Mount-Punkt kenne? Oder gibt es eine andere Möglichkeit, das Problem zu beheben, z. B. ein Bild mit einem anderen Namen anzuhängen, damit ich einen zufällig generierten Namen übergeben kann?
(Ich bin überrascht, dass ich keine Erwähnung im Web gesehen habe. Vielleicht verpasse ich etwas Offensichtlicheres.)
quelle
<image name>.dmg
oder beziehen/Volumes/<volume name>
?tell disk <volname>
und dieser Name ist möglicherweise nicht eindeutig.Antworten:
Nach langem Suchen und vielem Fluchen denke ich, dass dies wirklich ein Problem ist, von dem praktisch niemand etwas weiß oder sich Sorgen macht. Trotzdem konnte ich eine Lösung finden, es ist nicht großartig, aber es sollte funktionieren. Die Idee ist, die DMG in einem bekannten Verzeichnis mit einem zufälligen Namen zu mounten - dieser Name (das letzte Element im
-mountpoint
Pfad) ist diename
Eigenschaft der Festplatte.name
Wenn ich das benutze, gehe ich über alle Festplatten und suche nach passenden. Beschwere mich, wenn ich keine oder mehrere finde, ansonsten habe ich das benötigte Objekt bereit, mit dem ich arbeiten kann.quelle