2015-07-19 5 views
31

Prima di iOS 8.3, il modo per verificare se "Consenti accesso completo" è stato concesso a un interno di tastiera era tramite il seguente codice nel contenitore app:Come verificare "Consenti accesso completo" è concesso da iOS 8.3 * dall'app contenitore *

- (BOOL)isOpenAccessGranted{ 
    return [UIPasteboard generalPasteboard]; 
} 

Tuttavia, come i commenti su questo popolare in modo da rispondere a thread punto, dal momento che iOS 8.3, un'applicazione in grado di leggere da contenitori di gruppo condivisi, anche se l'accesso completo non viene concesso, in modo che il codice di cui sopra sempre ritorna vero Tuttavia, scrive l'autorizzazione è concessa solo se "Consenti accesso completo" è attivato.

Ho provato a elencare tutti i pasteboard basati su Apple docs su UIPasteboard, ma non delineare quali sono accessibili. Qualche idea su questo è molto apprezzata.

+0

cartone generale dovrebbe essere accessibile a tutti in lettura e/o scrivere. I contenitori condivisi sono una cosa diversa. Stai cercando di far scrivere un'app in pasteboard che può essere utilizzata dalla tastiera? Puoi spiegare lo scenario in cui vuoi usarlo? – Omar

+0

prega di dare un'occhiata a questa risposta: [http://stackoverflow.com/a/26088674/3317354][1] [1]: http://stackoverflow.com/a/26088674/3317354 – teamnorge

+0

Ciao @Omar - sì, in effetti sto provando a testare se il contenitore condiviso potrebbe essere scrivibile (concedere "accesso completo" su una tastiera iOS consente di essere scrivibile e leggibile, in modo da poter leggere i dati dall'app contenitore in base a ciò che viene salvato dalla tastiera). In precedenza 'generalPastboard' sarebbe stato sufficiente. – daspianist

risposta

1

Su iOS 8.4 lo UIPasteboard.generalPasteboard() è nil se l'accesso completo non è consentito. Prova a rimuovere l'app per tastiera e contenitore + clean and build app, prima di eseguire nuovamente il test. Dovrebbe funzionare bene.

+0

Ho provato sopra il codice ma anche se "Accesso completo" non è dato restituisce Sì. –

2

Ecco la mia attualmente al lavoro/implementazione schierato:

- (void)viewDidAppear:(BOOL)animated { 
    NSLog(@"keyboard has full access? %@", ([self validateKeyboardHasFullAccess] ? @"YES" : @"NO")); 
} 

- (BOOL)validateKeyboardHasFullAccess { 
    return !![UIPasteboard generalPasteboard]; 
} 
+0

Grazie per l'input! Funziona alla grande quando si controlla l'accesso completo dalla tastiera, ma mi chiedevo se c'è anche un modo per farlo dall'app contenitore. – daspianist

Problemi correlati