【问题标题】:Instagram InstagramCaption not workingInstagram InstagramCaption 不起作用
【发布时间】:2015-08-10 08:39:40
【问题描述】:

我有以下代码用于在 Instagram 上分享文章。

-(void) shareInstagram {
    NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
    if([[UIApplication sharedApplication] canOpenURL:instagramURL]) //check for App is install or not
    {
        UIImage *instaImage = mImg.image;
        NSData *imageData = UIImagePNGRepresentation(instaImage); //convert image into .png format.
        NSLog(@"imageData.leeee===%d", imageData.length);
        if (imageData.length<=100) {
            [self.view makeToast:localize(@"instaErr2") duration:2.0 position:@"bottom"];
        } else {
            NSFileManager *fileManager = [NSFileManager defaultManager];//create instance of NSFileManager
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //create an array and store result of our search for the documents directory in it
            NSString *documentsDirectory = [paths objectAtIndex:0]; //create NSString object, that holds our exact path to the documents directory
            NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"insta.igo"]]; //add our image to the path
            [fileManager createFileAtPath:fullPath contents:imageData attributes:nil]; //finally save the path (image)
            NSLog(@"image saved");

            CGRect rect = CGRectMake(0 ,0 , 0, 0);
            UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
            [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
            UIGraphicsEndImageContext();
            NSString *fileNameToSave = [NSString stringWithFormat:@"Documents/insta.igo"];
            NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:fileNameToSave];
            NSLog(@"jpg path %@",jpgPath);
            NSString *newJpgPath = [NSString stringWithFormat:@"file://%@",jpgPath];
            NSLog(@"with File path %@",newJpgPath);
            NSURL *igImageHookFile = [[NSURL alloc]initFileURLWithPath:newJpgPath];
            NSLog(@"url Path %@",igImageHookFile);

            self.documentController.UTI = @"com.instagram.exclusivegram";
            self.documentController = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
            self.documentController=[UIDocumentInteractionController interactionControllerWithURL:igImageHookFile];

            NSString *globalString;

            if ([[[NSUserDefaults standardUserDefaults] valueForKey:@"PoPinFrom"] isEqualToString:@"user"]) {
                globalString = [NSString stringWithFormat:@"%@ @ %@\n\nhttp://egkw.com/ArticleDetail.aspx?id=%@\n\niPhone : %@\n\nAndroid : %@", [[productDetailsArray objectAtIndex:0] valueForKey:@"Title"], localize(@"appName"), [[productDetailsArray objectAtIndex:0] valueForKey:@"Id"], localize(@"appStoreLink"), localize(@"playStoreLink")];
            } else {
                globalString = [NSString stringWithFormat:@"%@ @ %@\n\nhttp://egkw.com/ArticleDetail.aspx?id=%@\n\niPhone : %@\n\nAndroid : %@", [[productDetailsArray objectAtIndex:0] valueForKey:@"Title"], localize(@"appName"), [[productDetailsArray objectAtIndex:0] valueForKey:@"Id"], localize(@"appStoreLink"), localize(@"playStoreLink")];
            }

            globalString = [NSString stringWithFormat:@"%@\n\n#EGKW", globalString];
            NSLog(@"insta==globalString==%@", globalString);
            self.documentController.annotation=[NSDictionary dictionaryWithObjectsAndKeys:globalString, @"InstagramCaption", nil];
            // self.documentController.annotation = [NSDictionary dictionaryWithObject:globalString forKey:@"InstagramCaption"];
            [self.documentController presentOpenInMenuFromRect:rect inView: self.view animated:YES];
        }
    }
    else
    {
        NSLog (@"Instagram not found");
        DTAlertView *myAl = [DTAlertView alertViewWithTitle:localize(@"err001") message:localize(@"instaErr") delegate:nil cancelButtonTitle:localize(@"dismiss") positiveButtonTitle:nil];
        [myAl setDismissAnimationWhenButtonClicked:DTAlertViewAnimationSlideTop];
        [myAl showWithAnimation:DTAlertViewAnimationSlideBottom];
    }
}

此代码之前运行良好。但是,当我注意到时,我发现 Instagram 中没有显示该标题。经过研究我改变了

 self.documentController.annotation=[NSDictionary dictionaryWithObjectsAndKeys:globalString, @"InstagramCaption", nil];

self.documentController.annotation = [NSDictionary dictionaryWithObject:globalString forKey:@"InstagramCaption"];

但还是不行。

知道出了什么问题吗?

Instagram 是否像 Facebook 一样改变了任何政策?

【问题讨论】:

  • 我遇到了完全相同的问题,就我而言,我正在尝试使用标签,但无济于事。
  • @CanPoyrazoğlu :我认为 Instagram 像 Facebook 一样改变了它的政策,但 Instagram 没有发布。所以不确定这是错误还是政策变化......
  • 刚刚看到。在实现这个确切的功能时看到这一点很遗憾。

标签: ios objective-c hook instagram instagram-api


【解决方案1】:

Instagram 现在已删除使用交互控制器填充标题字段的功能。

查看他们的这篇博文

Instagram developer blog

【讨论】:

  • 分享频道经常感觉垃圾内容Instagram 有点奇怪
  • 有什么办法吗?我有一个严重依赖于发送的标题的应用程序。那个应用程序现在完全没有价值了......所以我希望有另一种方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多