2015-03-18 17 views

risposta

2

Poiché tutte le estensioni sono in esecuzione su iPhone come con l'app principale. Puoi usare qualcosa come App Group per condividere le informazioni.

Quindi è necessario abilitare la capacità del gruppo di app in entrambe le destinazioni e condividere le informazioni con UserDefault (suiteName :) o utilizzare la directory del file contenitore condiviso (con contenitore condiviso potrebbe essere necessario il coordinatore di file per fare in modo che 2 processi non utilizzi il file contemporaneamente).

Inoltre, se entrambi i processi sono in esecuzione, è possibile utilizzare la notifica darwin per notificare all'altra che sono state aggiornate nuove informazioni.

+0

Sì in effetti potrebbe funzionare! più una risposta fantastica –

1

Penso che ciò che si tenta di fare è:

  1. Seleziona il testo sul sito
  2. Fare clic sul pulsante Condividi nella barra degli strumenti in fondo Safari
  3. Aprire l'app con il testo selezionato in allegato ad alcuni userInfo dizionario

Purtroppo, penso che non sia possibile. Puoi creare un'estensione per accettare il testo selezionato ma non aprirà l'app completamente anziché solo l'estensione.

Il problema è che non è presente alcuna selezione "Apri in ..." quando si contrassegna il testo in Safari (confrontato ad esempio con "Apri in ..." se si seleziona un file, diciamo l'app Dropbox).

Per quanto riguarda la funzionalità (e, ad essere sincero, non ho scavato troppo a fondo per potermi sbagliare), quando si fa clic sul menu di condivisione in Safari (potrebbe essere quello dal popup nero bolla quando si seleziona il testo o quello dal pulsante in basso sulla barra degli strumenti), genererà un'estensione "una tantum" che consente di eseguire una determinata azione (come inviare la selezione tramite messaggi, e-mail o metterla nelle note). Dopo che l'estensione è stata eseguita, tornerà al punto in cui è stata sparata (ovvero, safari).

Ancora una volta, è diverso da "Apri in ..." per il quale è necessario implementare schemi di url personalizzati per la tua app da ascoltare. Ma questo non funziona con la semplice selezione del testo. Avrebbe bisogno di un vero sistema di URL.

Forse questa domanda aiuta a ottenere una migliore comprensione: iOS Share vs Action App Extension

Riassumendo: cosa si sta cercando è più probabile non è possibile su iOS.

idea possibile: Si potrebbe in qualche modo cercare di aggiungere un pulsante per l'estensione di condivisione che genera uno schema URL personalizzato con il testo selezionato e chiede al sistema per aprire l'URL, ma posso immaginare che questo non funziona davvero

+0

, più una, dovrebbe essere il vincitore –

0

È necessario attivare NSExtensionActivationSupportsWebURLWithMaxCount per rendere l'estensione disponibile in Safari.

Quando si crea una destinazione di estensione di azione non UI dal modello, viene creato automaticamente un file Action.js.Modificare il file di rinviare il testo selezionato utilizzando

document.getSelection().toString() 

Source