2011-12-06 12 views
7

Penso che questo sia più un difetto dell'SDK delle mie app ', ma recentemente ho cercato di usare UIPasteboard per copiare le stringhe dalla mia app e funziona bene per incollare da qualche parte quando sono all'interno dell'app.iOS - UIPasteboard non funziona all'esterno dell'app

Quando passo a un'altra app premendo il tasto home o qualcosa del genere, semplicemente non ho la possibilità di incollare il contenuto copiato.

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
[pasteboard setString: @"blah" ]; 
NSLog(@"%@", pasteboard.string); 

Si stamperà "bla" in questo caso, e ogni volta che tocco rapido di un campo di testo, mostrerà l'opzione Incolla. Ma se vado a Safari, Notes o Mail, non mi mostra questa opzione.

Inoltre, se copio qualcosa da posta e vado a mia app, non voglio vedere l'opzione pasta aswell ...

+0

ho avuto questo problema con l'iOS Anche il simulatore, penso che sia solo il simulatore. –

+0

Beh, ho provato sul dispositivo e non funziona ... –

risposta

2

ho problema simile. Potrebbe trattarsi di alcuni conflitti con alcune librerie di terze parti. Ho scoperto che quando rimuovo Flurry Analytics, tutto va bene. Immagino che la lib faccia qualcosa sull'evento "EnterBackground".

Si potrebbe provare a "ripulire" l'applicazione. rimuovere la chiamata di funzione sul delegato di Enterbackground di AppDelgate.

Voglio dire che il tuo codice o codice di terze parti potrebbe fare sth durante "DidEnterBackground" che ammassano i tuoi appunti. cercare di non codificare nulla su questo:

  • (void) applicationDidEnterBackground: (UIApplication *) applicazione {}

cercare di rimuovere il codice di terze parti che è necessario richiamare in anche: - (BOOL) di applicazione: (*) UIApplication didFinishLaunchingWithOptions di applicazione: (*) NSDictionary launchOptions -

+1

Potresti essere più specifico? Non ho capito la tua parte sul "ripulire" –

1

sono stato in grado di ripristinare la funzionalità di cartone tornando al Flurry 2.8.4. Flurry 3.0.2 e 3.0.3 hanno in qualche modo disabilitato il supporto per copia/incolla con app esterne come Blocco note.

1

Sembra che Flurry ha risolto questo problema rilasciando la 3.0.4

Peccato, lamentele dei miei utenti inondati mia casella di posta ...

4

Per fare un tavolo di montaggio permanente tra le applicazioni è necessario utilizzare

UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:pasteboardIdentifier create:YES]; 
[pasteboard setPersistent:YES]; 
[pasteboard setString:string]; 
1

// Salva il testo

UIPasteboard* board = [UIPasteboard 
pasteboardWithName:@"com.company.wtv" create:YES]; 
board.persistent=YES; [board setValue:@"123456ccc" 
forPasteboardType:@"com.company.wtv.sharedValue"]; 

// Retrive text 

    UIPasteboard* board = [UIPasteboard pasteboardWithName:@"com.company.wtv" create:YES]; 
    board.persistent=YES; 
    NSData* result=nil; 
    NSString*resultStr=nil; 
    result =[board valueForPasteboardType:@"com.company.wtv.sharedValue"]; 
    resultStr=[[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];// I got resultStr containing 
123456ccc 

    NSLog(@"key %@",resultStr); 
+0

Puoi spiegare come funziona? – Will

Problemi correlati