Эх сурвалжийг харах

updated pods - small needed adjustments - replaced ALCameraViewController

nayooti 5 жил өмнө
parent
commit
9813c11b53
100 өөрчлөгдсөн 316 нэмэгдсэн , 1058 устгасан
  1. 1 1
      Podfile
  2. 21 21
      Podfile.lock
  3. 0 24
      Pods/ALCameraViewController/ALCameraViewController/Utilities/CameraGlobals.swift
  4. 0 39
      Pods/ALCameraViewController/ALCameraViewController/Utilities/CroppingParameters.swift
  5. 0 408
      Pods/ALCameraViewController/ALCameraViewController/ViewController/ConfirmViewController.swift
  6. 0 286
      Pods/ALCameraViewController/ALCameraViewController/Views/CropOverlay.swift
  7. 0 149
      Pods/ALCameraViewController/README.md
  8. 61 28
      Pods/DBDebugToolkit/DBDebugToolkit/Resources/DBMenuTableViewController.storyboard
  9. 17 6
      Pods/DBDebugToolkit/DBDebugToolkit/Resources/DBNetworkViewController.storyboard
  10. 2 0
      Pods/InputBarAccessoryView/README.md
  11. 11 4
      Pods/InputBarAccessoryView/Sources/InputBarAccessoryView.swift
  12. 6 1
      Pods/InputBarAccessoryView/Sources/Models/HorizontalEdgePadding.swift
  13. 5 1
      Pods/InputBarAccessoryView/Sources/Plugins/AutocompleteManager/AutocompleteManager.swift
  14. 7 3
      Pods/InputBarAccessoryView/Sources/Views/SeparatorLine.swift
  15. 37 25
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUD.m
  16. 30 25
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDErrorIndicatorView.m
  17. 22 1
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDImageIndicatorView.m
  18. 20 1
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDIndeterminateIndicatorView.m
  19. 29 25
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDSuccessIndicatorView.m
  20. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUD-Defines.h
  21. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUD.h
  22. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDAnimation.h
  23. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDErrorIndicatorView.h
  24. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeAnimation.h
  25. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeZoomAnimation.h
  26. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDImageIndicatorView.h
  27. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndeterminateIndicatorView.h
  28. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndicatorView.h
  29. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDPieIndicatorView.h
  30. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDRingIndicatorView.h
  31. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDShadow.h
  32. 0 0
      Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDSuccessIndicatorView.h
  33. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error.png
  34. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error@2x.png
  35. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error@3x.png
  36. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success.png
  37. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success@2x.png
  38. BIN
      Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success@3x.png
  39. 24 10
      Pods/JGProgressHUD/README.md
  40. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraView.strings
  41. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/Contents.json
  42. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/Contents.json
  43. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton.png
  44. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@2x.png
  45. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@3x.png
  46. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/Contents.json
  47. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted.png
  48. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@2x.png
  49. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@3x.png
  50. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/Contents.json
  51. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton.png
  52. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@2x.png
  53. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@3x.png
  54. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/Contents.json
  55. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton.png
  56. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@2x.png
  57. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@3x.png
  58. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/Contents.json
  59. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon.png
  60. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@2x.png
  61. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@3x.png
  62. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/Contents.json
  63. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon.png
  64. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@2x.png
  65. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@3x.png
  66. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/Contents.json
  67. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon.png
  68. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@2x.png
  69. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@3x.png
  70. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/Contents.json
  71. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton.png
  72. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@2x.png
  73. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@3x.png
  74. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/Contents.json
  75. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel.png
  76. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@2x.png
  77. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@3x.png
  78. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/Contents.json
  79. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm.png
  80. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@2x.png
  81. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@3x.png
  82. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/Contents.json
  83. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon.png
  84. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@2x.png
  85. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@3x.png
  86. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/Contents.json
  87. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder.png
  88. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@2x.png
  89. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@3x.png
  90. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/Contents.json
  91. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton.png
  92. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@2x.png
  93. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@3x.png
  94. 23 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/Contents.json
  95. BIN
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@1x.png
  96. BIN
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@2x.png
  97. BIN
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@3x.png
  98. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/Contents.json
  99. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton.png
  100. 0 0
      Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton@2x.png

+ 1 - 1
Podfile

@@ -8,7 +8,7 @@ target 'deltachat-ios' do
 
   pod 'SwiftLint'
   pod 'SwiftFormat/CLI'
-  pod 'ALCameraViewController'
+	pod 'KK-ALCameraViewController'
   # pod 'openssl-ios-bitcode'
   pod 'ReachabilitySwift'
   pod 'UICircularProgressRing'

+ 21 - 21
Podfile.lock

@@ -1,22 +1,22 @@
 PODS:
-  - ALCameraViewController (3.1)
   - DBDebugToolkit (0.5.0)
-  - InputBarAccessoryView (4.3.1):
-    - InputBarAccessoryView/Core (= 4.3.1)
-  - InputBarAccessoryView/Core (4.3.1)
-  - JGProgressHUD (2.0.3)
-  - ReachabilitySwift (4.3.1)
+  - InputBarAccessoryView (4.3.2):
+    - InputBarAccessoryView/Core (= 4.3.2)
+  - InputBarAccessoryView/Core (4.3.2)
+  - JGProgressHUD (2.1)
+  - KK-ALCameraViewController (4.1.0)
+  - ReachabilitySwift (5.0.0)
   - SCSiriWaveformView (1.1.1)
-  - SwiftFormat/CLI (0.40.9)
-  - SwiftLint (0.32.0)
-  - SwiftyBeaver (1.7.0)
-  - UICircularProgressRing (6.2.0)
+  - SwiftFormat/CLI (0.44.7)
+  - SwiftLint (0.39.2)
+  - SwiftyBeaver (1.9.1)
+  - UICircularProgressRing (6.5.0)
 
 DEPENDENCIES:
-  - ALCameraViewController
   - DBDebugToolkit
   - InputBarAccessoryView
   - JGProgressHUD
+  - KK-ALCameraViewController
   - ReachabilitySwift
   - SCSiriWaveformView
   - SwiftFormat/CLI
@@ -26,10 +26,10 @@ DEPENDENCIES:
 
 SPEC REPOS:
   trunk:
-    - ALCameraViewController
     - DBDebugToolkit
     - InputBarAccessoryView
     - JGProgressHUD
+    - KK-ALCameraViewController
     - ReachabilitySwift
     - SCSiriWaveformView
     - SwiftFormat
@@ -38,17 +38,17 @@ SPEC REPOS:
     - UICircularProgressRing
 
 SPEC CHECKSUMS:
-  ALCameraViewController: 144dea45fd749a623aafd8cb7b10cea88499fcc3
   DBDebugToolkit: c04bb6f618051d3de447a4b4323f37826116cfed
-  InputBarAccessoryView: 58a348be7ea2736c7eec60e5c315511c2dbb39fd
-  JGProgressHUD: 12b20a8f4ffe05258f8635c1ab92816e451f904d
-  ReachabilitySwift: 4032e2f59586e11e3b0ebe15b167abdd587a388b
+  InputBarAccessoryView: 7985d418040a05fe894bd4b8328dd43ab35517c3
+  JGProgressHUD: aa403e9a5b45cae98903c4600cccdd98c0c3ec90
+  KK-ALCameraViewController: ea8d8b24c9a7b92f61508a5a41ef8332f4ef7903
+  ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
   SCSiriWaveformView: 15b9dd6f94c7536e2032b34a35c6ff74d38c7411
-  SwiftFormat: 6b67b6e7fe73d664f0cbb4f13721f130462c86a5
-  SwiftLint: 009a898ef2a1c851f45e1b59349bf6ff2ddc990d
-  SwiftyBeaver: 4cc0080d2e23f980652e28978db11a5c9da39165
-  UICircularProgressRing: 0ff679b05a17f15ad6301a7886686837b8c301a9
+  SwiftFormat: fd97e27b8de5a46c9d1988bf1db1dc92e79f86a3
+  SwiftLint: 22ccbbe3b8008684be5955693bab135e0ed6a447
+  SwiftyBeaver: a1f5691458561414bcfab51874b2b7445451602b
+  UICircularProgressRing: e6852e8f88e296cbbbe2720cccb55241acda6708
 
-PODFILE CHECKSUM: 055466769932ef70c4999b1faacbdf7883a8e6d8
+PODFILE CHECKSUM: 6c70422908ef8b6a40eead0d6b417826fbdcbc32
 
 COCOAPODS: 1.8.4

+ 0 - 24
Pods/ALCameraViewController/ALCameraViewController/Utilities/CameraGlobals.swift

@@ -1,24 +0,0 @@
-//
-//  CameraGlobals.swift
-//  ALCameraViewController
-//
-//  Created by Alex Littlejohn on 2016/02/16.
-//  Copyright © 2016 zero. All rights reserved.
-//
-
-import UIKit
-import AVFoundation
-
-internal let itemSpacing: CGFloat = 1
-internal let columns: CGFloat = 4
-internal let thumbnailDimension = (UIScreen.main.bounds.width - ((columns * itemSpacing) - itemSpacing))/columns
-internal let scale = UIScreen.main.scale
-
-public class CameraGlobals {
-    public static let shared = CameraGlobals()
-    
-    public var bundle = Bundle(for: CameraViewController.self)
-    public var stringsTable = "CameraView"
-    public var photoLibraryThumbnailSize = CGSize(width: thumbnailDimension, height: thumbnailDimension)
-    public var defaultCameraPosition = AVCaptureDevice.Position.back
-}

