1 votos

¿Cómo puedo obtener la ruta de acceso de la aplicación en su lanzamiento script?

He hecho una aplicación siguiendo estos pasos

  1. Hacer la carpeta Foo.app
  2. Hacer Subcarpeta Contents
  3. Poner Info.Plist en Contents con

    ...
    <key>CFBundleExecutable</key>
    <string>Foo</string>
    ...
    
  4. Hacer MacOS/Foo como un shell script ejecutable

Foo parece

#!/bin/sh
echo $0 > /Users/me/temp/foo1
pwd > /Users/me/temp/foo2
export > /Users/me/temp/foo3

Hacer clic sobre la aplicación en el finder, a continuación, comprobar los resultados. Los resultados son, foo1 está vacía, foo2 es sólo / y foo3 parece

export Apple_PubSub_Socket_Render="/private/tmp/com.apple.launchd.FgQwJ5EVCp/Render"
export HOME="/Users/me"
export LOGNAME="me"
export OLDPWD
export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
export PWD="/"
export SHELL="/bin/zsh"
export SHLVL="1"
export SSH_AUTH_SOCK="/private/tmp/com.apple.launchd.4hbrl5p8fp/Listeners"
export TMPDIR="/var/folders/7h/wyw4jhd933z5jmqzsdx6r0sr0000gn/T/"
export USER="me"
export __CF_USER_TEXT_ENCODING="0x1F5:0x0:0x0"

No hay referencias a /Applications/Foo.app cualquier lugar

Ahora, ¿puedo obtener la ruta de acceso a mi aplicación en el lanzamiento de secuencia de comandos?

1voto

hjdm Puntos 18

Usted puede utilizar este código:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $DIR >  /Users/me/temp/outLog.txt

Esto te dará la ruta de acceso a la MacOS carpeta de usted de la aplicación.

Aquí la gran respuesta de stackoverflow acerca de esto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X