Come faccio ad abilitare le app create in Fluid per accedere ai dati sulla posizione per il mio computer?

5

Alcune delle app che sto cercando di creare hanno bisogno che io condivida la mia posizione per funzionare al meglio, ma l'app fluida sembra non permetterlo. Ho controllato tutte le impostazioni, ma non riesco a trovare questa impostazione.

Google Maps, ad esempio, non mi consente di vedere automaticamente la mia posizione corrente né di utilizzare il mio Facebook e altre app social.

    
posta user54961 12.08.2013 - 16:52
fonte

1 risposta

1

Questa non è una risposta alla tua domanda di per sé , ma ho smesso di usare Fluid e ho spostato su Chrome SSB, sia per la possibilità di aggiungere plug-in di Chrome (un must per me) e meglio esperienza (IMHO) di Chrome come browser. Finora ho creato SSB per Google Play Music, Gmail, Google Calendar e MightyText. Tutto funziona magnificamente.

Lo script che sto utilizzando è il seguente:

#!/bin/bash


# White Space Trimming: http://codesnippets.joyent.com/posts/show/1816
trim() {
  local var=$1
  var="${var#"${var%%[![:space:]]*}"}"   # remove leading whitespace characters
  var="${var%"${var##*[![:space:]]}"}"   # remove trailing whitespace characters
  /bin/echo -n "$var"
}


### Get Input
/bin/echo "What should the Application be called?"
read inputline
name='trim "$inputline"'

/bin/echo "What is the url (e.g. https://www.google.com/calendar/render)?"
read inputline
url='trim "$inputline"'

/bin/echo "What is the full path to the icon (e.g. /Users/username/Desktop/icon.png)?"
read inputline
icon='trim "$inputline"'


#### Find Chrome. If its not in the standard spot, try using spotlight.
chromePath="/Applications/Google Chrome.app"
if [ ! -d "$chromePath" ] ; then
    chromePath='mdfind "kMDItemCFBundleIdentifier == 'com.google.Chrome'" | head -n 1'
    if [ -z "$chromePath" ] ; then
    /bin/echo "ERROR. Where is chrome installed?!?!"
    exit 1
    fi
fi
chromeExecPath="$chromePath/Contents/MacOS/Google Chrome"

# Let's make the app whereever we call the script from...
appRoot='/bin/pwd'

# various paths used when creating the app
resourcePath="$appRoot/$name.app/Contents/Resources"
execPath="$appRoot/$name.app/Contents/MacOS"
profilePath="$appRoot/$name.app/Contents/Profile"
plistPath="$appRoot/$name.app/Contents/Info.plist"
versionsPath="$appRoot/$name.app/Contents/Versions"

# make the directories
/bin/mkdir -p  "$resourcePath" "$execPath" "$profilePath"

# convert the icon and copy into Resources
if [ -f "$icon" ] ; then
    if [ ${icon: -5} == ".icns" ] ; then
        /bin/cp "$icon" "$resourcePath/icon.icns"
    else
        sips -s format tiff "$icon" --out "$resourcePath/icon.tiff" --resampleWidth 128 >& /dev/null
        tiff2icns -noLarge "$resourcePath/icon.tiff" >& /dev/null
    fi
fi

# Save a symlink to the location of the Chrome executable to be copied when the SSB is started.
/bin/ln -s "$chromeExecPath" "$execPath/Chrome"

### Create the wrapper executable
/bin/cat >"$execPath/$name" <<EOF
#!/bin/sh
ABSPATH=\$(cd "\$(dirname "\
#!/bin/bash


# White Space Trimming: http://codesnippets.joyent.com/posts/show/1816
trim() {
  local var=$1
  var="${var#"${var%%[![:space:]]*}"}"   # remove leading whitespace characters
  var="${var%"${var##*[![:space:]]}"}"   # remove trailing whitespace characters
  /bin/echo -n "$var"
}


### Get Input
/bin/echo "What should the Application be called?"
read inputline
name='trim "$inputline"'

/bin/echo "What is the url (e.g. https://www.google.com/calendar/render)?"
read inputline
url='trim "$inputline"'

/bin/echo "What is the full path to the icon (e.g. /Users/username/Desktop/icon.png)?"
read inputline
icon='trim "$inputline"'


#### Find Chrome. If its not in the standard spot, try using spotlight.
chromePath="/Applications/Google Chrome.app"
if [ ! -d "$chromePath" ] ; then
    chromePath='mdfind "kMDItemCFBundleIdentifier == 'com.google.Chrome'" | head -n 1'
    if [ -z "$chromePath" ] ; then
    /bin/echo "ERROR. Where is chrome installed?!?!"
    exit 1
    fi
fi
chromeExecPath="$chromePath/Contents/MacOS/Google Chrome"

# Let's make the app whereever we call the script from...
appRoot='/bin/pwd'

# various paths used when creating the app
resourcePath="$appRoot/$name.app/Contents/Resources"
execPath="$appRoot/$name.app/Contents/MacOS"
profilePath="$appRoot/$name.app/Contents/Profile"
plistPath="$appRoot/$name.app/Contents/Info.plist"
versionsPath="$appRoot/$name.app/Contents/Versions"

# make the directories
/bin/mkdir -p  "$resourcePath" "$execPath" "$profilePath"

# convert the icon and copy into Resources
if [ -f "$icon" ] ; then
    if [ ${icon: -5} == ".icns" ] ; then
        /bin/cp "$icon" "$resourcePath/icon.icns"
    else
        sips -s format tiff "$icon" --out "$resourcePath/icon.tiff" --resampleWidth 128 >& /dev/null
        tiff2icns -noLarge "$resourcePath/icon.tiff" >& /dev/null
    fi
fi

# Save a symlink to the location of the Chrome executable to be copied when the SSB is started.
/bin/ln -s "$chromeExecPath" "$execPath/Chrome"

### Create the wrapper executable
/bin/cat >"$execPath/$name" <<EOF
#!/bin/sh
ABSPATH=\$(cd "\$(dirname "\%pre%")"; pwd)
/bin/cp "\$ABSPATH/Chrome" "\$ABSPATH/$name Chrome"
exec "\$ABSPATH/$name Chrome" --app="$url" --user-data-dir="\$ABSPATH/../Profile" "\$@"
EOF
/bin/chmod +x "$execPath/$name"

### create the Info.plist
/bin/cat > "$plistPath" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>CFBundleExecutable</key>
<string>$name</string>
<key>CFBundleName</key>
<string>$name</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict>
</plist>
EOF

### link the Versions directory
/bin/ln -s "$chromePath/Contents/Versions" "$versionsPath"

### create a default (en) localization to name the app
/bin/mkdir -p "$resourcePath/en.lproj"
/bin/cat > "$resourcePath/en.lproj/InfoPlist.strings" <<EOF
CFBundleDisplayName = "$name";
CFBundleName = "$name";
EOF

### tell the user where the app is located so that they can move it to
### /Applications if they wish
/bin/cat <<EOF
Finished! The app has been installed in
$appRoot/$name.app
EOF
")"; pwd) /bin/cp "\$ABSPATH/Chrome" "\$ABSPATH/$name Chrome" exec "\$ABSPATH/$name Chrome" --app="$url" --user-data-dir="\$ABSPATH/../Profile" "\$@" EOF /bin/chmod +x "$execPath/$name" ### create the Info.plist /bin/cat > "$plistPath" <<EOF <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=”1.0″> <dict> <key>CFBundleExecutable</key> <string>$name</string> <key>CFBundleName</key> <string>$name</string> <key>CFBundleIconFile</key> <string>icon.icns</string> <key>NSHighResolutionCapable</key> <string>True</string> </dict> </plist> EOF ### link the Versions directory /bin/ln -s "$chromePath/Contents/Versions" "$versionsPath" ### create a default (en) localization to name the app /bin/mkdir -p "$resourcePath/en.lproj" /bin/cat > "$resourcePath/en.lproj/InfoPlist.strings" <<EOF CFBundleDisplayName = "$name"; CFBundleName = "$name"; EOF ### tell the user where the app is located so that they can move it to ### /Applications if they wish /bin/cat <<EOF Finished! The app has been installed in $appRoot/$name.app EOF

Lo sto incollando qui perché non riesco a ricordare dove l'ho trovato, ma è uno degli unici "Chrome-to-SSB" script che crea un insieme univoco di preferenze per l'app che crea .

NOTA : è ancora necessario personalizzare l'ambiente delle preferenze in modo che non si verifichino problemi di Keychain Mac con più browser che si identificano con il sistema come "Google Chrome" e l'app Accesso Portachiavi in corso in un ciclo infinito che richiede i diritti di autenticazione. Fidati di me e leggi l'avvertimento in fondo.

  • Scarica il file di script
  • mettilo da qualche parte al sicuro. Vi consiglio di perdere la cartella Home, poiché è qui che verrà avviato il Terminale.
  • Assegna un nome a qualsiasi cosa desideri (chromeSSB.sh è memorabile) o crea un alias nel tuo .bashrc o .bash_profile.
  • Invoca lo script digitandone il nome nel terminale, quindi, utilizzando il nome di esempio sopra:

epremi"Invio". Lo script ti guiderà attraverso la creazione del tuo SSB, chiedendo, in ordine ...

  • Come deve essere chiamata l'applicazione?
  • Qual è l'URL (ad es. link )?
  • Qual è il percorso completo dell'icona (ad esempio /Users/username/Desktop/icon.png)?

E questo è tutto! Assicurati di scaricare e fai riferimento a una bella pinta in alta risoluzione dell'icona dell'app desiderata, se questo è importante per te.

Ora, l'avvertimento di cui sopra.

Poiché stai creando un'istanza separata di Chrome e poiché Chrome vuole aiutarti in ogni modo possibile sincronizzando la tua vita tra tutti i browser Chrome che utilizzi, ti consigliamo di fare un paio di passaggi al primo avvio il tuo nuovo SSB basato su Chrome. Al momento del lancio verrai accolto con:

1.

Vuoiun-controllaquellacasella,inmodochelatuacopia"normale" di Chrome sia la tua copia "predefinita".

Quindi vedrai:

2.

InseriscileinformazionideltuoaccountGooglee"Accedi"

dovresti vedere la seguente schermata, chiedendoti cosa vorresti sincronizzare tra i tuoi browser (se non vedi questa schermata immediatamente, vedi sotto). Scegli "Scegli cosa sincronizzare" dal menu popup ...

QuindiDESELEZIONAOGNICHECKBOX...

... in modo da non sincronizzare nulla tra i browser. Questo ti dà accesso alle informazioni del tuo account Google (se ne hai bisogno) ma altrimenti lascia il browser come un'app completamente autonoma, che è esattamente ciò che desideri. Se lasci selezionata una di queste caselle di controllo "sincronizzazione", lo fai a tuo rischio e pericolo, perché attraversare i flussi è un problema. Considera un suggerimento importante per la sicurezza. ; -)

Questo sembra troppo complicato, ma basta leggerlo una volta e starai bene.

  1. Crea l'app.
  2. Assicurati che la nuova app (browser) non si sincronizzi con altre istanze di Chrome.
  3. Godetevi.

Se non hai visualizzato la schermata delle preferenze "Scegli cosa sincronizzare" non appena accedi a Chrome, non preoccuparti. L'ho visto succedere un paio di volte. Procedi da qui:

Quindi, hai eseguito l'accesso alla sessione del browser ma NON hai eseguito l'accesso a Chrome (o qualcosa del genere). Cosa significa questo? I segnalibri, le preferenze, i plug-in, ecc. Sono non automaticamente sincronizzati per te in questo momento, quindi c'è un ultimo passaggio per accedere. Scegli "Preferenze" dal menu principale della tua app (qualunque sia il tuo nome) ...

e"Accedi a Chrome" ...

Inserisci di nuovo il login, quindi procedi al passaggio 2, sopra.

    
risposta data 05.09.2014 - 00:25
fonte

Leggi altre domande sui tag