ios:让人们分享链接/图像/文本到我的应用程序

标签 ios uiactivity

如何让我的应用出现在 Safari、照片等的共享事件列表中? 我想让人们像在 Facebook 上一样通过我的应用分享链接/图片或文本。

Facebook/Twitter 等在默认 UIActivityType 列表中可用,但 Pinterest、Zomato 等其他应用如何实现这一点?

最佳答案

最简单的方法是使用文件类型关联。那里已经有很多教程,因为这个概念已经很成熟了,所以我将在这里向您介绍主要关键字。

首先要确定的是Uniform Type Identifiers (UTI)你要支持。 Here是 Apple 当前可用的 UTI 的列表。

然后,在您的 Xcode 项目中打开目标,然后转到 Info 选项卡。在那里您会找到文档类型 条目。 打开它,然后点击加号以添加新的文档类型。指定名称和您要支持的 UTI(在此示例中,我选择了 PDF):

enter image description here

请注意,您还需要提供其他文档属性。大多数教程都将 (LSHandlerRank, Alternate) 作为键值对,但我没有找到任何原因。它似乎也适用于 (foo, bar)

接下来,运行您的应用以使其在设备上注册。

当你现在有一个 PDF,比如说你的邮件应用程序中的一个附件,你的应用程序现在将出现在列表中:

enter image description here

最后,在您的 AppDelegate 中,您需要实现以下方法:

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    NSLog(@"App opened with url %@", url);
    return YES;
}

每当您的应用收到 PDF 时调用它。这些文件将进入一个名为“收件箱”的特殊文件夹,并且 url 会告诉您已提供的文件的名称。

编辑

这是我的 iPhone 的示例控制台输出:

2015-03-19 15:27:32.841 so 29147257[3951:1529409] App opened with url file:///private/var/mobile/Containers/Data/Application/A5723926-F869-49C0-A2AF-756795932B81/Documents/Inbox/first-1.pdf

关于ios:让人们分享链接/图像/文本到我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144780/

相关文章:

ios - 为 UIActivityTypeMessage 自定义 UIActivity

iOS:共享一个透明的 UIImage w/UIActivityViewController?

ios - WatchKit 错误 - 无法找到接口(interface) Controller 类

ios - 如何改变CGPDFPageRef的背景颜色,以及如何去除页面的阴影

ios - Swift ios viewDidLoad 或 viewDidAppear

ios - 如何从我的自定义 UIActivity 类发送电子邮件?

ios - 尝试使用 UIActivityViewController 通过松弛共享信息时应用程序崩溃

ipad - UIActivity activityViewController在iPad上不关闭

ios - 从 Info.plist 中删除启动屏幕文件会缩放 View

ios - UITableView 在按钮下方蠕动