问题标签 [ios-keyboard-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
983 浏览

ios - Fleksy 如何在没有 RequestsOpenAccess 的情况下更改键盘颜色?

iOS 8 有一个新的 Fleksy 键盘版本,具有键盘扩展功能。键盘扩展的颜色可以从包含的 Flexy.app 更改,而无需打开RequestsOpenAccess模式(或 UI 中的“允许完全访问”)。当包含应用程序和扩展程序不共享容器时,这怎么可能?

(现在我想起来了,这也是一个巨大的安全问题。如果包含的应用程序可以与键盘扩展通信,也许它也可以读取您的击键?我并不是说 Fleksy 做到了,只是应该原则上是不可能的,除非扩展被授予完全访问权限。)

0 投票
0 回答
407 浏览

ios - UIInputViewController 子类中的 NSNotification

我正在编写一个自定义键盘扩展,虽然我注册为键盘隐藏/显示通知的观察者,但我的断点从未命中,我的日志语句也从未打印。UIInputViewController 子类中的 NSNotifications 是否发生了一些不同的事情,或者我做错了什么?

0 投票
4 回答
3606 浏览

iphone - 防止文本字段中的自定义键盘

我正在试验自定义键盘如何影响我的应用程序。我在 iPhone 6 上安装了 Swype。

我发现在我的某些视图中,我在文本字段上设置了自定义 inputView 属性,Swype 键盘覆盖并呈现而不是我的选择器。这完全破坏了我的 UI 并且不能被允许。

有没有办法明确告诉 iOS 8 只使用我设置的 inputView?

这是一个错误,也许?允许第三方覆盖我的输入规范完全不是预期的行为吗?

0 投票
3 回答
255 浏览

iphone - 键盘扩展如何知道它在 iPad 上的 iPhone 应用程序中运行?

在 iPad 上使用 iPhone 应用程序时,键盘扩展只能知道 iPad 的屏幕尺寸,但实际上我应该知道它就像在 iPhone 上运行一样,并且得到像 iPhone 一样的尺寸。

我当前的代码在 iPad 上的 iPhone 应用程序中运行,如下所示:

在此处输入图像描述

0 投票
2 回答
3667 浏览

ios - 如何为自定义键盘扩展 ios8 使用自动建议视图?

如何在我自己的 iOS8 自定义键盘扩展中实现 Apple 的预测输入面板?

Apple 的自定义键盘 API 文档自定义键盘 状态:

RequestsOpenAccess在 info.plist 中设置yes 可以通过 UILexicon 类BOOL访问基本词典。autocorrection使用这个类,连同你自己设计的词典,在用户输入文本时 suggestions提供autocorrections

但我找不到如何UILexicon在我的自定义键盘中使用。我将RequestsOpenAccess设置设置为YES

在此处输入图像描述

但是仍然无法访问自定义词典以获取单词建议,例如 Apple 的 iOS8 默认键盘:

在此处输入图像描述

我的自定义键盘看起来像:

在此处输入图像描述

编辑:

我发现requestSupplementaryLexiconWithCompletion用于UILexicon class这样的我尝试使用以下代码来实现它:

0 投票
2 回答
644 浏览

ios - 在 iOS 键盘扩展中播放系统点击声音

我已按照这两个链接上的说明进行操作:

如何在自定义键盘中播放键盘点击声音?

https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html

并做了以下事情:

标题:

执行:

但它仍然无法正常工作。我错过了什么?

0 投票
2 回答
664 浏览

ios8 - iOS 8 第三方键盘识别

如何判断用户正在使用或切换到哪个第三方键盘?

我没有找到任何可用于检查此信息的通知或 API。

0 投票
2 回答
660 浏览

ios - Swift 键盘扩展更新 NSUserDefaults

我正在尝试制作 iOS 键盘扩展,但在将数据从包含应用程序同步/更新到扩展时遇到问题。

正如文档所述,我正在使用

这完美无缺。在包含应用程序中启动键盘之前,我使用它,并在键盘的 viewdidLoad 中检查 NSUserDefault 并且一切正常。

问题是,如果在我的包含应用程序中更新我的 NSUserDefaults,我怎么能在我的键盘应用程序中知道 NSUserDefaults 已更新。

我试过KVO,不行。我尝试使用 NSUserDidChangeNotification 的 NSUserDefaultsStandard 不起作用。NSUserDefaultsStandard 根本不适用于键盘扩展。

我正在考虑在我的键盘扩展中使用 NSTimer,并每隔 X 毫秒检查一次 NSUserDefaults。但这太过分了。

我知道这是可能的,因为应用程序正在 AppStore 中进行。BrightKey 或 CoolKey 更改包含应用程序的键盘设计。所以他们肯定有回调或其他东西来更新他们的数据。

提前感谢任何提出干净解决方案的人。

0 投票
2 回答
1764 浏览

ios - 与 Host App 的自定义键盘扩展通信在设备中不工作但在模拟器中工作

我正在使用自定义键盘扩展。这几乎完成了,但是当我与扩展程序和我的主机应用程序通信数据时,我只是面临设备问题,而我的主机应用程序没有在设备中工作,但在模拟器中工作的是同样的事情。我的代码如下:

HostApp 视图控制器:

我使用以下代码在我的扩展目标中检查这个BOOL值,并根据我的需要更改键盘布局:

相同的代码在模拟器 ios8 设备 iPhone5 中运行良好。请问我在苹果文档中读到的是否需要更多代码,上面写着NSUserDefaultsinitWithSuiteName 帮助我,谢谢。

更新:

我已经在 plist 和 setting->keyboard-customkeyboar->Full Access ON 中设置了RequestsOpenAccess

我的扩展列表:

在此处输入图像描述

0 投票
1 回答
674 浏览

ios - UILexicon iOS 8 没有按预期工作

我正在使用 UILexicon 来获取自定义键盘中的建议。以下是代码:

但它总是返回相同的条目数组。谁能建议我如何使用它。如果有效,我会标记您的答案是否正确。谢谢。