簡體   English   中英

如何將圖像從我們的應用程序導出到Instagram?

[英]How to export an Image from our App to Instagram?

我使用了以下代碼,但它沒有用。 我想把我的應用程序中的圖像放到我的iPhone上安裝的Instagram應用程序中。

NSString *fileToOpen = [[NSBundle mainBundle] pathForResource:@"IMG_0192"  ofType:@"jpg"];
fileToOpen = [fileToOpen substringToIndex:[fileToOpen length] - 3];
fileToOpen=[NSString stringWithFormat:@"%@ig",fileToOpen];
NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
NSLog(@"%@",fileToOpen);
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
//imageToUpload is a file path with .ig file extension
/*UIAlertView *alert = [[UIAlertView alloc] 
                      initWithTitle:@"" 
                      message:@"Can open app!" 
                      delegate:self  
                      cancelButtonTitle:@"OK" 
                      otherButtonTitles:nil];
[alert show];
*/

self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:fileToOpen]];
self.documentInteractionController.UTI = @"com.instagram.photo";
self.documentInteractionController.annotation = [NSDictionary dictionaryWithObject:@"Its a testing" forKey:@"InstagramCaption"];

我嘗試了很多,但它根本不起作用。

您可以使用以下代碼將應用中的圖像共享到iPhone上安裝的Instagram應用。

- (void) shareImageToInstagram 
{
    NSURL *instagramURL = [NSURL URLWithString:@"instagram://"];
    if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) 
    {
        CGRect rect = CGRectMake(0,0,0,0);
        CGRect cropRect=CGRectMake(0,0,612,612);
        NSString *jpgPath=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.igo"];
        CGImageRef imageRef = CGImageCreateWithImageInRect([imgViewPost.image CGImage], cropRect);
        UIImage *img = [[UIImage alloc] initWithCGImage:imageRef];
        CGImageRelease(imageRef);

        [UIImageJPEGRepresentation(img, 1.0) writeToFile:jpgPath atomically:YES];
        NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@",jpgPath]];
        self.dicont.UTI = @"com.instagram.photo";
        self.dicont = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
        self.dicont.annotation = [NSDictionary dictionaryWithObject:@"Your AppName" forKey:@"InstagramCaption"];
        [self.dicont presentOpenInMenuFromRect: rect  inView: self.view animated: YES ];
    }
    else
    {
        DisplayAlert(@"Instagram not installed in this device!\nTo share image please install instagram.");
    }
}

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

    return interactionController;
}

請試試這個代碼..

您可以使用此代碼:

-(void)shareImageOnInstagram:(UIImage*)shareImage
{
   //It is important that image must be larger than 612x612 size if not resize it.   

    NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];

    if([[UIApplication sharedApplication] canOpenURL:instagramURL])
    {
        NSString *documentDirectory=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
        NSString *saveImagePath=[documentDirectory stringByAppendingPathComponent:@"Image.ig"];
        NSData *imageData=UIImagePNGRepresentation(shareImage);
        [imageData writeToFile:saveImagePath atomically:YES];

        NSURL *imageURL=[NSURL fileURLWithPath:saveImagePath];

        UIDocumentInteractionController *docController=[[UIDocumentInteractionController alloc]init];
        docController.delegate=self;
        [docController retain];
        docController.UTI=@"com.instagram.photo";

        docController.annotation=[NSDictionary dictionaryWithObjectsAndKeys:@"Image Taken via @App",@"InstagramCaption", nil];

        [docController setURL:imageURL];


        [docController presentOpenInMenuFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES];  //Here try which one is suitable for u to present the doc Controller. if crash occurs
    }
    else
    {
        NSLog ("Instagram is not available");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM