La mia app consente di scattare una foto e aggiungere una sovrapposizione prima di salvarla.Immagine di condivisione iOS sui social network
Mi piacerebbe che l'utente condividesse la sua immagine usando qualsiasi app in grado di gestire le immagini (ad esempio: e-mail, facebook, twitter ...), come un intento su Android.
Ho provato a utilizzare UIDocumentController, ma non mostra Facebook o Twitter come fa nella galleria ufficiale. Inoltre, la mia app si arresta in modo anomalo dopo aver scattato la seconda foto.
C'è un modo semplice per farlo? Non voglio usare l'SDK di Facebook e così via.
Ecco quello che faccio quando l'immagine viene ripresa:
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:
^(CMSampleBufferRef imageSampleBuffer, NSError *error) {
if(!error){
//Resize the picture and add the overlay
UIImage *picture = [self imageFromSampleBuffer:imageSampleBuffer];
//Custom code letting me save the picture in a specific album
[self.library saveImage:picture toAlbum:@"myApp" metadata:metadata withCompletionBlock:^(NSError *error,NSURL* assetURL) {
if (error!=nil) {
NSLog(@"Big error: %@", [error description]);
} else {
NSLog(@"Image Saved");
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"tmp.jpg"];
//Only way to use UIDocumentController is to save the file at a known location
NSData* imagedata = UIImageJPEGRepresentation(picture, 0.9f);
[imagedata writeToFile:path atomically:NO];
NSLog(@"%@",path);
docController.URL = [NSURL fileURLWithPath:path];
// This make my app crash after the second picture
[docController presentPreviewAnimated:YES];
}
}];
} else {
NSLog(@"%@",error);
}
}];
sembra grande, grazie! Non esiste un pulsante predefinito per consentire all'utente di scegliere? – Oyashiro
funziona quasi alla perfezione, ma quando invio una mail la invia ma il controller non viene mai eliminato, c'è qualche metodo per tornare alla visualizzazione precedente dopo il successo? – suMi
Modificata la risposta. Punto di controllo n. 5. – vforvendetta