如何在一个地方放置iOS分享Facebook和Instagram共享按钮?

时间:2015-10-23 04:30:56

标签: ios objective-c facebook share instagram

我有一个分享图片的应用。我尝试过社交框架,UIActivity工作得很好。但我想要的是将 Facebook和Instagram 放在一个地方,我无法找到办法。我搜索了很多,有办法吗?

1 个答案:

答案 0 :(得分:1)

更改文件类型:

- (void)share {
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/tmptmpimg.jpg"];
    [UIImageJPEGRepresentation(_img, 1.0) writeToFile:path atomically:YES];

    _documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path]];
    _documentInteractionController.delegate = self;
    [_documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];
}

- (void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application {
    if ([self isWhatsApplication:application]) {
        NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/tmptmpimg.wai"];
        [UIImageJPEGRepresentation(_img, 1.0) writeToFile:savePath atomically:YES];
        controller.URL = [NSURL fileURLWithPath:savePath];
        controller.UTI = @"net.whatsapp.image";
    }
}

- (BOOL)isWhatsApplication:(NSString *)application {
    if ([application rangeOfString:@"whats"].location == NSNotFound) { // unfortunately, no other way...
         return NO;
    } else {
         return YES;
    }
}

这样我们就可以使用所有选项 - Facebook,Twitter,Instagram和WhatsApp。

仅显示所选选项的问题仍未解决,但它是次要问题。