看起来你得到了你在测试种子3 UIApplication.h的440行想要的东西:
// Applications may reject specific types of extensions based on the extension point identifier.
// Constants representing common extension point identifiers are provided further down.
// If unimplemented, the default behavior is to allow the extension point identifier.
- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier NS_AVAILABLE_IOS(8_0);
现在没有包含在这个文档,但听起来像它会做你问什么在这里。
我猜这些“扩展点标识符”是不是扩展的唯一标识符,但它们的类型,因为也有这个就行545:
// Extension point identifier constants
UIKIT_EXTERN NSString *const UIApplicationKeyboardExtensionPointIdentifier NS_AVAILABLE_IOS(8_0);
TLDR:禁用自定义键盘你将包括这样的事情在你的应用程序代理:
- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier {
if ([extensionPointIdentifier isEqualToString: UIApplicationKeyboardExtensionPointIdentifier]) {
return NO;
}
return YES;
}
如果用户想使用自定义的键盘,你是谁阻止他们? –
@FilipRadelic:安全原因(企业应用程序)。 – matm
@matm - AFAIK你不能那样做。自定义键盘“替换”系统范围内的系统键盘。从企业角度来看,唯一可以做到的事情是:a)禁止安装App Store应用程序或b)如果某人安装了包含自定义键盘的应用程序,则执行一些操作。但a)很难在自带设备上实现,b)很难找到... 然后,苹果开放给雷达(也许适用于iOS9)。 – muenzpraeger