Kann ich deaktivieren Sie die benutzerdefinierte Tastaturen (iOS8) für meine app?
EDIT: tl;dr - es ist möglich, siehe akzeptierte Antwort unten.
Ist es (nicht nur programatic) zur Verhinderung einer benutzerdefinierten Tastaturen (iOS8) verwendet werden, die für meine Anwendung? Ich bin hauptsächlich daran interessiert, die "per-app" - Einstellung, so dass nur meine app ist nicht erlaubt die Verwendung von benutzerdefinierten Tastaturen, aber das deaktivieren von benutzerdefinierten Tastaturen systemweit ist der Letzte Ausweg.
So weit ich weiß, ist, dass benutzerdefinierte Tastaturen systemweit und kann von keiner Anwendung mehr verwendet. Das OS wird fallback auf Lager nur Tastatur für die sichere Eingabe von text (text-Felder mit secureTextEntry
eingestellt YES
). Nicht viel Hoffnung hier.
Bekam ich einen Eindruck von App Extension Programming Guide
dass MDM (Mobile Device Management) einschränken kann, Gerät mit benutzerdefinierten Tastaturen überhaupt, aber ich finde nicht, dass die option in der neuen beta-version von Apple Configurator.app
für OS X Yosemite. Ist 'Konfigurator' nur fehlt diese option?
Irgendwelche Ideen hier? Sollte ich den radar zu vermuten, dass Apple sollte die Einführung solcher Funktionalität?
- Wenn Sie einen Benutzer verwenden möchten, eine benutzerdefinierte Tastatur, die Sie, um Sie zu stoppen?
- Gründen der Sicherheit (enterprise app).
- AFAIK kannst du das nicht. Benutzerdefinierte Tastaturen "ersetzen" die system-Tastatur, die auf einer systemweiten Basis. Die einzige Sache, die Sie tun können, aus einer unternehmerischen Perspektive ist, um a) zu verbieten der installation von apps aus dem App Store oder b) führen Sie einige Aktionen aus, wenn jemand hat eine app installiert, die enthält eine benutzerdefinierte Tastatur. Aber a) ist schwer zu realisieren, in der BYOD und b) ist schwer zu finden... Apple ist offen für Radare (vielleicht für iOS9) dann.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie bekommen, was Sie wollte in beta 3 Samen. Linie 440 von UIApplication.h:
Ist es, die derzeit nicht in den docs, aber klingen wie es will genau das tun, was Sie hier gefragt.
Ich vermute, diese "extension-point identifiers" sind nicht unique identifiers extensions, aber von Ihrer Art, da auch diese auf Linie 545:
TLDR: zu deaktivieren, benutzerdefinierte Tastaturen müssten Sie so etwas wie dies in Ihrer app delegate:
UIApplicationKeyboardExtensionPointIdentifier
konstant, da es nicht definiert ist vor 8.0 SDK. Sie können nur ersetzen Sie es mit@"com.apple.keyboard-service"
. Allerdings habe ich keine Ahnung, ob diese Methode tatsächlich aufgerufen wird, die auf iOS 8, wenn gebaut, die gegen ältere SDK und ich habe keine ältere SDK, um zu versuchen, so lassen Sie mich wissen, wenn es für Sie arbeitet.Swift 3 :
Ich möchte nur hinzufügen, diese für die Entwickler, die möchten, implementieren Sie diese Methode in Xamarin iOS. Die Idee ist, überschreiben die
ShouldAllowExtensionPointIdentifier
Methode in IhrerAppDelegate
: