0

我需要在 Tumblr 中与 iOS 中的应用程序 Tumblr 共享照片。

对于 Instagram,我喜欢这样:

  NSData *imageData = UIImageJPEGRepresentation(self.test.image, 1.0);

    NSString *writePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"instagram.igo"];
    if (![imageData writeToFile:writePath atomically:YES]) {
        NSLog(@"image save failed to path %@", writePath);
        return;
    } 

    // send it to instagram.
    NSURL *fileURL = [NSURL fileURLWithPath:writePath];
    self.documentController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
    [self.documentController setUTI:@"com.instagram.exclusivegram"];
    [self.documentController setAnnotation:@{@"InstagramCaption" : @"#hey"}];

    if (![self.documentController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES]) NSLog(@"couldn't present document interaction controller");

但是我找不到这样的方法,但是对于 Tumblr,谢谢

4

2 回答 2

8
- (IBAction)btn_tumblr:(id)sender{

CGRect rect =  CGRectMake(0, 0, 0, 0);
UIGraphicsBeginImageContextWithOptions(self.view.frame.size,self.view.opaque, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIGraphicsEndImageContext();

[UIImageJPEGRepresentation(getShareimage, 1.0) writeToFile:[NSString stringWithFormat:@"%@/%@",[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"],@"photo.tumblrphoto"] atomically:YES];
NSURL *fileURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@",[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"],@"photo.tumblrphoto"]]; 
self.dic.delegate = self;
self.dic.UTI = @"com.tumblr.photo";
[self setupControllerWithURL:fileURL usingDelegate:self];
self.dic=[UIDocumentInteractionController interactionControllerWithURL:fileURL];
[self.dic presentOpenInMenuFromRect: rect inView: self.view animated: YES ];}


- (UIDocumentInteractionController *) setupControllerWithURL: (NSURL*) fileURL usingDelegate: (id <UIDocumentInteractionControllerDelegate>) interactionDelegate{
UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL: fileURL];
interactionController.delegate = interactionDelegate;
return interactionController;}

试试这个...!:)

于 2014-08-11T05:21:31.983 回答
0

以下是 tumblr 的代码

- (IBAction)tumblrButtonTapped:(id)sender {    
    NSString * documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString * savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"tumblrImage.jpg"];
    [UIImageJPEGRepresentation(image, 1.0) writeToFile:savedImagePath atomically:YES]; //Put image here

    NSURL * imageUrl = [NSURL fileURLWithPath:savedImagePath];
    docController = [[UIDocumentInteractionController alloc] init];
    docController.delegate = self;

    docController.UTI = @"com.tumblr.photo";
    [docController setURL:imageUrl];
    [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
}

-(UIViewController*) documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller{
    return self;
}

-(UIDocumentInteractionController *) setupControllerWithURL:(NSURL *)fileURL
                                          usingDelegate:(id <UIDocumentInteractionControllerDelegate>)         interactionDelegate {
    UIDocumentInteractionController *interactionController =
    [UIDocumentInteractionController interactionControllerWithURL:fileURL];
    interactionController.delegate = interactionDelegate;

    return interactionController;
}
于 2014-02-13T09:20:49.000 回答