diff --git a/AppleLibs.xcodeproj/project.pbxproj b/AppleLibs.xcodeproj/project.pbxproj
index a91c4580a692b3a7ec27b92256fd3d4588ecd463..963b18d61d497d08f630bb3f770f4a6c27d2aae2 100644
--- a/AppleLibs.xcodeproj/project.pbxproj
+++ b/AppleLibs.xcodeproj/project.pbxproj
@@ -22,6 +22,7 @@
 		F673A9982635EF510017AD37 /* ResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F673A9922635EF510017AD37 /* ResponseHandler.swift */; };
 		F673A9992635EF510017AD37 /* RequestBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = F673A9932635EF510017AD37 /* RequestBuilder.swift */; };
 		F673A9A12635EF8D0017AD37 /* Future in Frameworks */ = {isa = PBXBuildFile; productRef = F673A9A02635EF8D0017AD37 /* Future */; };
+		F68BFE6B263B28B000E893E5 /* UIViewController+Screenshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = F68BFE6A263B28B000E893E5 /* UIViewController+Screenshot.swift */; };
 		F68C2D422616482A00042967 /* IsoDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F68C2D412616482A00042967 /* IsoDateFormatter.swift */; };
 		F6A251A0260B670000132DEC /* AppleLibs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A25196260B66FF00132DEC /* AppleLibs.framework */; };
 		F6A251A5260B670000132DEC /* AppleLibsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A251A4260B670000132DEC /* AppleLibsTests.swift */; };
@@ -55,6 +56,7 @@
 		F673A9912635EF510017AD37 /* Request.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = "<group>"; };
 		F673A9922635EF510017AD37 /* ResponseHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponseHandler.swift; sourceTree = "<group>"; };
 		F673A9932635EF510017AD37 /* RequestBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestBuilder.swift; sourceTree = "<group>"; };
+		F68BFE6A263B28B000E893E5 /* UIViewController+Screenshot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Screenshot.swift"; sourceTree = "<group>"; };
 		F68C2D412616482A00042967 /* IsoDateFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IsoDateFormatter.swift; sourceTree = "<group>"; };
 		F6A25196260B66FF00132DEC /* AppleLibs.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AppleLibs.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		F6A25199260B66FF00132DEC /* AppleLibs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppleLibs.h; sourceTree = "<group>"; };
@@ -140,6 +142,14 @@
 			path = Requests;
 			sourceTree = "<group>";
 		};
+		F68BFE69263B28A400E893E5 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				F68BFE6A263B28B000E893E5 /* UIViewController+Screenshot.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		F68C2D402616482000042967 /* Date */ = {
 			isa = PBXGroup;
 			children = (
@@ -171,6 +181,7 @@
 		F6A25198260B66FF00132DEC /* AppleLibs */ = {
 			isa = PBXGroup;
 			children = (
+				F68BFE69263B28A400E893E5 /* View */,
 				F623A65C2635B36900F50371 /* Network */,
 				F623A6822635B78500F50371 /* Utils */,
 				F6A25199260B66FF00132DEC /* AppleLibs.h */,
@@ -312,6 +323,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				F68BFE6B263B28B000E893E5 /* UIViewController+Screenshot.swift in Sources */,
 				F623A65E2635B38200F50371 /* CharacterSet+Url.swift in Sources */,
 				F673A9942635EF510017AD37 /* DataManager.swift in Sources */,
 				F6A251BA260B697300132DEC /* Double+Rounded.swift in Sources */,
diff --git a/AppleLibs/View/UIViewController+Screenshot.swift b/AppleLibs/View/UIViewController+Screenshot.swift
new file mode 100644
index 0000000000000000000000000000000000000000..3174abb6912296ae44fc73fcf6ec4d27117bbf3e
--- /dev/null
+++ b/AppleLibs/View/UIViewController+Screenshot.swift
@@ -0,0 +1,34 @@
+//
+//  UIViewController+Screenshot.swift
+//  AppleLibs
+//
+//  Created by Tobias on 29.04.21.
+//
+
+import UIKit
+
+extension UIViewController
+{
+    open func takeScreenshot(_ shouldSave: Bool = true) -> UIImage? {
+        var screenshotImage :UIImage?
+        
+        let scale = UIScreen.main.scale
+        guard let layer = self.view.window?.layer else {
+            return nil
+        }
+        
+        UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
+        guard let context = UIGraphicsGetCurrentContext() else {
+            return nil
+        }
+        
+        layer.render(in:context)
+        screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
+        UIGraphicsEndImageContext()
+        
+        if let image = screenshotImage, shouldSave {
+            UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
+        }
+        return screenshotImage
+    }
+}