问题标签 [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 投票
4 回答
3509 浏览

ios - 更改 SLComposeSheetConfigurationItem 的色调颜色/文本颜色

所以在过去的两周里,我一直在研究我的 GitHub 存储库https://github.com/satheeshwaran/iOS-8-Features-Demo,在那里我尝试演示 iOS 8 中引入的 Share 扩展。我了解了我可以添加SLComposeSheetConfigurationItem到 aSLComposeServiceViewController但我无法弄清楚如何更改 a 的色调或文本颜色的方式SLComposeSheetConfigurationItem

到目前为止我所做的,

在此处输入图像描述

如上图所示,我想将描述和我的第一个分享设置为我选择的某种颜色,也可能是我想自定义字体之类的。我对SocialFramework进行了一些研究,但无法从中得到任何东西。

我在我的 iPad 上看到了 Evernote 的分享扩展,它看起来像这样, 在此处输入图像描述

如果您在底部看到一个图标,并且文本颜色等与导航栏的主题相匹配。

引用 WWDC 2014 关于扩展编程的演示文稿,

SLComposeServiceViewController对于标准 UI
UI/NSViewController对于自定义 UI 来回答我的问题,

  1. 我可以自定义SLComposeServiceViewControllerSLComposeSheetConfigurationItem看起来像这样吗?
  2. 第二个问题是关于报价的,可以SLComposeServiceViewController自定义默认值吗?或者我应该使用一个UIViewController子类来做我自己的 UI。
  3. Evernote 将如何完成自定义UIViewController子类以复制行为或使用SLComposeServiceViewController(我不确定是否要问这个,但我想要答案)
0 投票
1 回答
1173 浏览

ios - 带有外部蓝牙键盘的 iOS 8 自定义键盘

我现在有一个工作的 iOS 8 自定义键盘来输入中文,我正在寻找将此键盘与外部蓝牙键盘一起使用的可能性。

我的第一个问题是,是否有人成功地将外部键盘与自定义键盘一起使用?我之所以问,是因为当我将 Apple 无线键盘连接到 iPad Air 时,软件键盘不会出现,因此我无法判断我使用的是哪个键盘。也使用命令+空格不会切换到我自己的键盘。

然后我尝试使用带有内置中文注音键盘的外部键盘,它不起作用,它只输出注音符号但没有中文单词可供选择。

我可以理解外部键盘不适用于自定义键盘,因为自定义键盘键必须以某种方式与外部键盘键相关联。但是,我认为至少内置键盘应该可以工作。

所以我的第二个问题是是否有人尝试使用外部蓝牙键盘使用内置键盘而非英语输入文本,最好是需要映射表的语言(例如,中文和日文,你输入一些符号,应该有您可以从中选择的单词列表)。

0 投票
2 回答
1999 浏览

ios - UIActivityViewController 没有在 iOS8 的“更多”列表中显示我的自定义活动图像

这是屏幕截图: 在此处输入图像描述

在我的 UIActivity 子类中,我重写了 -activityImage 方法以将我自己的图标用于 facebook 共享项目,但它出现在共享面板中,但在 MORE 列表中消失了。

在此处输入图像描述

0 投票
3 回答
3695 浏览

ios8 - 在 IOS-8 中通过 SLComposeViewController 在 facebook 和 twitter 上发布

我曾尝试使用 SLComposeViewController 在 facebook 和 twitter 上发帖。我的代码是

}

这在 ios 7 中工作正常,但在 ios 8 中,这张表出现在我在窗口中添加的视图后面。我该如何解决这个问题?在此处输入图像描述

0 投票
1 回答
1254 浏览

ios8 - iOS8 插件 pinterest.ShareExtension 中断

我有一个使用 UIActivityViewController 进行共享的 iOS 应用程序。当我尝试通过 Pinterest 分享时,我会非常短暂地看到 Pinterest 分享对话框,然后它就消失了。

