Pregunta

Gracias a un par de otros posts aquí , he tenido éxito en ser capaz de utilizar Instagram para iPhone ganchos para abrir Instagram y lo presenta con una foto correctamente desde mi aplicación.

(He hecho mi ViewController de la clase a delegate de UIDocumentInteractionController, y alloc/init'ed un nonatomic/retain property de UIDocumentInteractionController...

Sin embargo, la clave que puse en mi NSDictionary que pongo en el documento controlador de anotación de la propiedad no parecen llevar a Instagram - el área de título es simplemente vacío.

¿Cómo puedo lidiar con esto?

Aquí está mi método:

- (void) uploadImageToInstagram:(UIImage *)imageToUpload {
    NSLog(@"postToInstagramInBackground");

    NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
    if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {

        // Upscale to 612x612
        imageToUpload = [self upscaleImage:imageToUpload];

        // Get JPG + IGO Format
        NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/generate.igo"];
        [UIImageJPEGRepresentation(imageToUpload, 1.0) writeToFile:savePath atomically:YES];

        // Paths
        NSURL *imageURL = [NSURL fileURLWithPath:savePath];
        NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@",savePath]];

        // Setup DocController
        self.docController.UTI = @"com.instagram.photo";
        self.docController = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
        self.docController.annotation = [NSDictionary dictionaryWithObject:@"MyApp" forKey:self.caption.text];
        [self.docController setURL:imageURL];
        [self.docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES ];
    }
    else {
        NSLog(@"Instagram not installed in this device!\nTo share image please install Instagram.");
    }
}

Hay un par de métodos que son llamados aquí que yo no he incluido, que aumenta la imagen para asegurarse de que sus 612x612, y una de las configuraciones de la dirección url del archivo para el documento controlador.

¿Fue útil?

Solución

Sintaxis correcta debe ser

self.docController.annotation = [NSDictionary dictionaryWithObject:self.caption.text forKey:@"InstagramCaption"];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top