2014-12-13 12 views
5

Używam tego rozwiązania (https://stackoverflow.com/a/25786928), aby wykryć wszystkie niestandardowe klawiatur aktywowane w Settins aplikacji (iOS 8):Jak wykryć które zwyczaj klawiatura (iOS 8) jest aktualnie w użyciu dla tekstu wprowadzając

- (void)printoutAllActiveKeyboards { 
    // Array of all active keyboards 
    NSArray *keyboards = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] objectForKey:@"AppleKeyboards"]; 
    for (NSString *keyboard in keyboards) 
     NSLog(@"Custom keyboard: %@", keyboard); 
} 

Ale to nie wystarcza dla mojego projektu - muszę wiedzieć, która niestandardowa klawiatura jest aktualnie wybierana przez użytkownika do wprowadzania tekstu. Mam badania stackoverflow i innych zasobów, ale nie znalazłem żadnego rozwiązania. Czy jest jakiś sposób na wykrycie w mojej aplikacji, która klawiatura jest aktualnie wybrana do wprowadzania tekstu?

Dziękujemy!

Odpowiedz

-1

Spójrz na tej metodzie UIApplication API wyłączyć niestandardowych klawiatur:

- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier { 
    if ([extensionPointIdentifier isEqualToString: UIApplicationKeyboardExtensionPointIdentifier]) { 
     return NO; 
    } 
    return YES; 
} 

Być może można zmodyfikować wartość UIApplicationKeyboardExtensionPointIdentifier dopasowane do potrzeb

+0

Pytanie o to, jak wiedzieć, które zwyczaj klawiatura jest obecnie wybrany. Nie wyłączaj niestandardowej klawiatury. Ten interfejs API wyłącza tylko klawiaturę niestandardową. – TomSawyer

Powiązane problemy