I tried what ever was suggested but the output was a white,blank screenshot. Which leads me to assume that I haven\'t added anything to the view. Here\'s how I\'m adding gra
I think this question could be merged with this one Screenshotting on Iphone in swift only has a white background
which seems the same
EDIT:
I think I found a solution. First read this post: How Do I Take a Screen Shot of a UIView?
I create an Extensions.swift file in which I 'extended' the methods of a UIView using that link.
After that I simply connect the following to my sprite-kit button
let screenshot = self.view?.pb_takeSnapshot()
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
Voilà, the image is in the camera roll!
Here is how I solved it in swift 3: This captures all the nodes in your scene: Note: in below code represents the view it is capturing from. You may want to update it with your view in project.
func captureScreen() -> UIImage {
UIGraphicsBeginImageContextWithOptions(yourview.bounds.size, true, 0)
yourview.drawHierarchy(in: yourview.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}