UIDocumentInteractionController anotación de la propiedad no copiar título que presenta la solicitud
-
21-12-2019 - |
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.
Solución
Sintaxis correcta debe ser
self.docController.annotation = [NSDictionary dictionaryWithObject:self.caption.text forKey:@"InstagramCaption"];