+ 0 - 39
Pods/ALCameraViewController/ALCameraViewController/Utilities/CroppingParameters.swift

@@ -1,39 +0,0 @@
-//
-//  CroppingParameters.swift
-//  ALCameraViewController
-//
-//  Created by Guillaume Bellut on 02/09/2017.
-//  Copyright © 2017 zero. All rights reserved.
-//
-
-import UIKit
-
-public struct CroppingParameters {
-
-    /// Enable the cropping feature.
-    /// Default value is set to false.
-    var isEnabled: Bool
-
-    /// Allow the cropping area to be resized by the user.
-    /// Default value is set to true.
-    var allowResizing: Bool
-
-    /// Allow the cropping area to be moved by the user.
-    /// Default value is set to false.
-    var allowMoving: Bool
-
-    /// Prevent the user to resize the cropping area below a minimum size.
-    /// Default value is (60, 60). Below this value, corner buttons will overlap.
-    var minimumSize: CGSize
-
-    public init(isEnabled: Bool = false,
-                allowResizing: Bool = true,
-                allowMoving: Bool = true,
-         minimumSize: CGSize = CGSize(width: 60, height: 60)) {
-
-        self.isEnabled = isEnabled
-        self.allowResizing = allowResizing
-        self.allowMoving = allowMoving
-        self.minimumSize = minimumSize
-    }
-}

+ 0 - 408
Pods/ALCameraViewController/ALCameraViewController/ViewController/ConfirmViewController.swift

@@ -1,408 +0,0 @@
-//
-//  ALConfirmViewController.swift
-//  ALCameraViewController
-//
-//  Created by Alex Littlejohn on 2015/06/30.
-//  Copyright (c) 2015 zero. All rights reserved.
-//
-
-import UIKit
-import Photos
-
-public class ConfirmViewController: UIViewController {
-	
-	let imageView = UIImageView()
-	@IBOutlet weak var scrollView: UIScrollView!
-	@IBOutlet weak var cancelButton: UIButton!
-	@IBOutlet weak var confirmButton: UIButton!
-	@IBOutlet weak var centeredView: UIView!
-
-    private let cropOverlay = CropOverlay()
-    private var spinner: UIActivityIndicatorView? = nil
-    private var cropOverlayLeftConstraint = NSLayoutConstraint()
-    private var cropOverlayTopConstraint = NSLayoutConstraint()
-    private var cropOverlayWidthConstraint = NSLayoutConstraint()
-    private var cropOverlayHeightConstraint = NSLayoutConstraint()
-    private var isFirstLayout = true
-	
-    var croppingParameters: CroppingParameters {
-        didSet {
-            cropOverlay.isResizable = croppingParameters.allowResizing
-            cropOverlay.minimumSize = croppingParameters.minimumSize
-        }
-    }
-
-    private var scrollViewVisibleSize: CGSize {
-        let contentInset = scrollView.contentInset
-        let scrollViewSize = scrollView.bounds.standardized.size
-        let width = scrollViewSize.width - contentInset.left - contentInset.right
-        let height = scrollViewSize.height - contentInset.top - contentInset.bottom
-        return CGSize(width:width, height:height)
-    }
-
-    private var scrollViewCenter: CGPoint {
-        let scrollViewSize = scrollViewVisibleSize
-        return CGPoint(x: scrollViewSize.width / 2.0,
-                       y: scrollViewSize.height / 2.0)
-    }
-
-    private let cropOverlayDefaultPadding: CGFloat = 20
-    private var cropOverlayDefaultFrame: CGRect {
-        let buttonsViewGap: CGFloat = 20 * 2 + 64
-        let centeredViewBounds: CGRect
-        if view.bounds.size.height > view.bounds.size.width {
-            centeredViewBounds = CGRect(x: 0,
-                                        y: 0,
-                                        width: view.bounds.size.width,
-                                        height: view.bounds.size.height - buttonsViewGap)
-        } else {
-            centeredViewBounds = CGRect(x: 0,
-                                        y: 0,
-                                        width: view.bounds.size.width - buttonsViewGap,
-                                        height: view.bounds.size.height)
-        }
-        
-        let cropOverlayWidth = min(centeredViewBounds.size.width, centeredViewBounds.size.height) - 2 * cropOverlayDefaultPadding
-        let cropOverlayX = centeredViewBounds.size.width / 2 - cropOverlayWidth / 2
-        let cropOverlayY = centeredViewBounds.size.height / 2 - cropOverlayWidth / 2
-
-        return CGRect(x: cropOverlayX,
-                      y: cropOverlayY,
-                      width: cropOverlayWidth,
-                      height: cropOverlayWidth)
-    }
-	
-	public var onComplete: CameraViewCompletion?
-
-	let asset: PHAsset?
-	let image: UIImage?
-	
-	public init(image: UIImage, croppingParameters: CroppingParameters) {
-		self.croppingParameters = croppingParameters
-		self.asset = nil
-		self.image = image
-		super.init(nibName: "ConfirmViewController", bundle: CameraGlobals.shared.bundle)
-	}
-	
-	public init(asset: PHAsset, croppingParameters: CroppingParameters) {
-		self.croppingParameters = croppingParameters
-		self.asset = asset
-		self.image = nil
-		super.init(nibName: "ConfirmViewController", bundle: CameraGlobals.shared.bundle)
-	}
-	
-    public required init?(coder aDecoder: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
-	}
-	
-	public override var prefersStatusBarHidden: Bool {
-		return true
-	}
-	
-	public override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
-		return UIStatusBarAnimation.slide
-	}
-	
-	public override func viewDidLoad() {
-		super.viewDidLoad()
-
-		view.backgroundColor = UIColor.black
-
-        loadScrollView()
-        loadCropOverlay()
-
-		showSpinner()
-		
-		disable()
-		
-		if let asset = asset {
-			_ = SingleImageFetcher()
-				.setAsset(asset)
-				.setTargetSize(largestPhotoSize())
-				.onSuccess { [weak self] image in
-					self?.configureWithImage(image)
-					self?.hideSpinner()
-					self?.enable()
-				}
-				.onFailure { [weak self] error in
-					self?.hideSpinner()
-				}
-				.fetch()
-		} else if let image = image {
-			configureWithImage(image)
-			hideSpinner()
-			enable()
-		}
-	}
-
-    public override func viewDidLayoutSubviews() {
-        super.viewDidLayoutSubviews()
-
-        if isFirstLayout {
-            isFirstLayout = false
-            activateCropOverlayConstraint()
-            spinner?.center = centeredView.center
-        }
-    }
-
-    private func activateCropOverlayConstraint() {
-        cropOverlayLeftConstraint.constant = cropOverlayDefaultFrame.origin.x
-        cropOverlayTopConstraint.constant = cropOverlayDefaultFrame.origin.y
-        cropOverlayWidthConstraint.constant = cropOverlayDefaultFrame.size.width
-        cropOverlayHeightConstraint.constant = cropOverlayDefaultFrame.size.height
-
-        cropOverlayLeftConstraint.isActive = true
-        cropOverlayTopConstraint.isActive = true
-        cropOverlayWidthConstraint.isActive = true
-        cropOverlayHeightConstraint.isActive = true
-    }
-
-    private func loadScrollView() {
-        scrollView.addSubview(imageView)
-        scrollView.delegate = self
-        scrollView.maximumZoomScale = 1
-    }
-
-    private func prepareScrollView() {
-        let scale = calculateMinimumScale(view.bounds.size)
-
-        scrollView.minimumZoomScale = scale
-        scrollView.zoomScale = scale
-
-        centerScrollViewContent()
-    }
-
-    private func loadCropOverlay() {
-        cropOverlay.translatesAutoresizingMaskIntoConstraints = false
-        view.addSubview(cropOverlay)
-
-        cropOverlayLeftConstraint = cropOverlay.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0)
-        cropOverlayTopConstraint = cropOverlay.topAnchor.constraint(equalTo: view.topAnchor, constant: 0)
-        cropOverlayWidthConstraint = cropOverlay.widthAnchor.constraint(equalToConstant: 0)
-        cropOverlayHeightConstraint = cropOverlay.heightAnchor.constraint(equalToConstant: 0)
-
-        cropOverlay.delegate = self
-        cropOverlay.isHidden = !croppingParameters.isEnabled
-        cropOverlay.isResizable = croppingParameters.allowResizing
-        cropOverlay.isMovable = croppingParameters.allowMoving
-        cropOverlay.minimumSize = croppingParameters.minimumSize
-    }
-	
-	private func configureWithImage(_ image: UIImage) {
-		buttonActions()
-		
-		imageView.image = image
-		imageView.sizeToFit()
-        prepareScrollView()
-	}
-	
-	private func calculateMinimumScale(_ size: CGSize) -> CGFloat {
-		var _size = size
-		
-		if croppingParameters.isEnabled {
-            _size = cropOverlayDefaultFrame.size
-		}
-		
-		guard let image = imageView.image else {
-            return 1
-		}
-		
-		let scaleWidth = _size.width / image.size.width
-		let scaleHeight = _size.height / image.size.height
-
-		return min(scaleWidth, scaleHeight)
-	}
-	
-	private func centerScrollViewContent() {
-        guard let image = imageView.image else {
-            return
-        }
-
-        let imgViewSize = imageView.frame.size
-        let imageSize = image.size
-
-        var realImgSize: CGSize
-        if imageSize.width / imageSize.height > imgViewSize.width / imgViewSize.height {
-            realImgSize = CGSize(width: imgViewSize.width,height: imgViewSize.width / imageSize.width * imageSize.height)
-        } else {
-            realImgSize = CGSize(width: imgViewSize.height / imageSize.height * imageSize.width, height: imgViewSize.height)
-        }
-
-        var frame = CGRect.zero
-        frame.size = realImgSize
-        imageView.frame = frame
-
-        let screenSize  = scrollView.frame.size
-        let offx = screenSize.width > realImgSize.width ? (screenSize.width - realImgSize.width) / 2 : 0
-        let offy = screenSize.height > realImgSize.height ? (screenSize.height - realImgSize.height) / 2 : 0
-        scrollView.contentInset = UIEdgeInsets(top: offy,
-                                               left: offx,
-                                               bottom: offy,
-                                               right: offx)
-	}
-	
-	private func buttonActions() {
-		confirmButton.action = { [weak self] in self?.confirmPhoto() }
-		cancelButton.action = { [weak self] in self?.cancel() }
-	}
-	
-	internal func cancel() {
-		onComplete?(nil, nil)
-	}
-	
-	internal func confirmPhoto() {
-		
-		guard let image = imageView.image else {
-			return
-		}
-		
-		disable()
-		
-		imageView.isHidden = true
-		
-		showSpinner()
-		
-		if let asset = asset {
-			var fetcher = SingleImageFetcher()
-				.onSuccess { [weak self] image in
-					self?.onComplete?(image, self?.asset)
-					self?.hideSpinner()
-					self?.enable()
-				}
-				.onFailure { [weak self] error in
-					self?.hideSpinner()
-					self?.showNoImageScreen(error)
-				}
-				.setAsset(asset)
-			if croppingParameters.isEnabled {
-				let rect = normalizedRect(makeProportionalCropRect(), orientation: image.imageOrientation)
-				fetcher = fetcher.setCropRect(rect)
-			}
-			
-			fetcher = fetcher.fetch()
-		} else {
-			var newImage = image
-			
-			if croppingParameters.isEnabled {
-				let cropRect = makeProportionalCropRect()
-				let resizedCropRect = CGRect(x: (image.size.width) * cropRect.origin.x,
-				                     y: (image.size.height) * cropRect.origin.y,
-				                     width: (image.size.width * cropRect.width),
-				                     height: (image.size.height * cropRect.height))
-				newImage = image.crop(rect: resizedCropRect)
-			}
-			
-			onComplete?(newImage, nil)
-			hideSpinner()
-			enable()
-		}
-	}
-	
-	func showSpinner() {
-		spinner = UIActivityIndicatorView()
-        spinner!.style = .white
-        spinner!.center = centeredView.center
-		spinner!.startAnimating()
-		
-		view.addSubview(spinner!)
-        view.bringSubviewToFront(spinner!)
-    }
-	
-	func hideSpinner() {
-		spinner?.stopAnimating()
-		spinner?.removeFromSuperview()
-	}
-	
-	func disable() {
-		confirmButton.isEnabled = false
-	}
-	
-	func enable() {
-		confirmButton.isEnabled = true
-	}
-	
-	func showNoImageScreen(_ error: NSError) {
-		let permissionsView = PermissionsView(frame: view.bounds)
-		
-		let desc = localizedString("error.cant-fetch-photo.description")
-		
-		permissionsView.configureInView(view, title: error.localizedDescription, description: desc, completion: { [weak self] in self?.cancel() })
-	}
-	
-	private func makeProportionalCropRect() -> CGRect {
-        var cropRect = cropOverlay.croppedRect
-        cropRect.origin.x += scrollView.contentOffset.x - imageView.frame.origin.x
-        cropRect.origin.y += scrollView.contentOffset.y - imageView.frame.origin.y
-
-		let normalizedX = max(0, cropRect.origin.x / imageView.frame.width)
-		let normalizedY = max(0, cropRect.origin.y / imageView.frame.height)
-
-        let extraWidth = min(0, cropRect.origin.x)
-        let extraHeight = min(0, cropRect.origin.y)
-
-		let normalizedWidth = min(1, (cropRect.width + extraWidth) / imageView.frame.width)
-		let normalizedHeight = min(1, (cropRect.height + extraHeight) / imageView.frame.height)
-		
-		return CGRect(x: normalizedX, y: normalizedY, width: normalizedWidth, height: normalizedHeight)
-	}
-	
-}
-
-extension ConfirmViewController: UIScrollViewDelegate {
-
-    public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
-        return imageView
-    }
-
-    public func scrollViewDidZoom(_ scrollView: UIScrollView) {
-        centerScrollViewContent()
-    }
-}
-
-extension ConfirmViewController: CropOverlayDelegate {
-
-    func didMoveCropOverlay(newFrame: CGRect) {
-        cropOverlayLeftConstraint.constant = newFrame.origin.x
-        cropOverlayTopConstraint.constant = newFrame.origin.y
-        cropOverlayWidthConstraint.constant = newFrame.size.width
-        cropOverlayHeightConstraint.constant = newFrame.size.height
-    }
-}
-
-extension UIImage {
-	func crop(rect: CGRect) -> UIImage {
-
-		var rectTransform: CGAffineTransform
-		switch imageOrientation {
-		case .left:
-			rectTransform = CGAffineTransform(rotationAngle: radians(90)).translatedBy(x: 0, y: -size.height)
-		case .right:
-			rectTransform = CGAffineTransform(rotationAngle: radians(-90)).translatedBy(x: -size.width, y: 0)
-		case .down:
-			rectTransform = CGAffineTransform(rotationAngle: radians(-180)).translatedBy(x: -size.width, y: -size.height)
-		default:
-			rectTransform = CGAffineTransform.identity
-		}
-		
-		rectTransform = rectTransform.scaledBy(x: scale, y: scale)
-		
-		if let cropped = cgImage?.cropping(to: rect.applying(rectTransform)) {
-			return UIImage(cgImage: cropped, scale: scale, orientation: imageOrientation).fixOrientation()
-		}
-		
-		return self
-	}
-	
-	func fixOrientation() -> UIImage {
-		if imageOrientation == .up {
-			return self
-		}
-		
-		UIGraphicsBeginImageContextWithOptions(size, false, scale)
-		draw(in: CGRect(origin: .zero, size: size))
-		let normalizedImage: UIImage = UIGraphicsGetImageFromCurrentImageContext() ?? self
-		UIGraphicsEndImageContext()
-		
-		return normalizedImage
-	}
-}

