Come posso 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 mi richiedono di condividere 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 visualizzare automaticamente la mia posizione corrente né di utilizzare il mio Facebook e altre app social.


1
Devo far funzionare anche questo. Qualsiasi aiuto sarebbe apprezzato.
Murat Ayfer

Ho trovato gli sviluppatori fluidi ad essere abbastanza reattivi attraverso la loro e-mail di supporto: support@fluidapp.com
dwightk

Risposte:


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 la migliore 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 usando è 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 "\$0")"; 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 dei pochi "Chrome-to-SSB" script che creano un insieme unico di preferenze per l'app che crea.

NOTA : Devi ancora personalizzare l'ambiente delle preferenze in modo da non eseguire alcun conflitto con i problemi del portachiavi Mac con più browser che si identificano nel sistema come "Google Chrome" e l'app Accesso Portachiavi che entra in un ciclo infinito richiedendo i diritti di autenticazione. Fidati di me e leggi l'avvertimento in fondo.

Così:

  • Scarica il file di script
  • Mettilo in un posto sicuro. Mi raccomando di perdere nella cartella Home, poiché è qui che verrà avviato Terminal.
  • Chiamalo come vuoi (chromeSSB.sh è memorabile) o crea un alias ad esso nel tuo .bashrc o .bash_profile.
  • Invoca lo script digitandone il nome nel terminale, quindi, utilizzando il nome di esempio sopra:

enter image description here

e premi 'Invio'. La sceneggiatura ti guiderà attraverso la creazione del tuo SSB, chiedendo, in ordine ...

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 quando lanci per la prima volta il tuo nuovo Chrome basato su SSB. Al momento del lancio sarete accolti con:

enter image description here

1.

Lo vorrai un -controlla quella casella, in modo che la tua copia "normale" di Chrome sia la tua copia "predefinita".

Quindi vedrai:

enter image description here

2.

Inserisci le informazioni del tuo account Google e "Accedi".

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

enter image description here

Poi DESIDERATE OGNI CHECKBOX ...

enter image description here

... 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 è negativo. 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. Godere.

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 effettuato l'accesso alla sessione del browser ma NON hai eseguito l'accesso a Chrome (o qualcosa del genere). Cosa significa questo? I preferiti, le preferenze, i plug-in, ecc. Sono non automaticamente sincronizzato 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) ...

enter image description here

e "Accedi a Chrome" ...

enter image description here

Immettere di nuovo il login e quindi procedere al passaggio 2, sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.