问题标签 [ios8-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 回答
3434 浏览

swift - Swift:无法以编程方式设置 UIButton 图像并出现错误:“NSString”不是“UIImage”的子类型

我正在尝试以编程方式设置按钮图像,除了我之外,似乎没有人对此有任何问题。

我的代码:

我尝试直接插入图像的名称(这是抛出错误的行)

但我不断收到同样的错误。

我在 Stackoverflow 上找到了一个答案,该答案说解决方案是:

每个人都说效果很好,所以我无法想象我的问题是什么。

我正在制作键盘,所以我在 Interface Builder 中设置了按钮,然后在我的 viewDidLoad 中设置了按钮

然后在 buttonPressed 方法中,我有一个调用 moreOptionsKeyMap() 的开关

0 投票
1 回答
579 浏览

ios8 - 在键盘应用程序扩展中使用 UITextField

我在自定义键盘上添加了文本字段(keyboardTextField)。我可以选择它并输入一些文本(使用我的自定义键盘)。但是我不可能选择回主应用程序的输入视图。这行代码

不能正常工作。如果有人有任何解决方法或任何想法,我需要你的帮助。

0 投票
1 回答
1365 浏览

ios8 - 如何将项目前缀文件添加到照片扩展目标?

主要目标通常包含一个 -Prefix.pch 文件,其中定义了所有便利导入。例如,当将 opencv 与 c++ 一起使用时,有

不幸的是,当在 iOS 8 中使用新的 Photo Extension 目标时,该文件会被忽略,这使得在扩展目标中添加所有需要的文件变得很麻烦。有没有办法让这个前缀文件也适用于新目标?

谢谢

0 投票
0 回答
1373 浏览

ios8 - iOS 8 共享扩展和身份验证流程

我有一个 iOS 8 共享扩展,用于从 Web 浏览器发布内容。如果用户从未通过包含的应用程序登录,则需要提示用户登录。

Pinterest 似乎支持快速切换到包含的应用程序(我假设他们已经实现了共享扩展)。

iOS 文档建议只有 Today 扩展可以打开包含的应用程序

有没有办法通过共享扩展快速切换到包含的应用程序以进行身份​​验证?

0 投票
0 回答
894 浏览

swift - Swift requireGestureRecognizerToFail 太慢了

我正在制作键盘扩展,所以我希望在双击 shift 时激活大写锁定,并让它在单击时定期移动。我的代码:

我遇到的问题是,当我单击时它需要太长时间才能使双击失败,因此按下 shift 会有延迟。如果我太快按 shift 然后按另一个键,它会变成小写,但是下一个键会正确移动。双击工作正常。

如何减少单击的延迟?

0 投票
1 回答
3722 浏览

swift - 在 iOS 8 键盘扩展中使用 UILexicon 实现自动更正

我看到这个问题已经被问过几次了,但似乎没有人有答案。我正在尝试在自定义键盘上创建自动更正功能,但我完全不知道如何做到这一点。苹果提供了一些文档,但不是很详细。我知道它与 UILexicon 数据有关,但我不确定如何处理它以及如何使用它来更正用户正在输入的文本字符串。

任何帮助将不胜感激。

到目前为止我发现了什么:

但这是我所得到的。不知道从这里做什么。

0 投票
2 回答
1120 浏览

ios - iOS 扩展 - 检测“扩展状态更改”(背景/前景)

我为 iOS8 实现了一个共享扩展。该服务使用 OAuth 进行身份验证。我用于扩展的登录信息与容器应用程序共享。

问题是:

当我在扩展程序中时,应用程序切换到容器应用程序并注销,然后应用程序切换回包含扩展程序的主机应用程序 - 如何检测到扩展程序刚刚重新出现?扩展程序依赖于容器应用程序和扩展程序之间的共享数据库中存在的某些信息,但是,当应用程序注销时,这些数据会被删除。

我尝试注册各种“应用程序通知”,例如 UIApplicationDidBecomeActiveNotification。但是,正如预期的那样,这些不需要扩展。

如何检测扩展程序的状态何时发生变化,以便我的扩展程序在重新出现时更加健壮?

0 投票
1 回答
781 浏览

cordova - iOS8 上的应用扩展限制

最近,我一直在对 iOS 8 共享扩展做一个简单的研究,以了解系统是如何工作的,并找出这个功能的限制。我意识到目前的文档https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/index.html只是一个初步文件。我对 iOS8 应用程序扩展的一般限制/可能性有一些疑问:

  • 苹果是否为共享数据指定了一些大小限制?
  • 我可以 100% 确定只有我的应用程序可以启动指定的应用程序扩展程序吗?
  • phonegap 会支持应用扩展吗?
0 投票
2 回答
1037 浏览

ios8 - UIDocumentPickerExtensionViewController 的dismissGrantingAccessToURL 不起作用

我正在为导入模式开发文档提供程序扩展。

文件的 URL 位于扩展程序和容器应用程序共享的共享容器内。

我得到断言失败,说它应该位于共享容器/文件提供程序存储目录中。

所以我将文件从原始目录复制到 File Provider Storage 目录。

我在原始位置有一个文件,并且在新复制的位置也有一个文件。我还检查了文件的数据长度,它是正确的,

但是当我调用 [self dismissGrantingAccessToURL:toUrl];

它不解雇UIDocumentPickerExtensionViewController

我没有遇到任何异常,但它不会关闭并启动传输,因此用户仍然可以访问扩展程序。

以下是我的代码,如果有人遇到同样的事情,请留下您的回复。

0 投票
1 回答
2510 浏览

swift - 在应用程序扩展中找不到库中的 cocoapods

我有一个应用程序和附带的扩展,在同一个项目中有一个包含大部分共享代码的可可触摸框架。我面临的问题是编译应用扩展时找不到框架所依赖的cocoapods。框架目标编译得很好,但是当我编译扩展目标时,我得到了一堆“未解决的标识符”错误。

问题似乎不是框架没有被链接,因为我可以从扩展中访问其中定义的类。我已经查看了其他问题,例如this one,但我所看到的似乎都无法解决我的问题。

任何帮助将不胜感激!

编辑:

该问题已通过为扩展创建单独的桥接头来解决。希望这可以帮助别人!

编辑2:

不幸的是,此解决方案会导致警告

非常感谢解释为什么会发生这种情况以及如何避免它。