+ 0 - 286
Pods/ALCameraViewController/ALCameraViewController/Views/CropOverlay.swift

@@ -1,286 +0,0 @@
-//
-//  NewCropOverlay.swift
-//  ALCameraViewController
-//
-//  Created by Guillaume Bellut on 12/10/2019.
-//  Copyright © 2019 zero. All rights reserved.
-//
-
-import UIKit
-
-protocol CropOverlayDelegate: class {
-    func didMoveCropOverlay(newFrame: CGRect)
-}
-
-internal class CropOverlay: UIView {
-
-    private let buttons = [UIButton(),  // top left
-                           UIButton(),  // top right
-                           UIButton(),  // bottom left
-                           UIButton()]  // bottom right
-    private let precisionView = UIView()    // view containing lines
-
-    private var cornerButtonWidth: CGFloat = 45
-
-    private let cornerLineDepth: CGFloat = 3
-    private var cornerLineLength: CGFloat {
-        return cornerButtonWidth / 2
-    }
-
-    private let lineDepth: CGFloat = 1
-
-    private let outterGapRatio: CGFloat = 1/3
-    private var outterGap: CGFloat {
-        return cornerButtonWidth * self.outterGapRatio
-    }
-
-    var isResizable: Bool = false
-    var isMovable: Bool = false
-    var minimumSize: CGSize = CGSize.zero
-    weak var delegate: CropOverlayDelegate?
-
-    var croppedRect: CGRect {
-        return CGRect(x: frame.origin.x + outterGap,
-                      y: frame.origin.y + outterGap,
-                      width: frame.size.width - 2 * outterGap,
-                      height: frame.size.height - 2 * outterGap)
-    }
-
-    internal override init(frame: CGRect) {
-        super.init(frame: frame)
-        setup()
-    }
-
-    internal required init?(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-        setup()
-    }
-
-    override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
-        let view = super.hitTest(point, with: event)
-
-        if !isMovable && isResizable {
-            let isButton = buttons.reduce(false) { $1.hitTest(convert(point, to: $1), with: event) != nil || $0 }
-            if !isButton {
-                return nil
-            }
-        }
-
-        return view
-    }
-
-    private func setup() {
-        let panGesture = UIPanGestureRecognizer(target: self, action: #selector(move(gestureRecognizer:)))
-        addGestureRecognizer(panGesture)
-
-        loadButtons()
-        loadPrecisionView()
-    }
-
-    private func loadButtons() {
-        buttons.forEach {
-            $0.translatesAutoresizingMaskIntoConstraints = false
-            addSubview($0)
-
-            let panGesture = UIPanGestureRecognizer(target: self, action: #selector(move(gestureRecognizer:)))
-            $0.addGestureRecognizer(panGesture)
-        }
-
-        buttons[0].topAnchor.constraint(equalTo: topAnchor).isActive = true
-        buttons[0].leftAnchor.constraint(equalTo: leftAnchor).isActive = true
-        buttons[0].widthAnchor.constraint(equalToConstant: cornerButtonWidth).isActive = true
-        buttons[0].heightAnchor.constraint(equalTo: buttons[0].widthAnchor).isActive = true
-
-        buttons[1].topAnchor.constraint(equalTo: topAnchor).isActive = true
-        buttons[1].rightAnchor.constraint(equalTo: rightAnchor).isActive = true
-        buttons[1].widthAnchor.constraint(equalToConstant: cornerButtonWidth).isActive = true
-        buttons[1].heightAnchor.constraint(equalTo: buttons[1].widthAnchor).isActive = true
-
-        buttons[2].bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
-        buttons[2].leftAnchor.constraint(equalTo: leftAnchor).isActive = true
-        buttons[2].widthAnchor.constraint(equalToConstant: cornerButtonWidth).isActive = true
-        buttons[2].heightAnchor.constraint(equalTo: buttons[2].widthAnchor).isActive = true
-
-        buttons[3].bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
-        buttons[3].rightAnchor.constraint(equalTo: rightAnchor).isActive = true
-        buttons[3].widthAnchor.constraint(equalToConstant: cornerButtonWidth).isActive = true
-        buttons[3].heightAnchor.constraint(equalTo: buttons[3].widthAnchor).isActive = true
-    }
-
-    private func loadPrecisionView() {
-        precisionView.translatesAutoresizingMaskIntoConstraints = false
-        addSubview(precisionView)
-
-        precisionView.isUserInteractionEnabled = false
-        precisionView.layer.borderWidth = 1
-        precisionView.layer.borderColor = UIColor.white.cgColor
-
-        precisionView.topAnchor.constraint(equalTo: topAnchor, constant: outterGap).isActive = true
-        precisionView.leftAnchor.constraint(equalTo: leftAnchor, constant: outterGap).isActive = true
-        precisionView.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -outterGap).isActive = true
-        precisionView.rightAnchor.constraint(equalTo: rightAnchor, constant: -outterGap).isActive = true
-
-        loadCornerLines()
-        loadPrecisionLines()
-    }
-
-    private func loadCornerLines() {
-        let cornerLines = [UIView(), UIView(),  // top left
-            UIView(), UIView(),  // top right
-            UIView(), UIView(),  // bottom left
-            UIView(), UIView()]  // bottom right
-
-        cornerLines.forEach {
-            $0.translatesAutoresizingMaskIntoConstraints = false
-            precisionView.addSubview($0)
-
-            $0.isUserInteractionEnabled = false
-            $0.backgroundColor = .white
-
-            let index = cornerLines.firstIndex(of: $0)!
-
-            if index % 2 == 0 {
-                $0.widthAnchor.constraint(equalToConstant: cornerLineDepth).isActive = true
-                $0.heightAnchor.constraint(equalToConstant: cornerLineLength).isActive = true
-
-                if index <= 3 {
-                    $0.topAnchor.constraint(equalTo: precisionView.topAnchor, constant: -cornerLineDepth).isActive = true
-                } else {
-                    $0.bottomAnchor.constraint(equalTo: precisionView.bottomAnchor, constant: cornerLineDepth).isActive = true
-                }
-
-                if index % 4 == 0 {
-                    $0.rightAnchor.constraint(equalTo: precisionView.leftAnchor).isActive = true
-                } else {
-                    $0.leftAnchor.constraint(equalTo: precisionView.rightAnchor).isActive = true
-                }
-            } else {
-                $0.widthAnchor.constraint(equalToConstant: cornerLineLength).isActive = true
-                $0.heightAnchor.constraint(equalToConstant: cornerLineDepth).isActive = true
-
-                if index <= 3 {
-                    $0.leftAnchor.constraint(equalTo: precisionView.leftAnchor, constant: -cornerLineDepth).isActive = true
-                } else {
-                    $0.rightAnchor.constraint(equalTo: precisionView.rightAnchor, constant: cornerLineDepth).isActive = true
-                }
-
-                if index % 4 == 1 {
-                    $0.bottomAnchor.constraint(equalTo: precisionView.topAnchor).isActive = true
-                } else {
-                    $0.topAnchor.constraint(equalTo: precisionView.bottomAnchor).isActive = true
-                }
-            }
-        }
-    }
-
-    private func loadPrecisionLines() {
-        let centeredViews = [UIView(), UIView()]
-
-        centeredViews.forEach {
-            $0.translatesAutoresizingMaskIntoConstraints = false
-            precisionView.addSubview($0)
-
-            $0.isUserInteractionEnabled = false
-
-            $0.layer.borderWidth = 1
-            $0.layer.borderColor = UIColor.white.cgColor
-        }
-
-        // Horizontal view
-        centeredViews[0].leftAnchor.constraint(equalTo: precisionView.leftAnchor).isActive = true
-        centeredViews[0].rightAnchor.constraint(equalTo: precisionView.rightAnchor).isActive = true
-        centeredViews[0].heightAnchor.constraint(equalTo: precisionView.heightAnchor, multiplier: 1/3).isActive = true
-        centeredViews[0].centerYAnchor.constraint(equalTo: precisionView.centerYAnchor).isActive = true
-
-        // Vertical view
-        centeredViews[1].topAnchor.constraint(equalTo: precisionView.topAnchor).isActive = true
-        centeredViews[1].bottomAnchor.constraint(equalTo: precisionView.bottomAnchor).isActive = true
-        centeredViews[1].widthAnchor.constraint(equalTo: precisionView.widthAnchor, multiplier: 1/3).isActive = true
-        centeredViews[1].centerXAnchor.constraint(equalTo: precisionView.centerXAnchor).isActive = true
-    }
-
-    @objc func move(gestureRecognizer: UIPanGestureRecognizer) {
-        if isResizable, let button = gestureRecognizer.view as? UIButton {
-            if gestureRecognizer.state == .began || gestureRecognizer.state == .changed {
-                let translation = gestureRecognizer.translation(in: self)
-                let realMinimumSize = CGSize(width: minimumSize.width + 2 * outterGap,
-                                             height: minimumSize.height + 2 * outterGap)
-
-                var newFrame: CGRect
-
-                switch button {
-                case buttons[0]:    // Top Left
-                    let hasEnoughWidth = frame.size.width - translation.x >= realMinimumSize.width
-                    let hasEnoughHeight = frame.size.height - translation.y >= realMinimumSize.height
-
-                    let xPossibleTranslation = hasEnoughWidth ? translation.x : 0
-                    let yPossibleTranslation = hasEnoughHeight ? translation.y : 0
-
-                    newFrame = CGRect(x: frame.origin.x + xPossibleTranslation,
-                                      y: frame.origin.y + yPossibleTranslation,
-                                      width: frame.size.width - xPossibleTranslation,
-                                      height: frame.size.height - yPossibleTranslation)
-                case buttons[1]:    // Top Right
-                    let hasEnoughWidth = frame.size.width + translation.x >= realMinimumSize.width
-                    let hasEnoughHeight = frame.size.height - translation.y >= realMinimumSize.height
-
-                    let xPossibleTranslation = hasEnoughWidth ? translation.x : 0
-                    let yPossibleTranslation = hasEnoughHeight ? translation.y : 0
-
-                    newFrame = CGRect(x: frame.origin.x,
-                                      y: frame.origin.y + yPossibleTranslation,
-                                      width: frame.size.width + xPossibleTranslation,
-                                      height: frame.size.height - yPossibleTranslation)
-                case buttons[2]:    // Bottom Left
-                    let hasEnoughWidth = frame.size.width - translation.x >= realMinimumSize.width
-                    let hasEnoughHeight = frame.size.height + translation.y >= realMinimumSize.height
-
-                    let xPossibleTranslation = hasEnoughWidth ? translation.x : 0
-                    let yPossibleTranslation = hasEnoughHeight ? translation.y : 0
-
-                    newFrame = CGRect(x: frame.origin.x + xPossibleTranslation,
-                                      y: frame.origin.y,
-                                      width: frame.size.width - xPossibleTranslation,
-                                      height: frame.size.height + yPossibleTranslation)
-                case buttons[3]:    // Bottom Right
-                    let hasEnoughWidth = frame.size.width + translation.x >= realMinimumSize.width
-                    let hasEnoughHeight = frame.size.height + translation.y >= realMinimumSize.height
-
-                    let xPossibleTranslation = hasEnoughWidth ? translation.x : 0
-                    let yPossibleTranslation = hasEnoughHeight ? translation.y : 0
-
-                    newFrame = CGRect(x: frame.origin.x,
-                                      y: frame.origin.y,
-                                      width: frame.size.width + xPossibleTranslation,
-                                      height: frame.size.height + yPossibleTranslation)
-                default:
-                    newFrame = CGRect.zero
-                }
-
-                let minimumFrame = CGRect(x: newFrame.origin.x,
-                                          y: newFrame.origin.y,
-                                          width: max(newFrame.size.width,
-                                                     minimumSize.width + 2 * outterGap),
-                                          height: max(newFrame.size.height,
-                                                      minimumSize.height + 2 * outterGap))
-
-                gestureRecognizer.setTranslation(CGPoint.zero, in: self)
-                
-                delegate?.didMoveCropOverlay(newFrame: minimumFrame)
-            }
-        } else if isMovable {
-            if gestureRecognizer.state == .began || gestureRecognizer.state == .changed {
-                let translation = gestureRecognizer.translation(in: self)
-
-                let newFrame = CGRect(x: frame.origin.x + translation.x,
-                                      y: frame.origin.y + translation.y,
-                                      width: frame.size.width,
-                                      height: frame.size.height)
-
-                gestureRecognizer.setTranslation(CGPoint.zero, in: self)
-
-                delegate?.didMoveCropOverlay(newFrame: newFrame)
-            }
-        }
-    }
-}

