【发布时间】:2015-10-02 11:47:18
【问题描述】:
不幸的是,目前缺少有关 iOS 9 上的 App Extension / Share Sheets 的示例代码或正确信息。(即使是 Apples Dev Support 在这方面也非常令人失望。就在今天,我得到了答案“我们没有不幸的是,操作扩展示例“。他们不会寄给我的。
不管怎样,也许有人愿意分享他在这个话题上的知识。 所以,在 xcode 中添加一个共享扩展是很容易的部分,但我很难
发送和接收字符串:我希望使用当前 URL 在 Safari 中打开共享表(甚至可能使用 WWDC 2015 视频“应用程序扩展最佳实践”中的字符计数器)并将其发送到应用程序通过点击“发布”。真的有必要打开一个 NSURLSession 吗?
无法在/General/“App Icons and Launch Images”/App Icons Source 下添加共享图标。一些来源建议使用资产目录 - 但在我这样做之前,是否没有其他方法可以简单地添加一张图片?
我发现的其他来源包括:
今日扩展: raywenderlich.com/83809/ios-8-today-extension-tutorial
如何构建一个简单的操作扩展: http://code.tutsplus.com/tutorials/ios-8-how-to-build-a-simple-action-extension--cms-22794
iOS 8 上带有数据共享的基本共享扩展: http://www.andypierz.com/blog/2014/9/19/basic-share-extensions-with-data-sharing-on-ios-8
到目前为止,我能够完成的是在 shareViewController.m 上的 Share Sheet 中添加标题:
- (void)loadView
{
[super loadView];
self.title = @"Title of the Share Sheet";
}
【问题讨论】:
-
没有 ShareViewController 这样的东西,你到底在说什么?你是在问写一个分享扩展吗?
-
是的,我想在我的应用程序中添加一个共享扩展。当我选择“文件 > 新建 > 目标 > iOS 应用程序扩展 > 共享扩展”时,我得到 4 个文件:一个 shareViewController.h/.m、一个 Storyboard 和一个 Info.plist。我对您的回复“没有 ShareViewController 这样的东西”感到有些困惑?
-
嗯,它只是一个普通的 SLComposeServiceViewController 子类。这才是最重要的。 “ShareViewController”只是他们在模板中提供的任意名称;你还没有结婚。
-
所以,现在我们已经确定您要编写共享扩展,并且您正在询问有关 SLComposeServiceViewController 的问题。那么现在,你的问题是什么?恐怕我看不到它,隐藏在你周围的所有徘徊中......
-
我想通过 SLComposeServiceViewController 向我的应用程序发送一个 URL。首先我需要一个应用组,对吗?我已经为我的共享目标和我的应用程序(在功能下)做到了这一点。我的理解是字符串存储在共享的 NSUserDefaults 中?
标签: ios objective-c xcode ios-app-extension