我正在创建一个iOS应用程序,使用户能够将图像发布到三个(或所有三个)社交媒体提供商之一,包括:Twitter,Facebook和Instagram。
我尝试使用UIDocumentInteractionController()实现此功能,虽然这有效地添加了'Copy to Instagram'图标选项,但它不允许我为Facebook和Twitter共享添加图标/选项。
花了一个小时左右谷歌搜索我的问题的解决方案后,我遇到了看起来很有希望的UIActivityViewController。我已经实现了一个活动表,允许我通过Facebook和Twitter分享,这很棒,但是,是否有人知道我如何将'copy in instagram'选项整合到表格中?
@IBAction func shareInstagramPressed(sender: AnyObject) {
if(newImageData.length != 0){
let image = UIImage(data:newImageData, scale:1.0)
displayShareSheet(image!)
}
else {
print("Please select an image first")
}
}
func displayShareSheet(shareContent:UIImage) {
let activityViewController = UIActivityViewController(activityItems: [shareContent as UIImage], applicationActivities: nil)
activityViewController.excludedActivityTypes = [
UIActivityTypePostToWeibo,
UIActivityTypePrint,
UIActivityTypeAssignToContact,
UIActivityTypeAddToReadingList,
UIActivityTypePostToVimeo,
UIActivityTypePostToTencentWeibo,
UIActivityTypeOpenInIBooks,
UIActivityTypeMessage,
UIActivityTypeMail
]
presentViewController(activityViewController, animated: true, completion: {})
}
答案 0 :(得分:0)
是:强>
... 技术上可能,但 这个支持可能来自Instagram。
只有在想要向用户提供自定义服务时,才应将UIActivity子类化。系统已经为许多标准服务提供支持,并通过UIActivityViewController对象提供它们。例如,标准活动视图控制器支持通过电子邮件发送数据,将项目发布到用户的某个社交媒体帐户以及其他几个选项。您不必为任何内置类型提供自定义服务。
否:强>
Instagram目前不支持UIActivity
。
NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
}