Search code examples
swiftios8-extension

iOS8 Photo Extension says Unable to save changes


I am trying to create an iOS Photo Extension which compresses images, and this is finishContentEditingWithCompletionHandler function:

func finishContentEditingWithCompletionHandler(completionHandler: ((PHContentEditingOutput!) -> Void)!) {        
    dispatch_async(dispatch_get_global_queue(CLong(DISPATCH_QUEUE_PRIORITY_DEFAULT), 0)) {
      atomically: true)


        let url = self.input?.fullSizeImageURL

        if let imageUrl = url {
            var fullImage = UIImage(contentsOfFile:
                imageUrl.path!)
            //Just compresses the image
            let renderedJPEGData =
            UIImageJPEGRepresentation(fullImage, self.comprestionRatioFloat)
            var currentFilter = "FakeFilter"

            renderedJPEGData.writeToURL(
                output.renderedContentURL,
                atomically: true)
            let archivedData =
            NSKeyedArchiver.archivedDataWithRootObject(
                currentFilter)
            output.adjustmentData = PHAdjustmentData(formatIdentifier:"MyApp.Ext", formatVersion:"1.0", data:archivedData)

            }

        completionHandler?(output)

        // Clean up temporary files, etc.
    }
}

When I test it on the device it says "Unable to Save Changes", Is there anything wrong?


Solution

  • Finally I've found out it's because the output image is almost the same as input. A little scaling down the output image fixed the problem.