问题标签 [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.
ios - 如何测试是否从包含应用程序授予“允许完全访问”权限?
我正在做一个键盘扩展项目。在应用程序代码的某些点,我需要测试用户是否已授予键盘扩展的“允许完全访问”权限。交易是我需要从应用程序端进行这些测试,并基于此让用户访问键盘设置或在未授予权限的情况下提醒他。
问题是这里提供的方法如下:
或者:
仅从键盘端工作,因为键盘是唯一受此权限影响的键盘。从包含应用程序端,这两个方法总是返回 true。
有人知道从应用程序端测试这个的可靠方法吗?
ios - 在 iOS 8 键盘扩展中实现键盘按键弹出动画
我想问一下如何在按住iOS 8键盘扩展的键盘键时实现弹出动画。我知道如何在每个键上分配长按手势,但不知道如何为键设置动画以在该特定键中显示其他字符。
编辑:我在这里看到了类似的问题,但不同之处在于他能够创建流行动画。
编辑2:我在这里看到另一个类似的问题,但与标准键盘上的默认外观相比,它们的外观有所不同。
编辑 3:点击键盘键时,我能够实现我想要的行为。我只需要知道如何正确绘制扩展键视图。附上图片供参考。第一个是我们迄今为止所取得的成就。我想知道如何绘制那个字母 F 键,然后将其转换为 a UIView
。
编辑 4:我能够创建按键弹出视图,但不是我想要的类似于标准键盘按键弹出的所需形状或图层。这里供参考:
编辑 5:我尝试了 PaintCode 的演示版,它生成了下面的代码。这是在drawRect
我的自定义视图上的方法中。我的按键宽度通常为 26.0,高度为 39.0。我也在使用Objective-C btw。
问题是,它看起来像这样:
如果我能把它做得足够大,让它像默认键盘一样,那么它就可以工作了。
ios - 无法本地化自定义键盘 iOS
我正在尝试实现一个键盘扩展,它可以根据用户在设备设置中选择的语言显示按键。
在Edit Scheme中,我已经为容器应用程序和扩展正确设置了应用程序语言和应用程序区域,如下所示:
但是我的键盘仍然总是以英语(en-US)版本打开。
在info.plist中,我已经为PrimaryLanguage添加了mul:
此外,我已经本地化了键名。
我使用以下方式记录了应用程序正在解释的语言:
容器应用程序确实检测到正确的语言为ur。但是键盘扩展总是选择en-US。我正在使用 xcode 6.4 并在 Simulator iOS 8.4 上进行测试。
我可能在这里错过了一个非常小的点。欢迎任何建议。谢谢。
ios - 最小化运行应用程序时关闭 iOS 键盘扩展
我正在开发 iOS 键盘扩展。它工作正常,但如果我最小化任何当前应用程序并在另一个应用程序中打开键盘,它使用的运行时内存几乎会增加一倍。
为了更好地解释它,让我举个例子。
假设我在“Notes”应用程序中打开键盘,大约需要 15 MB(首次启动)。现在,如果我最小化“Notes”并在“Safari”中打开键盘,内存将变为 21 MB。
所以,我的问题是,如果运行它的应用程序被最小化,有什么方法可以关闭键盘?
任何帮助表示赞赏。谢谢
ios - 如何在其他设备上显示我的键盘扩展的表情符号
我正在寻找 iOS 键盘扩展的解决方案。
我的问题是,如果我将使用我的设备输入我的表情符号,那么另一台设备(没有安装我的应用程序)将如何在 Whatsapp 等应用程序中显示它?
ios - 在我的任何代码运行之前,iOS 键盘扩展程序崩溃
我一直在为我开发的键盘扩展收到这样的崩溃报告,并且对如何读取堆栈跟踪或为什么会发生或两者都感到困惑,我希望有人可以帮助我解决这个问题。
下面是堆栈跟踪:
在列出库的左栏中(正确的术语?)我没有看到对我的代码的任何引用。在其他崩溃日志中,总是有一些对我的应用程序中的类或其他东西的引用,但我在这个日志中没有看到。这意味着什么?崩溃是否发生在我的代码执行之前,这是我可以忽略的 Apple 问题?
ios - iOS 9 - 升级时键盘将捆绑名称显示为“(null)”
我在应用商店中有一个 iOS 键盘应用扩展。最近在测试将应用从1.0版本升级到1.1的效果时,我注意到当我按住标准iOS键盘上的地球图标时,我的应用名称显示为(null)
。有没有其他人经历过这个?如果我在升级后打开键盘之前不尝试打开配套应用程序,就会发生这种情况。如果我打开配套应用程序,这往往会消失。我在下面附上了一张图片。
更新:使用 iOS 控制台,我注意到下面的日志条目:
对于难以阅读的输出,我深表歉意,但您可以看到 iOS 在错误的路径上搜索我的插件。它正在寻找我的旧安装路径,而不是新安装路径。我的简单猜测是 iOS 键盘正在某个地方缓存其他键盘的列表,并且在其他一些触发器之前不会更新它。
ios - iOS键盘扩展将视频文件粘贴到第三方应用程序?
我一直在研究通过 iMessage 发送视频文件的 iOS 键盘扩展。
此功能适用于复制 + 粘贴方法,但在尝试复制 + 粘贴到第三方应用程序(IE:Facebook、WhatsApp、Line 等)时,“粘贴”选项不会出现。
有什么方法可以将这些文件粘贴到这些应用程序中?或者这在 iOS 上是不可能的?
先谢谢了!
ios - 如何使用 presentViewController 呈现 iOS 键盘扩展
我的目标是在键盘成功实例化时向 iOS 键盘展示该方法presentViewController:animated:completion
,利用平滑向上的动画。
一些非常简短的背景:键盘扩展项目是用 Objective-C 编写的,KeyboardViewController.h/.m
处理逻辑和一些基本的视图布局inputView.xib
。
基于这个SO question,一些答案建议使用 call presentViewController
from的方法[UIApplication sharedApplication].keyWindow.rootViewController
。问题是,由于这是一个 iOS 扩展,当我尝试复制此方法时,我得到了sharedApplication
不可用的错误。我想知道是否存在一种解决方法,我可以presentViewController
通过它本身或通过super
? 在我目前的尝试中,调用[self presentViewController: self...]
会导致异常。
非常感激!