+ 0 - 149
Pods/ALCameraViewController/README.md

@@ -1,149 +0,0 @@
-# ALCameraViewController
-A camera view controller with custom image picker and image cropping.
-
-![camera](https://cloud.githubusercontent.com/assets/932822/8455694/c61de812-2006-11e5-85c0-a57e3d980561.jpg)
-![cropper](https://cloud.githubusercontent.com/assets/932822/8455697/c627ac44-2006-11e5-82be-7f96e73d9b1f.jpg)
-![library](https://cloud.githubusercontent.com/assets/932822/8455695/c620ebb6-2006-11e5-9c61-75a81870c9de.jpg)
-![permissions](https://cloud.githubusercontent.com/assets/932822/8455696/c62157fe-2006-11e5-958f-849cabf541ca.jpg)
-
-### Features
-
-- [x] Front facing and rear facing camera
-- [x] Simple and clean look
-- [x] Custom image picker with permission checking
-- [x] Image cropping
-- [x] Flash light
-- [x] Zoom
-- [x] Tap to focus
-
-### Installation & Requirements
-This project requires Xcode 9 to run and compiles with swift 4
-> Note: This library makes use of the AVFoundation camera API's which are unavailable on the iOS simulator. You'll need a real device to run it.
-
-CocoaPods:
-Add the following to your Podfile:
-
-```ruby
-pod 'ALCameraViewController'
-```
-> For swift 3.2 support
-
-```ruby
-pod 'ALCameraViewController', '~> 2.0.3'
-```
-
-Carthage:
-
-```ruby
-github "alexlittlejohn/ALCameraViewController"
-```
-
-
-### Privacy (iOS 10) ###
-If you are building your app with iOS 10 or newer, you need to add two privacy keys to your app to allow the usage of the camera and photo library, or your app will crash.
-
-Add the keys below to your `Info.plist`, adding strings with the description you want to provide when prompting the user.
-
-```
-    NSPhotoLibraryUsageDescription
-    NSCameraUsageDescription
-```
-
-### Usage
-
-To use this component couldn't be simpler.
-Add `import ALCameraViewController` to the top of your controller file.
-
-In the viewController
-```swift
-
-let cameraViewController = CameraViewController { [weak self] image, asset in
-	// Do something with your image here.
-	self?.dismiss(animated: true, completion: nil)
-}
-
-present(cameraViewController, animated: true, completion: nil)
-```
-
-### Parameters
-
-There are a number of configurable options available for `CameraViewController`
-
-```swift
-init(croppingParameters: CroppingParameters = CroppingParameters(),
-     allowsLibraryAccess: Bool = true,
-     allowsSwapCameraOrientation: Bool = true,
-     allowVolumeButtonCapture: Bool = true,
-     completion: @escaping CameraViewCompletion)
-```
-
-The Cropping Parameters struct accepts the following parameters
-
-```swift
-init(isEnabled: Bool = false,
-     allowResizing: Bool = true,
-     allowMoving: Bool = true,
-     minimumSize: CGSize = CGSize(width: 60, height: 60))
-```
-
-The success parameter returns a `UIImage?` and a `PHAsset?` for more advanced use cases.
-If the user canceled photo capture then both of these options will be `nil`
-
-```swift
-typealias CameraViewCompletion = (UIImage?, PHAsset?) -> Void
-```
-> Note: To prevent retain cycles, it is best to use a `[weak self]` reference within the success parameter
-
-### Other usage options
-
-You can also instantiate the image picker component by itself as well.
-```swift
-
-let croppingEnabled = true
-
-/// Provides an image picker wrapped inside a UINavigationController instance
-let imagePickerViewController = CameraViewController.imagePickerViewController(croppingEnabled: croppingEnabled) { [weak self] image, asset in
-		// Do something with your image here.
-	 	// If cropping is enabled this image will be the cropped version
-
-    self?.dismiss(animated: true, completion: nil)
-}
-
-present(imagePickerViewController, animated: true, completion: nil)
-
-```
-
-For more control you can create it directly.
-> Note: This approach requires some familiarity with the PhotoKit library provided by apple
-
-```swift
-import Photos
-
-let imagePickerViewController = PhotoLibraryViewController()
-imagePickerViewController.onSelectionComplete = { asset in
-
-		// The asset could be nil if the user doesn't select anything
-		guard let asset = asset else {
-			return
-		}
-
-    // Provides a PHAsset object
-		// Retrieve a UIImage from a PHAsset using
-		let options = PHImageRequestOptions()
-    options.deliveryMode = .highQualityFormat
-    options.isNetworkAccessAllowed = true
-
-		PHImageManager.default().requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFill, options: options) { image, _ in
-        if let image = image {
-						// Do something with your image here
-        }
-    }
-}
-
-present(imagePickerViewController, animated: true, completion: nil)
-
-```
-
-
-## License
-ALCameraViewController is available under the MIT license. See the LICENSE file for more info.

+ 61 - 28
Pods/DBDebugToolkit/DBDebugToolkit/Resources/DBMenuTableViewController.storyboard

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="YH8-ay-XNT">
-    <device id="retina4_7" orientation="portrait" appearance="light"/>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12118" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="YH8-ay-XNT">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
@@ -22,11 +24,11 @@
                                         <rect key="frame" x="0.0" y="55.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="LVj-2U-zJY" id="2Qh-Yc-Wqe">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Performance" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="az9-7O-9y6">
-                                                    <rect key="frame" x="16" y="12" width="99" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="99" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -45,11 +47,11 @@
                                         <rect key="frame" x="0.0" y="99.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="CeB-Sm-S8m" id="rbl-F8-l3r">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="User interface" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gsn-dd-NDH">
-                                                    <rect key="frame" x="16" y="12" width="108.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="108.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -64,15 +66,38 @@
                                             <segue destination="Ff5-h1-bTB" kind="show" id="GIa-89-VuV"/>
                                         </connections>
                                     </tableViewCell>
-                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="JCd-6h-D0G">
+                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="efO-M4-a4J">
                                         <rect key="frame" x="0.0" y="143.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
+                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="efO-M4-a4J" id="DSj-d4-ri9">
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Network" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Ve-Nt-Prd">
+                                                    <rect key="frame" x="16" y="11.5" width="64.5" height="20.5"/>
+                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                    <nil key="textColor"/>
+                                                    <nil key="highlightedColor"/>
+                                                </label>
+                                            </subviews>
+                                            <constraints>
+                                                <constraint firstItem="3Ve-Nt-Prd" firstAttribute="leading" secondItem="DSj-d4-ri9" secondAttribute="leading" constant="16" id="g8i-8Q-mDV"/>
+                                                <constraint firstItem="3Ve-Nt-Prd" firstAttribute="centerY" secondItem="DSj-d4-ri9" secondAttribute="centerY" id="hoc-ea-yDN"/>
+                                            </constraints>
+                                        </tableViewCellContentView>
+                                        <connections>
+                                            <segue destination="Oe2-8I-MkJ" kind="show" id="B2n-uu-ahF"/>
+                                        </connections>
+                                    </tableViewCell>
+                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="JCd-6h-D0G">
+                                        <rect key="frame" x="0.0" y="187.5" width="375" height="44"/>
+                                        <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="JCd-6h-D0G" id="esV-Ml-JmM">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Resources" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bia-Hv-0xy">
-                                                    <rect key="frame" x="16" y="12" width="80.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="80.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -88,14 +113,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="W7D-hp-1bf">
-                                        <rect key="frame" x="0.0" y="187.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="231.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="W7D-hp-1bf" id="9lB-9s-sCz">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Console" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eLi-gK-CBQ">
-                                                    <rect key="frame" x="16" y="12" width="62.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="62.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -111,14 +136,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="sch-dv-xwT">
-                                        <rect key="frame" x="0.0" y="231.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="275.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="sch-dv-xwT" id="edz-Pe-aGN">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Location" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EvS-5r-rYi">
-                                                    <rect key="frame" x="16" y="12" width="65.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="65.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -134,14 +159,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="xbm-mo-ZSW">
-                                        <rect key="frame" x="0.0" y="275.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="319.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="xbm-mo-ZSW" id="eM0-xh-pf6">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Crash reports" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vaw-mf-aZR">
-                                                    <rect key="frame" x="16" y="12" width="105" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="105" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -157,14 +182,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="mVB-EQ-po0">
-                                        <rect key="frame" x="0.0" y="319.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="363.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mVB-EQ-po0" id="T0i-FB-ch2">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Custom variables" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qad-2H-GTH">
-                                                    <rect key="frame" x="16" y="12" width="132" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="132.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -180,14 +205,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" id="0Cf-k3-PSB">
-                                        <rect key="frame" x="0.0" y="363.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="407.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="0Cf-k3-PSB" id="ho0-1C-i0m">
-                                            <rect key="frame" x="0.0" y="0.0" width="348" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Custom actions" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Pvt-bQ-WpB">
-                                                    <rect key="frame" x="16" y="12" width="119.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="119.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -203,14 +228,14 @@
                                         </connections>
                                     </tableViewCell>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="mm4-o7-8tn">
-                                        <rect key="frame" x="0.0" y="407.5" width="375" height="44"/>
+                                        <rect key="frame" x="0.0" y="451.5" width="375" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mm4-o7-8tn" id="SaJ-UP-1oU">
-                                            <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Application settings" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZtY-hU-Q6a">
-                                                    <rect key="frame" x="16" y="12" width="151.5" height="20.5"/>
+                                                    <rect key="frame" x="16" y="11.5" width="151.5" height="20.5"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -243,6 +268,14 @@
             </objects>
             <point key="canvasLocation" x="57" y="-68"/>
         </scene>
+        <!--DBNetworkViewController-->
+        <scene sceneID="6Ce-No-Vq8">
+            <objects>
+                <viewControllerPlaceholder storyboardName="DBNetworkViewController" id="Oe2-8I-MkJ" sceneMemberID="viewController"/>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="3jV-E3-QRl" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="655" y="-163"/>
+        </scene>
         <!--DBPerformanceTableViewController-->
         <scene sceneID="0nB-bx-c9m">
             <objects>

+ 17 - 6
Pods/DBDebugToolkit/DBDebugToolkit/Resources/DBNetworkViewController.storyboard

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="cJS-nu-gIj">
-    <device id="retina4_7" orientation="portrait" appearance="light"/>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16C67" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="cJS-nu-gIj">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
@@ -16,11 +18,11 @@
                         <viewControllerLayoutGuide type="bottom" id="QLk-A9-Lhm"/>
                     </layoutGuides>
                     <view key="view" contentMode="scaleToFill" id="G7w-9S-MOF">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="623"/>
+                        <rect key="frame" x="0.0" y="64" width="375" height="603"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Logging requests disabled" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Va7-rj-ZAx">
-                                <rect key="frame" x="82" y="301.5" width="211" height="20.5"/>
+                                <rect key="frame" x="82.5" y="291.5" width="211" height="20.5"/>
                                 <fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
                                 <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                 <nil key="highlightedColor"/>
@@ -33,7 +35,7 @@
                                 <textInputTraits key="textInputTraits"/>
                             </searchBar>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="f48-Qm-HRd">
-                                <rect key="frame" x="0.0" y="44" width="375" height="579"/>
+                                <rect key="frame" x="0.0" y="44" width="375" height="559"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <edgeInsets key="layoutMargins" top="0.0" left="0.0" bottom="0.0" right="0.0"/>
                                 <inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -64,10 +66,19 @@
                     <connections>
                         <outlet property="loggingRequestsDisabledLabel" destination="Va7-rj-ZAx" id="p9c-M9-iJ7"/>
                         <outlet property="searchBar" destination="0Yc-DO-OxS" id="8o1-ev-K53"/>
+                        <outlet property="searchDisplayController" destination="iUG-lh-oc2" id="hi3-6b-KPW"/>
                         <outlet property="tableView" destination="f48-Qm-HRd" id="4IR-sN-MBG"/>
                     </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="KPz-B4-mLH" userLabel="First Responder" sceneMemberID="firstResponder"/>
+                <searchDisplayController id="iUG-lh-oc2">
+                    <connections>
+                        <outlet property="delegate" destination="cJS-nu-gIj" id="ZX1-yW-Wbf"/>
+                        <outlet property="searchContentsController" destination="cJS-nu-gIj" id="qsQ-v2-BTj"/>
+                        <outlet property="searchResultsDataSource" destination="cJS-nu-gIj" id="9WW-Ek-zPW"/>
+                        <outlet property="searchResultsDelegate" destination="cJS-nu-gIj" id="Sjd-i4-IDy"/>
+                    </connections>
+                </searchDisplayController>
             </objects>
             <point key="canvasLocation" x="556" y="-239.73013493253376"/>
         </scene>

+ 2 - 0
Pods/InputBarAccessoryView/README.md

@@ -70,6 +70,8 @@ Add your app to the list of apps using this library and make a pull request.
 iMessage style [TypingIndicator](https://github.com/nathantannar4/TypingIndicator) for chat apps
 
 ## Latest Releases
+- 4.3.2
+    - Fixed a bug where editing immediately before a tag prefix would break the tag
 - 4.3.1
     - Add `RxSwift`/`RxCocoa` support through extensions and delegate proxies, requires Cocoapods installation of  `InputBarAccessoryView/RxExtensions`
 - 4.3.0

+ 11 - 4
Pods/InputBarAccessoryView/Sources/InputBarAccessoryView.swift

@@ -40,7 +40,11 @@ open class InputBarAccessoryView: UIView {
     open var backgroundView: UIView = {
         let view = UIView()
         view.translatesAutoresizingMaskIntoConstraints = false
-        view.backgroundColor = .white
+        if #available(iOS 13, *) {
+            view.backgroundColor = .systemBackground
+        } else {
+            view.backgroundColor = .white
+        }
         return view
     }()
     
@@ -59,8 +63,11 @@ open class InputBarAccessoryView: UIView {
      ## Important Notes ##
      1. The blurView is initially not added to the backgroundView to improve performance when not needed. When `isTranslucent` is set to TRUE for the first time the blurView is added and anchored to the `backgroundView`s edge anchors
     */
-    open var blurView: UIVisualEffectView = {
-        let blurEffect = UIBlurEffect(style: .light)
+    open lazy var blurView: UIVisualEffectView = {
+        var blurEffect = UIBlurEffect(style: .light)
+        if #available(iOS 13, *) {
+            blurEffect = UIBlurEffect(style: .systemMaterial)
+        }
         let view = UIVisualEffectView(effect: blurEffect)
         view.translatesAutoresizingMaskIntoConstraints = false
         return view
@@ -140,7 +147,7 @@ open class InputBarAccessoryView: UIView {
     }()
     
     /// The InputTextView a user can input a message in
-    open lazy var inputTextView: InputTextView = { [weak self] in
+    open lazy var inputTextView: InputTextView = {
         let inputTextView = InputTextView()
         inputTextView.translatesAutoresizingMaskIntoConstraints = false
         inputTextView.inputBarAccessoryView = self

+ 6 - 1
Pods/InputBarAccessoryView/Sources/Models/HorizontalEdgeInsets.swift.swift → Pods/InputBarAccessoryView/Sources/Models/HorizontalEdgePadding.swift

@@ -12,5 +12,10 @@ public struct HorizontalEdgePadding {
     public let left: CGFloat
     public let right: CGFloat
 
-    static let zero = HorizontalEdgePadding(left: 0, right: 0)
+    public static let zero = HorizontalEdgePadding(left: 0, right: 0)
+
+    public init(left: CGFloat, right: CGFloat) {
+        self.left = left
+        self.right = right
+    }
 }

+ 5 - 1
Pods/InputBarAccessoryView/Sources/Plugins/AutocompleteManager/AutocompleteManager.swift

@@ -447,8 +447,12 @@ open class AutocompleteManager: NSObject, InputPlugin, UITextViewDelegate, UITab
             }
         } else if range.length >= 0, range.location < totalRange.length {
             
+            // Inserting text before a tag when the tag is at the start of the string
+            guard range.location != 0 else { return true }
+
             // Inserting text in the middle of an autocompleted string
-            let attributes = textView.attributedText.attributes(at: range.location, longestEffectiveRange: nil, in: range)
+            let attributes = textView.attributedText.attributes(at: range.location-1, longestEffectiveRange: nil, in: NSMakeRange(range.location-1, range.length))
+
             let isAutocompleted = attributes[.autocompleted] as? Bool ?? false
             if isAutocompleted {
                 textView.attributedText.enumerateAttribute(.autocompleted, in: totalRange, options: .reverse) { _, subrange, stop in

+ 7 - 3
Pods/InputBarAccessoryView/Sources/Views/SeparatorLine.swift

@@ -31,7 +31,7 @@ import UIKit
  A UIView thats intrinsicContentSize is overrided so an exact height can be specified
  
  ## Important Notes ##
- 1. Default height is 1.0
+ 1. Default height is 1 pixel
  2. Default backgroundColor is UIColor.lightGray
  3. Intended to be used in an `InputStackView`
  */
@@ -40,7 +40,7 @@ open class SeparatorLine: UIView {
     // MARK: - Properties
     
     /// The height of the line
-    open var height: CGFloat = 1.0 {
+  open var height: CGFloat = 1.0 / UIScreen.main.scale {
         didSet {
             constraints.filter { $0.identifier == "height" }.forEach { $0.constant = height } // Assumes constraint was given an identifier
             invalidateIntrinsicContentSize()
@@ -65,7 +65,11 @@ open class SeparatorLine: UIView {
     
     /// Sets up the default properties
     open func setup() {
-        backgroundColor = .lightGray
+        if #available(iOS 13, *) {
+            backgroundColor = .systemGray
+        } else {
+            backgroundColor = .lightGray
+        }
         translatesAutoresizingMaskIntoConstraints = false
         setContentHuggingPriority(.defaultHigh, for: .vertical)
     }

+ 37 - 25
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUD.m

@@ -30,7 +30,7 @@ static CGRect JGProgressHUD_CGRectIntegral(CGRect rect) {
     
     CFAbsoluteTime _displayTimestamp;
     
-    JGProgressHUDIndicatorView *__nullable _indicatorViewAfterTransitioning;
+    BOOL _effectiveIndicatorViewNeedsUpdate;
     
     UIView *__nonnull _blurViewContainer;
     UIView *__nonnull _shadowView;
@@ -40,6 +40,8 @@ static CGRect JGProgressHUD_CGRectIntegral(CGRect rect) {
 @property (nonatomic, strong, readonly, nonnull) UIVisualEffectView *blurView;
 @property (nonatomic, strong, readonly, nonnull) UIVisualEffectView *vibrancyView;
 
+@property (nonatomic, strong, readonly, nonnull) JGProgressHUDIndicatorView *effectiveIndicatorView;
+
 @end
 
 @interface JGProgressHUDAnimation (Private)
@@ -82,8 +84,6 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
 }
 
 + (void)load {
-    [super load];
-    
     @autoreleasepool {
         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardFrameWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil];
         
@@ -153,7 +153,8 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
         [self.HUDView addSubview:_shadowView];
         
         _indicatorView = [[JGProgressHUDIndeterminateIndicatorView alloc] init];
-        [self.indicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
+        _effectiveIndicatorView = _indicatorView;
+        [self.effectiveIndicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
         
         self.hidden = YES;
         self.backgroundColor = [UIColor clearColor];
@@ -295,7 +296,7 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
         return;
     }
     
-    CGRect indicatorFrame = self.indicatorView.frame;
+    CGRect indicatorFrame = self.effectiveIndicatorView.frame;
     indicatorFrame.origin.y = self.contentInsets.top;
     
     CGRect insetFrame = [self insetFrameForView:self];
@@ -362,7 +363,7 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
     detailFrame.origin.x = center.x - detailFrame.size.width/2.0;
     
     [UIView performWithoutAnimation:^{
-        self.indicatorView.frame = indicatorFrame;
+        self.effectiveIndicatorView.frame = indicatorFrame;
         self->_textLabel.frame = JGProgressHUD_CGRectIntegral(labelFrame);
         self->_detailTextLabel.frame = JGProgressHUD_CGRectIntegral(detailFrame);
     }];
@@ -406,16 +407,16 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
         [self.targetView setNeedsFocusUpdate];
     }
 #endif
-
+    
     self.hidden = NO;
     
     _transitioning = NO;
     // Correct timestamp to the current time for animated presentations:
     _displayTimestamp = CFAbsoluteTimeGetCurrent();
     
-    if (_indicatorViewAfterTransitioning) {
-        self.indicatorView = _indicatorViewAfterTransitioning;
-        _indicatorViewAfterTransitioning = nil;
+    if (_effectiveIndicatorViewNeedsUpdate) {
+        self.effectiveIndicatorView = self.indicatorView;
+        _effectiveIndicatorViewNeedsUpdate = NO;
         _updateAfterAppear = NO;
     }
     else if (_updateAfterAppear) {
@@ -474,7 +475,7 @@ static CGRect keyboardFrame = (CGRect){{0.0, 0.0}, {0.0, 0.0}};
     [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:_targetView attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0.0].active = YES;
     [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:_targetView attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0.0].active = YES;
     [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:_targetView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0.0].active = YES;
-
+    
     [self setNeedsLayout];
     [self layoutIfNeeded];
     
@@ -690,7 +691,7 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
         UIVibrancyEffect *vibrancyEffect = (self.vibrancyEnabled ? [UIVibrancyEffect effectForBlurEffect:(UIBlurEffect *)self.blurView.effect] : nil);
         
         _vibrancyView = [[UIVisualEffectView alloc] initWithEffect:vibrancyEffect];
-
+        
         [self.blurView.contentView addSubview:_vibrancyView];
     }
     
@@ -702,8 +703,8 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
         _contentView = [[UIView alloc] init];
         [self.vibrancyView.contentView addSubview:_contentView];
         
-        if (self.indicatorView != nil) {
-            [self.contentView addSubview:self.indicatorView];
+        if (self.effectiveIndicatorView != nil) {
+            [self.contentView addSubview:self.effectiveIndicatorView];
         }
     }
     
@@ -773,11 +774,11 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
     if (self.wantsFocus == wantsFocus) {
         return;
     }
-
+    
     _wantsFocus = wantsFocus;
-
+    
     self.userInteractionEnabled = self.wantsFocus;
-
+    
     [self.targetView setNeedsFocusUpdate];
 }
 #endif
@@ -868,7 +869,7 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
     
     self.vibrancyView.effect = vibrancyEffect;
     
-    [self.indicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
+    [self.effectiveIndicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
 }
 
 - (void)setIndicatorView:(JGProgressHUDIndicatorView *)indicatorView {
@@ -876,18 +877,29 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
         return;
     }
     
+    _indicatorView = indicatorView;
+    
     if (_transitioning) {
-        _indicatorViewAfterTransitioning = indicatorView;
+        _effectiveIndicatorViewNeedsUpdate = YES;
+        return;
+    }
+    else {
+        self.effectiveIndicatorView = self.indicatorView;
+    }
+}
+
+- (void)setEffectiveIndicatorView:(JGProgressHUDIndicatorView * _Nonnull)effectiveIndicatorView {
+    if (self.effectiveIndicatorView == effectiveIndicatorView) {
         return;
     }
     
     [UIView performWithoutAnimation:^{
-        [self->_indicatorView removeFromSuperview];
-        self->_indicatorView = indicatorView;
+        [self->_effectiveIndicatorView removeFromSuperview];
+        self->_effectiveIndicatorView = effectiveIndicatorView;
         
         if (self.indicatorView != nil) {
-            [self.indicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
-            [self.contentView addSubview:self.indicatorView];
+            [self.effectiveIndicatorView setUpForHUDStyle:self.style vibrancyEnabled:self.vibrancyEnabled];
+            [self.contentView addSubview:self.effectiveIndicatorView];
         }
     }];
     
@@ -929,7 +941,7 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
     
     _progress = progress;
     
-    [self.indicatorView setProgress:progress animated:animated];
+    [self.effectiveIndicatorView setProgress:progress animated:animated];
 }
 
 #pragma mark - Overrides
@@ -941,7 +953,7 @@ static UIViewAnimationOptions UIViewAnimationOptionsFromUIViewAnimationCurve(UIV
     }
     else {
         UIView *view = [super hitTest:point withEvent:event];
-
+        
         if (self.interactionType == JGProgressHUDInteractionTypeBlockAllTouches) {
             return view;
         }

+ 30 - 25
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDErrorIndicatorView.m

@@ -9,18 +9,39 @@
 #import "JGProgressHUDErrorIndicatorView.h"
 #import "JGProgressHUD.h"
 
+static UIBezierPath *errorBezierPath() {
+    static UIBezierPath *path;
+    
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        path = [UIBezierPath bezierPath];
+        [path moveToPoint:CGPointMake(3, 3)];
+        [path addLineToPoint:CGPointMake(30, 30)];
+        [path moveToPoint:CGPointMake(30, 3)];
+        [path addLineToPoint:CGPointMake(3, 30)];
+        
+        [path setLineWidth:3];
+        [path setLineJoinStyle:kCGLineJoinRound];
+        [path setLineCapStyle:kCGLineCapRound];
+    });
+    
+    return path;
+}
+
 @implementation JGProgressHUDErrorIndicatorView
 
 - (instancetype)initWithContentView:(UIView *__unused)contentView {
-    NSBundle *currentBundle = [NSBundle bundleForClass:[self class]];
-    NSURL *resourceBundleURL = [currentBundle URLForResource:@"JGProgressHUD" withExtension:@"bundle"];
-    NSBundle *resourceBundle = currentBundle;
-    if (resourceBundleURL) {
-        resourceBundle = [NSBundle bundleWithURL:resourceBundleURL] ?: currentBundle;
-    }
-
-    NSString *imgPath = [resourceBundle pathForResource:@"jg_hud_error" ofType:@"png"];
-    self = [super initWithImage:[[UIImage imageWithContentsOfFile:imgPath] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
+    UIBezierPath *path = errorBezierPath();
+
+    UIGraphicsBeginImageContextWithOptions(CGSizeMake(33, 33), NO, 0.0);
+    [[UIColor blackColor] setStroke];
+    [path stroke];
+    
+    UIImage *img = [UIGraphicsGetImageFromCurrentImageContext() imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+    
+    UIGraphicsEndImageContext();
+    
+    self = [super initWithImage:img];
 
     return self;
 }
@@ -33,20 +54,4 @@
     self.accessibilityLabel = NSLocalizedString(@"Error",);
 }
 
-- (void)setUpForHUDStyle:(JGProgressHUDStyle)style vibrancyEnabled:(BOOL)vibrancyEnabled {
-    [super setUpForHUDStyle:style vibrancyEnabled:vibrancyEnabled];
-
-    if (style == JGProgressHUDStyleDark) {
-        self.contentView.tintColor = [UIColor whiteColor];
-    }
-    else {
-        self.contentView.tintColor = [UIColor blackColor];
-    }
-}
-
-- (void)tintColorDidChange {
-    [super tintColorDidChange];
-    self.contentView.tintColor = self.tintColor;
-}
-
 @end

+ 22 - 1
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDImageIndicatorView.m

@@ -8,7 +8,9 @@
 
 #import "JGProgressHUDImageIndicatorView.h"
 
-@implementation JGProgressHUDImageIndicatorView
+@implementation JGProgressHUDImageIndicatorView {
+    BOOL _customizedTintColor;
+}
 
 - (instancetype)initWithImage:(UIImage *)image {
     UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
@@ -18,4 +20,23 @@
     return self;
 }
 
+- (void)setUpForHUDStyle:(JGProgressHUDStyle)style vibrancyEnabled:(BOOL)vibrancyEnabled {
+    [super setUpForHUDStyle:style vibrancyEnabled:vibrancyEnabled];
+
+    if (!_customizedTintColor) {
+        if (style == JGProgressHUDStyleDark) {
+            self.tintColor = [UIColor whiteColor];
+        }
+        else {
+            self.tintColor = [UIColor blackColor];
+        }
+        _customizedTintColor = NO;
+    }
+}
+
+- (void)setTintColor:(UIColor *)tintColor {
+    [super setTintColor:tintColor];
+    _customizedTintColor = YES;
+}
+
 @end

+ 20 - 1
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDIndeterminateIndicatorView.m

@@ -8,10 +8,29 @@
 
 #import "JGProgressHUDIndeterminateIndicatorView.h"
 
+#ifndef __IPHONE_13_0
+#define __IPHONE_13_0    130000
+#endif
+
 @implementation JGProgressHUDIndeterminateIndicatorView
 
 - (instancetype)init {
-    UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
+    UIActivityIndicatorView *activityIndicatorView;
+    
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
+    if (@available(iOS 13, tvOS 13, *)) {
+        activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleLarge];
+    }
+    else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+        activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
+#pragma clang diagnostic pop
+    }
+#else
+    activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
+#endif
+    
     [activityIndicatorView startAnimating];
     
     self = [super initWithContentView:activityIndicatorView];

+ 29 - 25
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDSuccessIndicatorView.m

@@ -9,18 +9,38 @@
 #import "JGProgressHUDSuccessIndicatorView.h"
 #import "JGProgressHUD.h"
 
+static UIBezierPath *successBezierPath() {
+    static UIBezierPath *path;
+    
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        path = [UIBezierPath bezierPath];
+        [path moveToPoint:CGPointMake(1.5, 18)];
+        [path addLineToPoint:CGPointMake(11, 28)];
+        [path addLineToPoint:CGPointMake(31.5, 5.5)];
+        
+        [path setLineWidth:3];
+        [path setLineJoinStyle:kCGLineJoinRound];
+        [path setLineCapStyle:kCGLineCapRound];
+    });
+
+    return path;
+}
+
 @implementation JGProgressHUDSuccessIndicatorView
 
 - (instancetype)initWithContentView:(UIView *__unused)contentView {
-    NSBundle *currentBundle = [NSBundle bundleForClass:[self class]];
-    NSURL *resourceBundleURL = [currentBundle URLForResource:@"JGProgressHUD" withExtension:@"bundle"];
-    NSBundle *resourceBundle = currentBundle;
-    if (resourceBundleURL) {
-        resourceBundle = [NSBundle bundleWithURL:resourceBundleURL] ?: currentBundle;
-    }
-
-    NSString *imgPath = [resourceBundle pathForResource:@"jg_hud_success" ofType:@"png"];
-    self = [super initWithImage:[[UIImage imageWithContentsOfFile:imgPath] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
+    UIBezierPath *path = successBezierPath();
+    
+    UIGraphicsBeginImageContextWithOptions(CGSizeMake(33, 33), NO, 0.0);
+    [[UIColor blackColor] setStroke];
+    [path stroke];
+    
+    UIImage *img = [UIGraphicsGetImageFromCurrentImageContext() imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+    
+    UIGraphicsEndImageContext();
+    
+    self = [super initWithImage:img];
 
     return self;
 }
@@ -33,20 +53,4 @@
     self.accessibilityLabel = NSLocalizedString(@"Success",);
 }
 
-- (void)setUpForHUDStyle:(JGProgressHUDStyle)style vibrancyEnabled:(BOOL)vibrancyEnabled {
-    [super setUpForHUDStyle:style vibrancyEnabled:vibrancyEnabled];
-
-    if (style == JGProgressHUDStyleDark) {
-        self.contentView.tintColor = [UIColor whiteColor];
-    }
-    else {
-        self.contentView.tintColor = [UIColor blackColor];
-    }
-}
-
-- (void)tintColorDidChange {
-    [super tintColorDidChange];
-    self.contentView.tintColor = self.tintColor;
-}
-
 @end

+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUD-Defines.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUD-Defines.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUD.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUD.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDAnimation.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDAnimation.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDErrorIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDErrorIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDFadeAnimation.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeAnimation.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDFadeZoomAnimation.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeZoomAnimation.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDImageIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDImageIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDIndeterminateIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndeterminateIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDPieIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDPieIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDRingIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDRingIndicatorView.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDShadow.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDShadow.h


+ 0 - 0
Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/JGProgressHUDSuccessIndicatorView.h → Pods/JGProgressHUD/JGProgressHUD/JGProgressHUD/include/JGProgressHUDSuccessIndicatorView.h


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error.png


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error@2x.png


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_error@3x.png


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success.png


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success@2x.png


BIN
Pods/JGProgressHUD/JGProgressHUD/Resources/jg_hud_success@3x.png


+ 24 - 10
Pods/JGProgressHUD/README.md

@@ -28,6 +28,9 @@ Download the source code and open the <a href="Examples">Examples</a> project to
 [![GitHub license](https://img.shields.io/github/license/JonasGessner/JGProgressHUD.svg)](https://github.com/JonasGessner/JGProgressHUD/blob/master/LICENSE.txt)
 [![CocoaPods](https://img.shields.io/cocoapods/v/JGProgressHUD.svg)](https://cocoapods.org/pods/JGProgressHUD)
 [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
+[![Carthage compatible](https://img.shields.io/badge/SwiftPM-Compatible-brightgreen)](https://swift.org/package-manager)
+
+
 
 Examples
 --------------
@@ -80,9 +83,9 @@ HUD.progress = 0.5f;
 [HUD dismissAfterDelay:3.0];
 ```
 
-__Important:__ You should always show `JGProgressHUD` in a `UIViewController` view.
+__For more examples, including in Swift, see <a href="Examples">Examples</a>.__
 
-Download the source code and open the <a href="Examples">Examples</a> project to explore more use cases for JGProgressHUD.
+__Important:__ You should always show `JGProgressHUD` in a `UIViewController` view.
 
 Customization
 -----------
@@ -118,12 +121,15 @@ To dim the content behind the HUD set your dim color as `backgroundColor` of you
 
 Installation
 --------------
-### CocoaPods:
-In your `Podfile` add:
 
+### Swift Package Manager:
+
+Add `JGProgressHUD` as a dependency in your `Package.swift` file:
+
+```swift
+.package(url: "https://github.com/JonasGessner/JGProgressHUD", .upToNextMajor(from: "2.0.0"))
 ```
-pod 'JGProgressHUD'
-```
+
 
 ### Carthage:
 In your `Cartfile` add:
@@ -132,12 +138,20 @@ In your `Cartfile` add:
 github "JonasGessner/JGProgressHUD"
 ```
 
-### Manual Installation (Framework):
+### CocoaPods:
+In your `Podfile` add:
+
+```
+pod 'JGProgressHUD'
+```
+
+### Manual Installation:
 
 1. Drag the `JGProgressHUD.xcodeproj` file into your Xcode project.
 2. Add `JGProgressHUD.framework` to "Embedded Binaries" in the "General" tab of your target.
 
-Then import the module where you want to use it:
+-------
+After installing import the module where you want to use it:
 
 ```objc
 @import JGProgressHUD;
@@ -167,8 +181,8 @@ Each class and method is well documented, making it easy to quickly get a good o
 License
 ---------
 MIT License.<br/>
-© 2014-2018, Jonas Gessner.
+© 2014-2019, Jonas Gessner.
 
 Credits
 ----------
-Created and maintained by Jonas Gessner, © 2014-2018.<br/>
+Created and maintained by Jonas Gessner, © 2014-2019.<br/>

+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraView.strings → Pods/KK-ALCameraViewController/ALCameraViewController/CameraView.strings


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButton.imageset/cameraButton@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/cameraButtonHighlighted.imageset/cameraButtonHighlighted@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/closeButton.imageset/closeButton@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/confirmButton.imageset/confirmButton@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashAutoIcon.imageset/flashAutoIcon@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOffIcon.imageset/flashOffIcon@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/flashOnIcon.imageset/flashOnIcon@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryButton.imageset/libraryButton@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryCancel.imageset/libraryCancel@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/libraryConfirm.imageset/libraryConfirm@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/permissionsIcon.imageset/cameraPermissionsIcon@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/placeholder.imageset/placeholder@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@2x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@3x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/retakeButton.imageset/retakeButton@3x.png


+ 23 - 0
Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "rotateButton@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "rotateButton@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "rotateButton@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@1x.png


BIN
Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@2x.png


BIN
Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/rotateButton.imageset/rotateButton@3x.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/Contents.json → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/Contents.json


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton.png


+ 0 - 0
Pods/ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton@2x.png → Pods/KK-ALCameraViewController/ALCameraViewController/CameraViewAssets.xcassets/swapButton.imageset/swapButton@2x.png


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно