Extensión de la foto de iOS finishContentEditingWithCompletionHandler: no se pueden guardar los cambios
Mi aplicación de extensión de fotos tiene acceso tanto a la cámara como a las fotos. Todo está bien, pero al presionarHecho, no puede guardar la imagen.
Código de controlador de finalización estándar:
- (void)finishContentEditingWithCompletionHandler:(void (^)(PHContentEditingOutput *))completionHandler {
// Update UI to reflect that editing has finished and output is being rendered.
// Render and provide output on a background queue.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
PHContentEditingOutput *output = [[PHContentEditingOutput alloc] initWithContentEditingInput:self.input];
NSError* error = nil;
NSData *renderedJPEGData = UIImageJPEGRepresentation(filtered_ui_image, 1.0);
assert(renderedJPEGData != nil);
//BOOL written_well = [renderedJPEGData writeToURL:output.renderedContentURL atomically:YES];
BOOL written_well = [renderedJPEGData writeToURL:output.renderedContentURL options:NSDataWritingAtomic error:&error];
assert(written_well);
// Call completion handler to commit edit to Photos.
completionHandler(output);
});
}
renderedJPEGData
no esnil
,error
esnil
, así funcionan[NSData writeToURL]
fue exitoso,written_well
esYES
,
Al depurar línea por línea, después de que finaliza el bloque, aparece una alerta:
output.renderedContentURL
es/private/var/mobile/Containers/Data/PluginKitPlugin/509C1A04-D414-4DB7-B1E6-83C47FC88BC9/tmp/blah_blah_name.JPG
Entonces, tengo permisos, la depuración no muestra errores, ¿qué puedo tratar de detectar la causa del problema?