问题标签 [ios8-share-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 投票
3 回答
1351 浏览

ios8 - 共享扩展取消和发布按钮

你能帮我如何在 SLComposeServiceViewController 中自定义取消和发布按钮吗?

我想更改标题和按钮图像。

0 投票
1 回答
539 浏览

ios8 - 使用共享扩展程序后需要打开我的应用程序。就像 Dropbox 和 Maps.me 一样

我在我的扩展中使用 context.openURL 进行了尝试,但这被 Apple 阻止了。这就是他们的文档所说的:

讨论: 每个扩展点决定是否支持这种方法,或者在什么条件下支持这种方法。在 iOS 8.0 中,只有 Today 扩展点支持这种方法。

那么在选择从电子邮件中共享文件后如何打开我的应用程序?Dropbox 做到了,Maps.me 做到了,所以一定有办法。

编辑:共享扩展不是解决这个问题的方法。在评论中,汤姆向我指出了一个包含正确内容的 SO 帖子:iPhone 中的“打开方式”某些应用程序如何工作?

0 投票
1 回答
3553 浏览

ios - iOS add share extension on maps

I want to add share extension on Apple's Maps, does anyone know how to do. I try to set NSExtensionAttributes as below but it don't work, my APP doesn't show in the Maps's share sheet.

0 投票
1 回答
470 浏览

ios - ios swift扩展显示错误

我编写了一个扩展来将图像共享到我的网络服务。服务器正在毫无问题地接收项目,但服务器上发生了一些事情,在预期的状态更改之前终止了执行。

我试图弄清楚在共享扩展中点击发布按钮后如何显示来自网络服务器的响应(如错误)。

这可能吗?怎么做到呢?

我的didSelectPost:

0 投票
0 回答
1057 浏览

ios - ios扩展使用NSURLSession后台上传下载后会延迟

我想在共享扩展中上传从服务器下载的数据,但是上传任务被延迟,它将在下次我在共享扩展中按下发布按钮时继续。我在Document中发现这条消息描述了“discretionary”,是不是表示上传任务是在APP处于后台状态时启动的,所以系统可能会延迟上传。

对于在您的应用程序处于后台时启动的传输,系统始终自行决定启动传输 - 换句话说,系统假定此属性为 YES 并忽略您指定的任何值。

以下是代码:

更新:

在我分享了几次之后,下载任务可能会停止,并一直运行到我稍后分享。

0 投票
2 回答
714 浏览

ios - iOS 共享扩展关闭键盘

我正在为我的应用程序实现一个共享扩展,到目前为止一切都很好,除了我似乎无法关闭使用默认布局/故事板自动打开的键盘。

我保持默认设计/布局(SLComposeServiceViewController),其中包括预览图像和 UITextview,UITextview 自动获得焦点,打开键盘。

通常这很好,但如果你没有登录我的应用程序,我会显示一个 UIAlertController 说你需要登录才能共享。问题是键盘在警报的同时打开。

我已经尝试过在 viewDidLoad、viewDidAppear 和 viewWillAppear 中都没有运气[self.view endEditing:YES];[self.textView resignFirstResponder];

0 投票
0 回答
113 浏览

ios8 - 如何停止在“打开方式”选项菜单视图中显示共享扩展?

我正在为我的应用程序开发共享扩展。在我的共享扩展 info.plist 中,我添加了 NSExtensionActivationSupportsImageWithMaxCount 激活规则。所以我希望我的应用共享扩展将出现在任何应用的任何图像共享中。但我的问题是我的应用共享扩展也出现在苹果的打开选项菜单视图中。有什么方法可以停止在 Open-In 菜单中显示我的应用程序?

注意:我的应用支持不同类型文档的自定义 URI 方案。

0 投票
1 回答
1162 浏览

ios - 尝试检索文件的操作扩展

我正在尝试在 iOS 8 中创建一个动作扩展。从一个新项目开始,我创建了一个单视图应用程序并为动作扩展添加了一个新目标。默认操作扩展模板配置为显示图像。当我从照片分享时,图像会显示在扩展的视图控制器上,因此基本的管道都可以正常工作。

真正的用例是我想将文本文件从 Dropbox(或 Air Sharing 或其他)共享到应用程序并让应用程序处理文件。

首先我改变了info.plist:

我添加testfile.text到 Dropbox,当我在 Dropbox 应用中导航到它并点击共享按钮时,我的扩展程序出现了,因此激活规则似乎正在运行。

当我记录扩展上下文时,这就是我得到的self.extensionContext.inputItems

有一个类型为public.url. 所以我修改了 viewDidLoad 中的模板代码来查找类型kUTTypeURL

url是这样的(我已经更改了中间的 id 字符串):

initWithContentsOfURL我收到文字后,但这不是我想要的。测试文件大约 300 字节。返回的是大约 70,000 字节的元数据。

我如何获取文件?我使用了错误的类型标识符吗?

注意:如果我将文件共享到 Evernote 或 TapForms,它会直接进入,因此与文件无关。

0 投票
3 回答
3899 浏览

ios - 共享扩展 loadItemForTypeIdentifier 返回 NSURL 错误

我有以下代码可以读取传递的 URL。我正在使用Pocket应用程序对此进行测试,虽然hasItemConformingToTypeIdentifier返回 YES kUTTypeURL,但尝试加载它会返回错误而不是说明

“意外的价值等级。”

. 如果我尝试将它作为一个id<NSSecureCoding>项目加载并调试,我发现传入的对象确实只是页面的标题而不是 URL。如何阅读网址?

0 投票
1 回答
248 浏览

javascript - 使用 JavaScript 在后台共享扩展上传

我实现了一种使用 wkwebview 和 javascript 桥在共享扩展名中上传文件的方法。桥接处理上传,如果一个部分成功上传,它将开始文件的下一部分,直到文件完全上传。这非常有效,但我想在后台执行此任务,这样用户就不必在上传期间在共享扩展窗口内等待。我怎样才能实现这样的后台上传?

Javascript Bridge Swift 端: