gpt4 book ai didi

ios - 我可以为我的应用程序禁用自定义键盘 (iOS8) 吗?

转载 作者:IT王子 更新时间:2023-10-29 07:55:19 24 4
gpt4 key购买 nike

编辑:tl;dr - 这是可能的,请参阅下面已接受的答案。

是否有任何(不仅是编程)方式来防止自定义键盘 (iOS8) 用于我的应用程序?我主要对“每个应用程序”设置感兴趣,所以只有我的应用程序不允许使用自定义键盘,但在系统范围内禁用自定义键盘是最后的手段。

到目前为止,我知道自定义键盘是系统范围的,可以被任何应用程序使用。操作系统将回退到仅用于安全文本输入的标准键盘(secureTextEntry 设置为 YES 的文本字段)。这里希望不大。

App Extension Programming Guide 给我的印象是 MDM(移动设备管理)完全可以限制设备使用自定义键盘,但我在新的 beta 版本中没有找到该选项Apple Configurator.app 适用于 OS X Yosemite。 “配置器”是否只是缺少该选项?

这里有什么想法吗?我是否应该提交雷达建议 Apple 应该引入此类功能?

最佳答案

看起来你在 beta 种子 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:要禁用自定义键盘,您可以在应用委托(delegate)中包含如下内容:

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

关于ios - 我可以为我的应用程序禁用自定义键盘 (iOS8) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com