以下消息将打印到日志中:

是什么导致了这个错误?我需要做什么才能使 Pinterest 共享正常工作?

0 投票
0 回答
1373 浏览

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

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

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

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

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

0 投票
0 回答
881 浏览

ios - 在 ShareExtension 中上传照片并与 PFObject 关联

我正在尝试将图像上传到 Parse 并将其与共享扩展中的 PFObject 相关联,但是鉴于编写共享扩展的限制,我不确定如何正确执行此操作。

我的第一次尝试如下使用 PFFile 和 PFObject 类

这种方法的问题是,如果在应用扩展被销毁时 saveInBackground 尚未完成,则上传将被终止,因此您必须根据应用扩展文档使用 NSURLSession 保持连接处于活动状态。

NSURLSession 不能与 Parse 类一起使用,因此我必须使用 Parse REST API 来启动照片上传,然后在上传照片后将 url 与对象相关联。

上传照片 -> 将照片 URL 与对象关联

这将设置上传任务以将图像上传到 Parse

照片上传完成后,我们必须将 url 与对象相关联。就像上面一样,我正在创建一个名为 UserPhoto 的对象

链接 REST API 调用有时会起作用,有时不会导致图像被上传,但图像 url 没有与 UserPhoto 关联,因此我想知道一旦扩展被破坏,操作系统是否禁止触发另一个 NSURLSession。

所以这是我的问题:

1) parse 是否提供了对 NSURLSession 的抽象,从而消除了使用 Parse REST API 的需要?

否则

2)如何安全地链接两个 NSURLSessions,以便上传图像并且图像 URL 成功与 Parse 对象关联?

0 投票
2 回答
1120 浏览

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

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

问题是:

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

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

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

0 投票
1 回答
1557 浏览

ios - iOS 共享扩展不会终止

我创建了一个带有自定义 UI(不使用 SLComposeServiceViewController)的 iOS 共享扩展,并且一切正常。

调用扩展后,它会获取一个共享 URL 或文本并发送它。这就是它所做的一切,而且效果很好。

自定义 UI 很简单。一个图像视图显示一个图形,指示它正在发送,然后在完成后更改为“已发送”。然后这淡出。

问题是完成后,扩展似乎消失了,但我无法再控制主机应用程序了。就好像一个不可见的窗口或视图位于一切之上。(例如,Safari 中的图像旋转器仍在旋转,但我无法滚动或点击链接或按钮等)

共享完成后我[self.extensionContext completeRequestReturningItems:nil completionHandler:nil];会打电话,据我所知,这应该会关闭我的 UI。我也试过[self.view removeFromSuperview]没有任何运气。

发生在模拟器和设备上。有什么我想念的吗?

编辑:这是我为测试共享而构建的一个简单应用程序的视图层次结构在共享前后在 Reveal 中的样子。该应用程序有两个按钮:分享文本和分享网址,每个按钮都会显示一个标准的分享表。

http://joshh.is/1utYnKS

http://joshh.is/1rdVo34

0 投票
1 回答
653 浏览

ios - 托管扩展的应用程序必须遵守应用程序扩展编程指南

我使用 iOS 8 共享扩展将 iPhone 应用程序提交到 AppStore。它被 AppStore 拒绝,原因是“共享”扩展是全屏且不受限制。

我正在通过扩展 UIViewController 和使用 Xib 来创建自定义 UI 以进行扩展。当我在 iPad 中安装应用程序并通过 safari 打开扩展程序时,我的应用程序仅适用于 iPhone,它以全屏显示,并且不限于 iPhone 屏幕。

原因

25.1:应用程序托管扩展必须符合应用程序扩展编程指南 ----- 25.1 -----

我们发现您的应用托管扩展程序,但不符合应用程序扩展程序编程指南,如 App Store 审查指南所要求的。

具体来说,我们发现您的“分享”扩展程序是全屏且不受限制的。