Browse Source

update project

Marino Faggiana 6 years ago
parent
commit
0340358c1d
87 changed files with 2085 additions and 44 deletions
  1. 1 0
      Cartfile
  2. 1 0
      Cartfile.resolved
  3. 28 0
      Carthage/Checkouts/MBProgressHUD/.gitignore
  4. 20 0
      Carthage/Checkouts/MBProgressHUD/.travis.yml
  5. 118 0
      Carthage/Checkouts/MBProgressHUD/CHANGELOG.mdown
  6. 8 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/HudDemo_Prefix.pch
  7. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/AppStore.png
  8. 158 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Contents.json
  9. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-167.png
  10. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-20.png
  11. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-40.png
  12. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-41.png
  13. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60.png
  14. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png
  15. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png
  16. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-72.png
  17. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png
  18. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-76.png
  19. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png
  20. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png
  21. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png
  22. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png
  23. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png
  24. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png
  25. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png
  26. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
  27. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small.png
  28. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png
  29. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png
  30. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png
  31. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon.png
  32. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon@2x.png
  33. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark.png
  34. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark@2x.png
  35. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark@3x.png
  36. 23 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Contents.json
  37. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Contents.json
  38. 66 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Info.plist
  39. 15 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoAppDelegate.h
  40. 20 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoAppDelegate.m
  41. 14 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoViewController.h
  42. 451 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoViewController.m
  43. 46 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/en.lproj/Launch.storyboard
  44. 56 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/en.lproj/Main.storyboard
  45. 16 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/main.m
  46. 40 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Base.lproj/Main.storyboard
  47. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Contents.json
  48. 13 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
  49. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/gradient-fill-6-copy.png
  50. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json
  51. 14 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Contents.json
  52. 13 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
  53. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/vector-smart-object.png
  54. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json
  55. 13 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
  56. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/gradient-fill-6-copy.png
  57. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json
  58. 14 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Contents.json
  59. 13 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
  60. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/vector-smart-object.png
  61. 6 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json
  62. 26 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Contents.json
  63. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Top Shelf Image.imageset/AppleTV-TopShelf-1920x720.png
  64. 13 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Top Shelf Image.imageset/Contents.json
  65. BIN
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/LaunchImage.launchimage/AppleTV-Launch.png
  66. 16 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/LaunchImage.launchimage/Contents.json
  67. 36 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Info.plist
  68. 16 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVAppDelegate.h
  69. 17 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVAppDelegate.m
  70. 14 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVViewController.h
  71. 47 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVViewController.m
  72. 16 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/main.m
  73. 361 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudTests/HudTests.m
  74. 24 0
      Carthage/Checkouts/MBProgressHUD/Demo/HudTests/Info.plist
  75. 26 0
      Carthage/Checkouts/MBProgressHUD/Framework-Info.plist
  76. 24 0
      Carthage/Checkouts/MBProgressHUD/Framework-tvOS-Info.plist
  77. 19 0
      Carthage/Checkouts/MBProgressHUD/LICENSE
  78. 15 0
      Carthage/Checkouts/MBProgressHUD/MBProgressHUD-Prefix.pch
  79. 12 4
      Carthage/Checkouts/MBProgressHUD/MBProgressHUD.h
  80. 31 20
      Carthage/Checkouts/MBProgressHUD/MBProgressHUD.m
  81. 20 0
      Carthage/Checkouts/MBProgressHUD/MBProgressHUD.podspec
  82. 19 0
      Carthage/Checkouts/MBProgressHUD/MBProgressHUD.xcworkspace/contents.xcworkspacedata
  83. 126 0
      Carthage/Checkouts/MBProgressHUD/README.mdown
  84. 5 16
      Nextcloud.xcodeproj/project.pbxproj
  85. 2 1
      Share/ShareViewController.h
  86. 2 1
      iOSClient/Library/MWPhotoBrowser/MWPhotoBrowserPrivate.h
  87. 1 2
      iOSClient/Utility/CCHud.h

+ 1 - 0
Cartfile

@@ -7,3 +7,4 @@ github "dzenbot/DZNEmptyDataSet"
 github "ealeksandrov/EAIntroView"
 github "calimarkus/JDStatusBarNotification"
 github "ChangbaDevs/KTVHTTPCache" ~> 1.1.7
+github "jdg/MBProgressHUD" ~> 1.1.0

+ 1 - 0
Cartfile.resolved

@@ -5,6 +5,7 @@ github "danielsaidi/Sheeeeeeeeet" "1.0.1"
 github "dzenbot/DZNEmptyDataSet" "v1.8.1"
 github "ealeksandrov/EAIntroView" "2.12.0"
 github "ealeksandrov/EARestrictedScrollView" "1.1.0"
+github "jdg/MBProgressHUD" "1.1.0"
 github "kishikawakatsumi/UICKeyChainStore" "v2.1.2"
 github "sgr-ksmt/PDFGenerator" "2.1"
 github "tilltue/TLPhotoPicker" "1.7.7"

+ 28 - 0
Carthage/Checkouts/MBProgressHUD/.gitignore

@@ -0,0 +1,28 @@
+# xcode noise
+build/
+*.pbxuser
+*.mode1v3
+*.mode2v3
+*.perspectivev3
+xcuserdata/
+*.xccheckout
+
+# old skool
+.svn
+
+# osx noise
+.DS_Store
+profile
+
+# vim noise
+*~
+*.swp
+
+# AppCode noise
+.idea/
+
+# Ruby
+.ruby-version
+
+# Carthage
+Carthage/Build

+ 20 - 0
Carthage/Checkouts/MBProgressHUD/.travis.yml

@@ -0,0 +1,20 @@
+language: objective-c
+osx_image: xcode9
+
+before_install:
+  - env
+  - locale
+  - gem install xcpretty --no-rdoc --no-ri --no-document --quiet
+  - xcpretty --version
+  - xcodebuild -version
+  - xcodebuild -showsdks
+
+script:
+  - set -o pipefail
+
+  - xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemo -sdk iphonesimulator -configuration Debug | xcpretty -c
+  - xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemoTV -sdk iphonesimulator -configuration Debug | xcpretty -c
+  - xcodebuild clean build test -workspace MBProgressHUD.xcworkspace -scheme HudTests -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Air 2,OS=11.0" -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c
+
+after_success:
+  - bash <(curl -s https://codecov.io/bash)

+ 118 - 0
Carthage/Checkouts/MBProgressHUD/CHANGELOG.mdown

@@ -0,0 +1,118 @@
+**Version 1.0.0** @ 14.07.16
+
+- Requires ARC and iOS 6+.
+- Includes a new default design for iOS 7+.
+- Deprecates certain helpers and exposes some more flexible API.
+- Removes KVO observing of local properties.
+- Migrates layout code to Auto Layout. 
+- Includes a rewritten demo app. 
+- Includes a rewritten iOS example app.
+- Updates and extends documentation.
+- Adds a new button property (cancellation support).
+- Adds support for `NSProgress`
+- Adds a new customizable background view class. 
+- Adds new assertions. 
+- Adds basic unit tests.
+- Adds support for motion effects.
+- Adds nullability.
+- Adds basic interface builder support. 
+- Adds tvOS support.
+- Adds a simple tvOS example app.
+- Improves behavior when showing and hiding in quick succession. 
+- Improves support for `UIAppearance `. 
+- Various smaller bug-fixes
+
+**Version 0.9.2** @ 22.12.15
+
+- Timer improvements
+- Additional assertions 
+- Added a framework target
+- Tint progress tint color enhancements
+
+**Version 0.9.1** @ 06.03.15
+
+- Bug-fixes
+- Modernization
+
+**Version 0.9** @ 12.08.14
+
+- iOS 8 compatibility and some bug fixes.
+- Additional iOS 7 / iOS 8 styling enhancements. 
+- Improved 64bit support. 
+- Demo modernization. 
+
+**Version 0.8** @ 19.09.13
+
+- iOS 7 compatibility and some bug fixes.
+
+**Version 0.7** @ 25.06.13
+
+- Added horizontal bar mode. ([jjxtra](https://github.com/jjxtra)).
+- CI integration.
+
+**Version 0.6** @ 13.03.13
+
+- Full cocoapods support.
+- Static library integration option.
+- Improved blocks support. 
+- Bezel color. 
+- Demo app fixes (iOS 6).
+- Various bug-fixes and enhancements.
+
+**Version 0.5** @ 22.03.12
+
+- Major source code modernization and cleanup (KVO, layout code, instance vars, etc.).
+- New annular determinate mode.
+- New text only mode. 
+- Added a static library project and Xcode 4 workspace. 
+- Added methods to find and return HUD(s) on a view.
+- Various bug fixes.
+- Various demo project enhancements (hi-res rescues, new samples). 
+
+IMPORTANT: Requires LLVM 3+.
+
+**Version 0.41** @ 03.01.12
+
+- Support for ARC.
+
+**Version 0.4** @ 25.07.10
+
+- Different animation modes. Default set to zoom.
+- Class convenience methods ([tadelv](http://github.com/tadelv)).
+- Autorotation when added to a UIWindow ([wuf810](http://github.com/wuf810)).
+- Extended demo app. 
+- Several smaller fixes.
+
+**Version 0.33** @ 27.03.10
+
+- Custom view operation mode added.
+- Fixed a memory leak.
+
+**Version 0.32** @ 4.01.10
+
+- Added minShowTime, graceTime, xOffset, yOffset.
+- Various fixes.
+
+**Version 0.31** @ 8.10.09
+
+- Fix for touch through during the fade-out animation.
+
+**Version 0.3** @ 30.9.09
+
+- Added show: and hide: methods.
+- Now using UIViews layoutSubviews to automate layout calls.
+- Added some floors to round pixel positions and thereby prevent unsharp views.
+- Some additional documentation and code cleanup. 
+
+**Version 0.2** @ 21.7.09
+
+- Added determinate progress mode and switching capabilities between determinate and indeterminate modes. 
+- Various bug-fixes.
+
+**Version 0.11** @ 2.6.09.
+
+- Updated labelText and detailsLabelText properties to support text modifications while the HUD is being shown. 
+
+**Version 0.1** @ 2.4.09
+
+- Initial release.

+ 8 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/HudDemo_Prefix.pch

@@ -0,0 +1,8 @@
+//
+// Prefix header for all source files of the 'HudDemo' target in the 'HudDemo' project
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+    #import <UIKit/UIKit.h>
+#endif

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/AppStore.png


+ 158 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,158 @@
+{
+  "images" : [
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-40.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-60.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-Small.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-Small@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-Small@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-Small-40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-Small-40@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "57x57",
+      "idiom" : "iphone",
+      "filename" : "Icon.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "57x57",
+      "idiom" : "iphone",
+      "filename" : "Icon@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-60@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-60@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-20.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-41.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small-1.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small@2x-1.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small-40.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small-40@2x-1.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "50x50",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small-50.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "50x50",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small-50@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "72x72",
+      "idiom" : "ipad",
+      "filename" : "Icon-72.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "72x72",
+      "idiom" : "ipad",
+      "filename" : "Icon-72@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-76.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-76@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "Icon-167.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "AppStore.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-167.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-20.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-40.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-41.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-72.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-76.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/AppIcon.appiconset/Icon@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark@2x.png


BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Checkmark@3x.png


+ 23 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Checkmark.imageset/Contents.json

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

+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Images.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 66 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/Info.plist

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIcons</key>
+	<dict/>
+	<key>CFBundleIcons~ipad</key>
+	<dict/>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UILaunchImages</key>
+	<array>
+		<dict>
+			<key>UILaunchImageMinimumOSVersion</key>
+			<string>7.0</string>
+			<key>UILaunchImageName</key>
+			<string>Default-iOS7</string>
+			<key>UILaunchImageOrientation</key>
+			<string>Portrait</string>
+			<key>UILaunchImageSize</key>
+			<string>{320, 568}</string>
+		</dict>
+		<dict>
+			<key>UILaunchImageMinimumOSVersion</key>
+			<string>7.0</string>
+			<key>UILaunchImageName</key>
+			<string>Default-iOS7</string>
+			<key>UILaunchImageOrientation</key>
+			<string>Portrait</string>
+			<key>UILaunchImageSize</key>
+			<string>{320, 480}</string>
+		</dict>
+	</array>
+	<key>UILaunchStoryboardName</key>
+	<string>Launch</string>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+</dict>
+</plist>

+ 15 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoAppDelegate.h

@@ -0,0 +1,15 @@
+//
+//  MBHudDemoAppDelegate.h
+//  HudDemo
+//
+//  Created by Matej Bukovinski on 2.4.09.
+//  Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface MBHudDemoAppDelegate : NSObject <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end

+ 20 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoAppDelegate.m

@@ -0,0 +1,20 @@
+//
+//  MBHudDemoAppDelegate.m
+//  HudDemo
+//
+//  Created by Matej Bukovinski on 2.4.09.
+//  Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
+//
+
+#import "MBHudDemoAppDelegate.h"
+#import "MBHudDemoViewController.h"
+
+
+@implementation MBHudDemoAppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+    self.window.tintColor = [UIColor colorWithRed:.337f green:.57f blue:.731f alpha:1.f];
+    return YES;
+}
+
+@end

+ 14 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoViewController.h

@@ -0,0 +1,14 @@
+//
+//  HudDemoViewController.h
+//  HudDemo
+//
+//  Created by Matej Bukovinski on 30.9.09.
+//  Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+
+@interface MBHudDemoViewController : UITableViewController
+
+@end

+ 451 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/MBHudDemoViewController.m

@@ -0,0 +1,451 @@
+//
+//  MBHudDemoViewController.m
+//  HudDemo
+//
+//  Created by Matej Bukovinski on 30.9.09.
+//  Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
+//
+
+#import "MBHudDemoViewController.h"
+#import "MBProgressHUD.h"
+#import <QuartzCore/QuartzCore.h>
+
+@interface MBExample : NSObject
+
+@property (nonatomic, copy) NSString *title;
+@property (nonatomic, assign) SEL selector;
+
+@end
+
+
+@implementation MBExample
+
++ (instancetype)exampleWithTitle:(NSString *)title selector:(SEL)selector {
+    MBExample *example = [[self class] new];
+    example.title = title;
+    example.selector = selector;
+    return example;
+}
+
+@end
+
+
+@interface MBHudDemoViewController () <NSURLSessionDelegate>
+
+@property (nonatomic, strong) NSArray<NSArray<MBExample *> *> *examples;
+// Atomic, because it may be canceled from main thread, flag is read on a background thread
+@property (atomic, assign) BOOL canceled;
+
+@end
+
+
+@implementation MBHudDemoViewController
+
+#pragma mark - Lifecycle
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.examples =
+    @[@[[MBExample exampleWithTitle:@"Indeterminate mode" selector:@selector(indeterminateExample)],
+        [MBExample exampleWithTitle:@"With label" selector:@selector(labelExample)],
+        [MBExample exampleWithTitle:@"With details label" selector:@selector(detailsLabelExample)]],
+      @[[MBExample exampleWithTitle:@"Determinate mode" selector:@selector(determinateExample)],
+        [MBExample exampleWithTitle:@"Annular determinate mode" selector:@selector(annularDeterminateExample)],
+        [MBExample exampleWithTitle:@"Bar determinate mode" selector:@selector(barDeterminateExample)]],
+      @[[MBExample exampleWithTitle:@"Text only" selector:@selector(textExample)],
+        [MBExample exampleWithTitle:@"Custom view" selector:@selector(customViewExample)],
+        [MBExample exampleWithTitle:@"With action button" selector:@selector(cancelationExample)],
+        [MBExample exampleWithTitle:@"Mode switching" selector:@selector(modeSwitchingExample)]],
+      @[[MBExample exampleWithTitle:@"On window" selector:@selector(windowExample)],
+        [MBExample exampleWithTitle:@"NSURLSession" selector:@selector(networkingExample)],
+        [MBExample exampleWithTitle:@"Determinate with NSProgress" selector:@selector(determinateNSProgressExample)],
+        [MBExample exampleWithTitle:@"Dim background" selector:@selector(dimBackgroundExample)],
+        [MBExample exampleWithTitle:@"Colored" selector:@selector(colorExample)]]
+      ];
+}
+
+#pragma mark - Examples
+
+- (void)indeterminateExample {
+    // Show the HUD on the root view (self.view is a scrollable table view and thus not suitable,
+    // as the HUD would move with the content as we scroll).
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Fire off an asynchronous task, giving UIKit the opportunity to redraw wit the HUD added to the
+    // view hierarchy.
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+
+        // Do something useful in the background
+        [self doSomeWork];
+
+        // IMPORTANT - Dispatch back to the main thread. Always access UI
+        // classes (including MBProgressHUD) on the main thread.
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)labelExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the label text.
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+    // You can also adjust other label properties if needed.
+    // hud.label.font = [UIFont italicSystemFontOfSize:16.f];
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        [self doSomeWork];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)detailsLabelExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the label text.
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+    // Set the details label text. Let's make it multiline this time.
+    hud.detailsLabel.text = NSLocalizedString(@"Parsing data\n(1/1)", @"HUD title");
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        [self doSomeWork];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)windowExample {
+    // Covers the entire screen. Similar to using the root view controller view.
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view.window animated:YES];
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        [self doSomeWork];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)determinateExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the determinate mode to show task progress.
+    hud.mode = MBProgressHUDModeDeterminate;
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)determinateNSProgressExample {
+	MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+	
+	// Set the determinate mode to show task progress.
+	hud.mode = MBProgressHUDModeDeterminate;
+	hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+	// Set up NSProgress
+	NSProgress *progressObject = [NSProgress progressWithTotalUnitCount:100];
+	hud.progressObject = progressObject;
+
+	// Configure a cancel button.
+	[hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
+	[hud.button addTarget:progressObject action:@selector(cancel) forControlEvents:UIControlEventTouchUpInside];
+
+	dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+		// Do something useful in the background and update the HUD periodically.
+		[self doSomeWorkWithProgressObject:progressObject];
+		dispatch_async(dispatch_get_main_queue(), ^{
+			[hud hideAnimated:YES];
+		});
+	});
+}
+
+- (void)annularDeterminateExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the annular determinate mode to show task progress.
+    hud.mode = MBProgressHUDModeAnnularDeterminate;
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)barDeterminateExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the bar determinate mode to show task progress.
+    hud.mode = MBProgressHUDModeDeterminateHorizontalBar;
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)customViewExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the custom view mode to show any view.
+    hud.mode = MBProgressHUDModeCustomView;
+    // Set an image view with a checkmark.
+    UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+    hud.customView = [[UIImageView alloc] initWithImage:image];
+    // Looks a bit nicer if we make it square.
+    hud.square = YES;
+    // Optional label text.
+    hud.label.text = NSLocalizedString(@"Done", @"HUD done title");
+
+    [hud hideAnimated:YES afterDelay:3.f];
+}
+
+- (void)textExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the text mode to show only text.
+    hud.mode = MBProgressHUDModeText;
+    hud.label.text = NSLocalizedString(@"Message here!", @"HUD message title");
+    // Move to bottm center.
+    hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
+
+    [hud hideAnimated:YES afterDelay:3.f];
+}
+
+- (void)cancelationExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set the determinate mode to show task progress.
+    hud.mode = MBProgressHUDModeDeterminate;
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+    // Configure the button.
+    [hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
+    [hud.button addTarget:self action:@selector(cancelWork:) forControlEvents:UIControlEventTouchUpInside];
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)modeSwitchingExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set some text to show the initial status.
+    hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
+    // Will look best, if we set a minimum size.
+    hud.minSize = CGSizeMake(150.f, 100.f);
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithMixedProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+        });
+    });
+}
+
+- (void)networkingExample {
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+    // Set some text to show the initial status.
+    hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
+    // Will look best, if we set a minimum size.
+    hud.minSize = CGSizeMake(150.f, 100.f);
+
+    [self doSomeNetworkWorkWithProgress];
+}
+
+- (void)dimBackgroundExample {
+	MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+
+	// Change the background view style and color.
+	hud.backgroundView.style = MBProgressHUDBackgroundStyleSolidColor;
+	hud.backgroundView.color = [UIColor colorWithWhite:0.f alpha:0.1f];
+
+	dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+		[self doSomeWork];
+		dispatch_async(dispatch_get_main_queue(), ^{
+			[hud hideAnimated:YES];
+		});
+	});
+}
+
+- (void)colorExample {
+	MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
+	hud.contentColor = [UIColor colorWithRed:0.f green:0.6f blue:0.7f alpha:1.f];
+
+	// Set the label text.
+	hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+	dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+		[self doSomeWork];
+		dispatch_async(dispatch_get_main_queue(), ^{
+			[hud hideAnimated:YES];
+		});
+	});
+}
+
+#pragma mark - Tasks
+
+- (void)doSomeWork {
+    // Simulate by just waiting.
+    sleep(3.);
+}
+
+- (void)doSomeWorkWithProgressObject:(NSProgress *)progressObject {
+	// This just increases the progress indicator in a loop.
+	while (progressObject.fractionCompleted < 1.0f) {
+		if (progressObject.isCancelled) break;
+		[progressObject becomeCurrentWithPendingUnitCount:1];
+		[progressObject resignCurrent];
+		usleep(50000);
+	}
+}
+
+- (void)doSomeWorkWithProgress {
+    self.canceled = NO;
+    // This just increases the progress indicator in a loop.
+    float progress = 0.0f;
+    while (progress < 1.0f) {
+        if (self.canceled) break;
+        progress += 0.01f;
+        dispatch_async(dispatch_get_main_queue(), ^{
+            // Instead we could have also passed a reference to the HUD
+            // to the HUD to myProgressTask as a method parameter.
+            [MBProgressHUD HUDForView:self.navigationController.view].progress = progress;
+        });
+        usleep(50000);
+    }
+}
+
+- (void)doSomeWorkWithMixedProgress {
+    MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
+    // Indeterminate mode
+    sleep(2);
+    // Switch to determinate mode
+    dispatch_async(dispatch_get_main_queue(), ^{
+        hud.mode = MBProgressHUDModeDeterminate;
+        hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+    });
+    float progress = 0.0f;
+    while (progress < 1.0f) {
+        progress += 0.01f;
+        dispatch_async(dispatch_get_main_queue(), ^{
+            hud.progress = progress;
+        });
+        usleep(50000);
+    }
+    // Back to indeterminate mode
+    dispatch_async(dispatch_get_main_queue(), ^{
+        hud.mode = MBProgressHUDModeIndeterminate;
+        hud.label.text = NSLocalizedString(@"Cleaning up...", @"HUD cleanining up title");
+    });
+    sleep(2);
+    dispatch_sync(dispatch_get_main_queue(), ^{
+        UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+        UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
+        hud.customView = imageView;
+        hud.mode = MBProgressHUDModeCustomView;
+        hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
+    });
+    sleep(2);
+}
+
+- (void)doSomeNetworkWorkWithProgress {
+    NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
+    NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
+    NSURL *URL = [NSURL URLWithString:@"https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT1425/sample_iPod.m4v.zip"];
+    NSURLSessionDownloadTask *task = [session downloadTaskWithURL:URL];
+    [task resume];
+}
+
+- (void)cancelWork:(id)sender {
+    self.canceled = YES;
+}
+
+#pragma mark - UITableViewDelegate
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
+    return self.examples.count;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+    return self.examples[section].count;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    MBExample *example = self.examples[indexPath.section][indexPath.row];
+    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MBExampleCell" forIndexPath:indexPath];
+    cell.textLabel.text = example.title;
+    cell.textLabel.textColor = self.view.tintColor;
+    cell.textLabel.textAlignment = NSTextAlignmentCenter;
+    cell.selectedBackgroundView = [UIView new];
+    cell.selectedBackgroundView.backgroundColor = [cell.textLabel.textColor colorWithAlphaComponent:0.1f];
+    return cell;
+}
+
+#pragma mark - UITableViewDelegate
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    MBExample *example = self.examples[indexPath.section][indexPath.row];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
+    [self performSelector:example.selector];
+#pragma clang diagnostic pop
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [tableView deselectRowAtIndexPath:indexPath animated:YES];
+    });
+}
+
+#pragma mark - NSURLSessionDelegate
+
+- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
+    // Do something with the data at location...
+
+    // Update the UI on the main thread
+    dispatch_async(dispatch_get_main_queue(), ^{
+        MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
+        UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+        UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
+        hud.customView = imageView;
+        hud.mode = MBProgressHUDModeCustomView;
+        hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
+        [hud hideAnimated:YES afterDelay:3.f];
+    });
+}
+
+- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite {
+    float progress = (float)totalBytesWritten / (float)totalBytesExpectedToWrite;
+
+    // Update the UI on the main thread
+    dispatch_async(dispatch_get_main_queue(), ^{
+        MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
+        hud.mode = MBProgressHUDModeDeterminate;
+        hud.progress = progress;
+    });
+}
+
+@end

+ 46 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/en.lproj/Launch.storyboard

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8191" systemVersion="15A282b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="Fq2-vR-Rsu">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
+    </dependencies>
+    <scenes>
+        <!--Navigation Controller-->
+        <scene sceneID="gfk-xX-zgL">
+            <objects>
+                <navigationController id="Fq2-vR-Rsu" sceneMemberID="viewController">
+                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="2LN-7G-jZD">
+                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                        <animations/>
+                    </navigationBar>
+                    <connections>
+                        <segue destination="iXE-FA-91q" kind="relationship" relationship="rootViewController" id="peN-oI-nI6"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="blx-hg-yRR" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-328" y="525"/>
+        </scene>
+        <!--MBProgressHUD-->
+        <scene sceneID="v3e-zg-M0g">
+            <objects>
+                <viewController id="iXE-FA-91q" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="Qu9-82-m3K"/>
+                        <viewControllerLayoutGuide type="bottom" id="YSo-zR-oqe"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="TWt-Z9-CWt">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <animations/>
+                        <color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                    </view>
+                    <navigationItem key="navigationItem" title="MBProgressHUD" id="IuF-Dp-Voh"/>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="zfE-vP-CLG" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="413" y="525"/>
+        </scene>
+    </scenes>
+</document>

+ 56 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/en.lproj/Main.storyboard

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="9dw-fs-BGe">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
+    </dependencies>
+    <scenes>
+        <!--MBProgressHUD-->
+        <scene sceneID="t7O-Gz-sDn">
+            <objects>
+                <tableViewController id="1VA-J6-vTg" customClass="MBHudDemoViewController" sceneMemberID="viewController">
+                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="v14-ld-S1m">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                        <inset key="separatorInset" minX="30" minY="0.0" maxX="30" maxY="0.0"/>
+                        <prototypes>
+                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="MBExampleCell" id="EW9-df-ImK">
+                                <rect key="frame" x="0.0" y="114" width="600" height="44"/>
+                                <autoresizingMask key="autoresizingMask"/>
+                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="EW9-df-ImK" id="TMc-hr-0mm">
+                                    <rect key="frame" x="0.0" y="0.0" width="600" height="43"/>
+                                    <autoresizingMask key="autoresizingMask"/>
+                                </tableViewCellContentView>
+                            </tableViewCell>
+                        </prototypes>
+                        <sections/>
+                        <connections>
+                            <outlet property="dataSource" destination="1VA-J6-vTg" id="hKQ-Jz-Rff"/>
+                            <outlet property="delegate" destination="1VA-J6-vTg" id="JHC-qg-dsn"/>
+                        </connections>
+                    </tableView>
+                    <navigationItem key="navigationItem" title="MBProgressHUD" id="0xs-aB-nPy"/>
+                </tableViewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="e7W-Fd-fGX" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="553" y="428"/>
+        </scene>
+        <!--Navigation Controller-->
+        <scene sceneID="sbm-9a-RlC">
+            <objects>
+                <navigationController id="9dw-fs-BGe" sceneMemberID="viewController">
+                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="355-tf-2jt">
+                        <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </navigationBar>
+                    <connections>
+                        <segue destination="1VA-J6-vTg" kind="relationship" relationship="rootViewController" id="JkN-8S-WYA"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="umT-Lr-spd" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-267" y="428"/>
+        </scene>
+    </scenes>
+</document>

+ 16 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemo/main.m

@@ -0,0 +1,16 @@
+//
+//  main.m
+//  HudDemo
+//
+//  Created by Matej Bukovinski on 2.4.09.
+//  Copyright bukovinski.com 2009-2016. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "MBHudDemoAppDelegate.h"
+
+int main(int argc, char *argv[]) {
+    @autoreleasepool {
+        return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoAppDelegate class]));
+    }
+}

+ 40 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Base.lproj/Main.storyboard

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" initialViewController="BYZ-38-t0r">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
+    </dependencies>
+    <scenes>
+        <!--Hud DemoTV View Controller-->
+        <scene sceneID="tne-QT-ifu">
+            <objects>
+                <viewController id="BYZ-38-t0r" customClass="MBHudDemoTVViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+                        <rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eq8-Tn-jxG">
+                                <rect key="frame" x="827" y="20" width="266" height="86"/>
+                                <inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
+                                <state key="normal" title="Show HUD"/>
+                                <connections>
+                                    <action selector="showHud:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="s9S-8k-jtW"/>
+                                </connections>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                        <constraints>
+                            <constraint firstItem="eq8-Tn-jxG" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="LhD-Fp-nSs"/>
+                            <constraint firstItem="eq8-Tn-jxG" firstAttribute="top" secondItem="y3c-jy-aDJ" secondAttribute="bottom" constant="20" id="deC-38-WIW"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="438" y="544"/>
+        </scene>
+    </scenes>
+</document>

+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 13 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json

@@ -0,0 +1,13 @@
+{
+  "images" : [
+    {
+      "idiom" : "tv",
+      "filename" : "gradient-fill-6-copy.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/gradient-fill-6-copy.png


+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 14 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Contents.json

@@ -0,0 +1,14 @@
+{
+  "layers" : [
+    {
+      "filename" : "Front.imagestacklayer"
+    },
+    {
+      "filename" : "Back.imagestacklayer"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 13 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json

@@ -0,0 +1,13 @@
+{
+  "images" : [
+    {
+      "idiom" : "tv",
+      "filename" : "vector-smart-object.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/vector-smart-object.png


+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 13 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json

@@ -0,0 +1,13 @@
+{
+  "images" : [
+    {
+      "idiom" : "tv",
+      "filename" : "gradient-fill-6-copy.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/gradient-fill-6-copy.png


+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 14 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Contents.json

@@ -0,0 +1,14 @@
+{
+  "layers" : [
+    {
+      "filename" : "Front.imagestacklayer"
+    },
+    {
+      "filename" : "Back.imagestacklayer"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 13 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json

@@ -0,0 +1,13 @@
+{
+  "images" : [
+    {
+      "idiom" : "tv",
+      "filename" : "vector-smart-object.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/vector-smart-object.png


+ 6 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 26 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Contents.json

@@ -0,0 +1,26 @@
+{
+  "assets" : [
+    {
+      "size" : "1280x768",
+      "idiom" : "tv",
+      "filename" : "App Icon - Large.imagestack",
+      "role" : "primary-app-icon"
+    },
+    {
+      "size" : "400x240",
+      "idiom" : "tv",
+      "filename" : "App Icon - Small.imagestack",
+      "role" : "primary-app-icon"
+    },
+    {
+      "size" : "1920x720",
+      "idiom" : "tv",
+      "filename" : "Top Shelf Image.imageset",
+      "role" : "top-shelf-image"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Top Shelf Image.imageset/AppleTV-TopShelf-1920x720.png


+ 13 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/Icons.brandassets/Top Shelf Image.imageset/Contents.json

@@ -0,0 +1,13 @@
+{
+  "images" : [
+    {
+      "idiom" : "tv",
+      "filename" : "AppleTV-TopShelf-1920x720.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/LaunchImage.launchimage/AppleTV-Launch.png


+ 16 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Images.xcassets/LaunchImage.launchimage/Contents.json

@@ -0,0 +1,16 @@
+{
+  "images" : [
+    {
+      "orientation" : "landscape",
+      "idiom" : "tv",
+      "filename" : "AppleTV-Launch.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "9.0",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 36 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/Info.plist

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIcons</key>
+	<dict/>
+	<key>CFBundleIcons~ipad</key>
+	<dict/>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>arm64</string>
+	</array>
+</dict>
+</plist>

+ 16 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVAppDelegate.h

@@ -0,0 +1,16 @@
+//
+//  MBHudDemoTV.h
+//  HudDemoTV
+//
+//  Created by Matej Bukovinski on 17. 07. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface MBHudDemoTVAppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
+

+ 17 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVAppDelegate.m

@@ -0,0 +1,17 @@
+//
+//  MBHudDemoTV.m
+//  HudDemoTV
+//
+//  Created by Matej Bukovinski on 17. 07. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import "MBHudDemoTVAppDelegate.h"
+
+@implementation MBHudDemoTVAppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+    return YES;
+}
+
+@end

+ 14 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVViewController.h

@@ -0,0 +1,14 @@
+//
+//  MBHudDemoTVViewController.h
+//  HudDemoTV
+//
+//  Created by Matej Bukovinski on 17. 07. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface MBHudDemoTVViewController : UIViewController
+
+@end
+

+ 47 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/MBHudDemoTVViewController.m

@@ -0,0 +1,47 @@
+//
+//  MBHudDemoTVViewController.m
+//  HudDemoTV
+//
+//  Created by Matej Bukovinski on 17. 07. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import "MBHudDemoTVViewController.h"
+#import "MBProgressHUD.h"
+
+@implementation MBHudDemoTVViewController
+
+- (IBAction)showHud:(UIButton *)sender {
+    sender.enabled = NO;
+
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+
+    // Set the determinate mode to show task progress.
+    hud.mode = MBProgressHUDModeDeterminate;
+    hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
+
+    dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
+        // Do something useful in the background and update the HUD periodically.
+        [self doSomeWorkWithProgress];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [hud hideAnimated:YES];
+            sender.enabled = YES;
+        });
+    });
+}
+
+- (void)doSomeWorkWithProgress {
+    // This just increases the progress indicator in a loop.
+    float progress = 0.0f;
+    while (progress < 1.0f) {
+        progress += 0.01f;
+        dispatch_async(dispatch_get_main_queue(), ^{
+            // Instead we could have also passed a reference to the HUD
+            // to the HUD to myProgressTask as a method parameter.
+            [MBProgressHUD HUDForView:self.view].progress = progress;
+        });
+        usleep(50000);
+    }
+}
+
+@end

+ 16 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudDemoTV/main.m

@@ -0,0 +1,16 @@
+//
+//  main.m
+//  HudDemoTV
+//
+//  Created by Matej Bukovinski on 17. 07. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "MBHudDemoTVAppDelegate.h"
+
+int main(int argc, char * argv[]) {
+    @autoreleasepool {
+        return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoTVAppDelegate class]));
+    }
+}

+ 361 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudTests/HudTests.m

@@ -0,0 +1,361 @@
+//
+//  HudTests.m
+//  HudTests
+//
+//  Created by Matej Bukovinski on 31. 01. 16.
+//  Copyright © 2016 Matej Bukovinski. All rights reserved.
+//
+
+#import <XCTest/XCTest.h>
+#import "MBProgressHUD.h"
+
+
+#define weakify(var) __weak typeof(var) weak_##var = var;
+
+#define strongify(var) \
+_Pragma("clang diagnostic push") \
+_Pragma("clang diagnostic ignored \"-Wshadow\"") \
+__strong typeof(var) var = weak_##var; \
+_Pragma("clang diagnostic pop")
+
+#define MBTestHUDIsVisible(hud, rootView) \
+do { \
+XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
+XCTAssertEqual(hud.alpha, 1.f, @"The HUD should be visible."); \
+XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
+XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible."); \
+} while (0)
+
+#define MBTestHUDIsHidenAndRemoved(hud, rootView) \
+do { \
+XCTAssertFalse([rootView.subviews containsObject:hud], @"The HUD should not be part of the view hierarchy."); \
+XCTAssertEqual(hud.alpha, 0.f, @"The hud should be faded out."); \
+XCTAssertNil(hud.superview, @"The HUD should not have a superview."); \
+} while (0)
+
+@interface HudTests : XCTestCase <MBProgressHUDDelegate>
+
+@property (nonatomic) XCTestExpectation *hideExpectation;
+@property (nonatomic, copy) dispatch_block_t hideChecks;
+
+@end
+
+
+@implementation HudTests
+
+#pragma mark - Convenience
+
+- (void)testNonAnimatedConvenienceHUDPresentation {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+    MBTestHUDIsVisible(hud, rootView);
+
+    XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
+    XCTAssertFalse([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should NOT be animated.");
+
+    XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
+
+    XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
+
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+
+    XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:NO], @"A subsequent HUD hide operation should fail.");
+}
+
+- (void)testAnimatedConvenienceHUDPresentation {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
+    hud.delegate = self;
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+    MBTestHUDIsVisible(hud, rootView);
+
+    XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
+    XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
+
+    XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
+
+    XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:YES], @"The HUD should be found and removed.");
+
+    XCTAssertTrue([rootView.subviews containsObject:hud], @"The HUD should still be part of the view hierarchy.");
+    XCTAssertEqual(hud.alpha, 1.f, @"The hud should still be visible.");
+    XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view.");
+    XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD bezel should be animated out.");
+    XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
+
+    weakify(self);
+    self.hideChecks = ^{
+        strongify(self);
+        MBTestHUDIsHidenAndRemoved(hud, rootView);
+
+        XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:YES], @"A subsequent HUD hide operation should fail.");
+    };
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+}
+
+- (void)testCompletionBlock {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+    XCTestExpectation *completionExpectation = [self expectationWithDescription:@"The completionBlock: should have been called."];
+
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
+    hud.delegate = self;
+    hud.completionBlock = ^{
+        [completionExpectation fulfill];
+    };
+
+    [hud hideAnimated:YES];
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+}
+
+#pragma mark - Delay
+
+- (void)testDelayedHide {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+
+    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
+    hud.delegate = self;
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    [hud hideAnimated:NO afterDelay:2];
+
+    MBTestHUDIsVisible(hud, rootView);
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        MBTestHUDIsVisible(hud, rootView);
+    });
+
+    XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // After the grace time passes, the HUD should still not be shown.
+        MBTestHUDIsHidenAndRemoved(hud, rootView);
+        [hideCheckExpectation fulfill];
+    });
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+}
+
+#pragma mark - Ruse
+
+- (void)testNonAnimatedHudReuse {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
+    [rootView addSubview:hud];
+    [hud showAnimated:NO];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    [hud hideAnimated:NO];
+    [hud showAnimated:NO];
+
+    MBTestHUDIsVisible(hud, rootView);
+
+    [hud hideAnimated:NO];
+    [hud removeFromSuperview];
+}
+
+- (void)testUnfinishedHidingAnimation {
+  UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+  UIView *rootView = rootViewController.view;
+
+  MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
+
+  [hud hideAnimated:YES];
+
+  // Cancel all animations. It will cause `UIView+animate...` to call completionBlock with `finished = NO`.
+  // It's same as if you call `[hud hideAnimated:YES]` while the app is in background.
+  [hud.bezelView.layer removeAllAnimations];
+  [hud.backgroundView.layer removeAllAnimations];
+
+  XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
+  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+    // After the grace time passes, the HUD should still not be shown.
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+    [hideCheckExpectation fulfill];
+  });
+
+  [self waitForExpectationsWithTimeout:5. handler:nil];
+
+  MBTestHUDIsHidenAndRemoved(hud, rootView);
+}
+
+- (void)testAnimatedImmediateHudReuse {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    XCTestExpectation *hideExpectation = [self expectationWithDescription:@"The hud should have been hidden."];
+
+    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
+    [rootView addSubview:hud];
+    [hud showAnimated:YES];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    [hud hideAnimated:YES];
+    [hud showAnimated:YES];
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        MBTestHUDIsVisible(hud, rootView);
+
+        [hud hideAnimated:NO];
+        [hud removeFromSuperview];
+
+        [hideExpectation fulfill];
+    });
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+}
+
+#pragma mark - Min show time
+
+- (void)testMinShowTime {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+
+    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
+    hud.delegate = self;
+    hud.removeFromSuperViewOnHide = YES;
+    hud.minShowTime = 2.;
+    [rootView addSubview:hud];
+    [hud showAnimated:YES];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    [hud hideAnimated:YES];
+
+    __block BOOL checkedAfterOneSecond = NO;
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // Check that the hud is still visible
+        MBTestHUDIsVisible(hud, rootView);
+        checkedAfterOneSecond = YES;
+    });
+
+    weakify(self);
+    self.hideChecks = ^{
+        strongify(self);
+        XCTAssertTrue(checkedAfterOneSecond);
+    };
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+}
+
+#pragma mark - Grace time
+
+- (void)testGraceTime {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+
+    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
+    hud.delegate = self;
+    hud.removeFromSuperViewOnHide = YES;
+    hud.graceTime = 2.;
+    [rootView addSubview:hud];
+    [hud showAnimated:YES];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    // The HUD should be added to the view but still hidden
+    XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
+    XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
+    XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
+    XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
+
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // The HUD should be added to the view but still hidden
+        XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
+        XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
+        XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
+        XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
+    });
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // After the grace time passes, the HUD should be shown.
+        MBTestHUDIsVisible(hud, rootView);
+        [hud hideAnimated:YES];
+    });
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+}
+
+- (void)testHideBeforeGraceTimeElapsed {
+    UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;
+    UIView *rootView = rootViewController.view;
+
+    self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
+
+    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
+    hud.delegate = self;
+    hud.removeFromSuperViewOnHide = YES;
+    hud.graceTime = 2.;
+    [rootView addSubview:hud];
+    [hud showAnimated:YES];
+
+    XCTAssertNotNil(hud, @"A HUD should be created.");
+
+    // The HUD should be added to the view but still hidden
+    XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
+    XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
+    XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
+    XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
+
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // The HUD should be added to the view but still hidden
+        XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
+        XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
+        XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
+        XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
+        [hud hideAnimated:YES];
+    });
+
+    XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        // After the grace time passes, the HUD should still not be shown.
+        MBTestHUDIsHidenAndRemoved(hud, rootView);
+        [hideCheckExpectation fulfill];
+    });
+
+    [self waitForExpectationsWithTimeout:5. handler:nil];
+
+    MBTestHUDIsHidenAndRemoved(hud, rootView);
+}
+
+#pragma mark - MBProgressHUDDelegate
+
+- (void)hudWasHidden:(MBProgressHUD *)hud {
+    if (self.hideChecks) self.hideChecks();
+    self.hideChecks = nil;
+
+    [self.hideExpectation fulfill];
+    self.hideExpectation = nil;
+}
+
+@end

+ 24 - 0
Carthage/Checkouts/MBProgressHUD/Demo/HudTests/Info.plist

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+</dict>
+</plist>

+ 26 - 0
Carthage/Checkouts/MBProgressHUD/Framework-Info.plist

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.1</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>$(CURRENT_PROJECT_VERSION)</string>
+	<key>NSPrincipalClass</key>
+	<string></string>
+</dict>
+</plist>

+ 24 - 0
Carthage/Checkouts/MBProgressHUD/Framework-tvOS-Info.plist

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.1</string>
+	<key>CFBundleVersion</key>
+	<string>$(CURRENT_PROJECT_VERSION)</string>
+	<key>NSPrincipalClass</key>
+	<string></string>
+</dict>
+</plist>

+ 19 - 0
Carthage/Checkouts/MBProgressHUD/LICENSE

@@ -0,0 +1,19 @@
+Copyright © 2009-2016 Matej Bukovinski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

+ 15 - 0
Carthage/Checkouts/MBProgressHUD/MBProgressHUD-Prefix.pch

@@ -0,0 +1,15 @@
+//
+// Prefix header for all source files of the 'MBProgressHUD' target in the 'MBProgressHUD' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iOS SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+    #import <UIKit/UIKit.h>
+    #import <Foundation/Foundation.h>
+    #import <CoreGraphics/CoreGraphics.h>
+#endif

+ 12 - 4
Libraries external/MBProgressHUD/MBProgressHUD.h → Carthage/Checkouts/MBProgressHUD/MBProgressHUD.h

@@ -1,6 +1,6 @@
 //
 //  MBProgressHUD.h
-//  Version 1.0.0
+//  Version 1.1.0
 //  Created by Matej Bukovinski on 2.4.09.
 //
 
@@ -69,7 +69,7 @@ typedef NS_ENUM(NSInteger, MBProgressHUDBackgroundStyle) {
     MBProgressHUDBackgroundStyleBlur
 };
 
-typedef void (^MBProgressHUDCompletionBlock)();
+typedef void (^MBProgressHUDCompletionBlock)(void);
 
 
 NS_ASSUME_NONNULL_BEGIN
@@ -105,7 +105,7 @@ NS_ASSUME_NONNULL_BEGIN
 /// @name Showing and hiding
 
 /**
- * Finds the top-most HUD subview and hides it. The counterpart to this method is showHUDAddedTo:animated:.
+ * Finds the top-most HUD subview that hasn't finished and hides it. The counterpart to this method is showHUDAddedTo:animated:.
  *
  * @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
  *
@@ -120,7 +120,7 @@ NS_ASSUME_NONNULL_BEGIN
 + (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
 
 /**
- * Finds the top-most HUD subview and returns it. 
+ * Finds the top-most HUD subview that hasn't finished and returns it.
  *
  * @param view The view that is going to be searched.
  * @return A reference to the last HUD subview discovered.
@@ -388,6 +388,14 @@ NS_ASSUME_NONNULL_BEGIN
  */
 @property (nonatomic) MBProgressHUDBackgroundStyle style;
 
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+/**
+ * The blur effect style, when using MBProgressHUDBackgroundStyleBlur.
+ * Defaults to UIBlurEffectStyleLight.
+ */
+@property (nonatomic) UIBlurEffectStyle blurEffectStyle;
+#endif
+
 /**
  * The background color or the blur tint color.
  * @note Due to iOS 7 not supporting UIVisualEffectView, the blur effect differs slightly between iOS 7 and later versions.

+ 31 - 20
Libraries external/MBProgressHUD/MBProgressHUD.m → Carthage/Checkouts/MBProgressHUD/MBProgressHUD.m

@@ -1,6 +1,6 @@
 //
 // MBProgressHUD.m
-// Version 1.0.0
+// Version 1.1.0
 // Created by Matej Bukovinski on 2.4.09.
 //
 
@@ -80,7 +80,10 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
     for (UIView *subview in subviewsEnum) {
         if ([subview isKindOfClass:self]) {
-            return (MBProgressHUD *)subview;
+            MBProgressHUD *hud = (MBProgressHUD *)subview;
+            if (hud.hasFinished == NO) {
+                return hud;
+            }
         }
     }
     return nil;
@@ -175,6 +178,9 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
 }
 
 - (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay {
+    // Cancel any scheduled hideDelayed: calls
+    [self.hideDelayTimer invalidate];
+
     NSTimer *timer = [NSTimer timerWithTimeInterval:delay target:self selector:@selector(handleHideTimer:) userInfo:@(animated) repeats:NO];
     [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
     self.hideDelayTimer = timer;
@@ -784,7 +790,7 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
 - (void)updateForCurrentOrientationAnimated:(BOOL)animated {
     // Stay in sync with the superview in any case
     if (self.superview) {
-        self.bounds = self.superview.bounds;
+        self.frame = self.superview.bounds;
     }
 
     // Not needed on iOS 8+, compile out when the deployment target allows,
@@ -934,7 +940,7 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
             CGFloat radius = (CGRectGetWidth(self.bounds) / 2.f) - (processPath.lineWidth / 2.f);
             CGFloat endAngle = (self.progress * 2.f * (float)M_PI) + startAngle;
             [processPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
-            // Ensure that we don't get color overlaping when _progressTintColor alpha < 1.f.
+            // Ensure that we don't get color overlapping when _progressTintColor alpha < 1.f.
             CGContextSetBlendMode(context, kCGBlendModeCopy);
             [_progressTintColor set];
             [processPath stroke];
@@ -1007,26 +1013,14 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     CGContextSetStrokeColorWithColor(context,[_lineColor CGColor]);
     CGContextSetFillColorWithColor(context, [_progressRemainingColor CGColor]);
     
-    // Draw background
+    // Draw background and Border
     CGFloat radius = (rect.size.height / 2) - 2;
     CGContextMoveToPoint(context, 2, rect.size.height/2);
     CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
-    CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
     CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
     CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
-    CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
     CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
-    CGContextFillPath(context);
-    
-    // Draw border
-    CGContextMoveToPoint(context, 2, rect.size.height/2);
-    CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
-    CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
-    CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
-    CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
-    CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
-    CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
-    CGContextStrokePath(context);
+    CGContextDrawPath(context, kCGPathFillStroke);
     
     CGContextSetFillColorWithColor(context, [_progressColor CGColor]);
     radius = radius - 2;
@@ -1107,6 +1101,9 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     if ((self = [super initWithFrame:frame])) {
         if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_7_0) {
             _style = MBProgressHUDBackgroundStyleBlur;
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+            _blurEffectStyle = UIBlurEffectStyleLight;
+#endif
             if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
                 _color = [UIColor colorWithWhite:0.8f alpha:0.6f];
             } else {
@@ -1151,6 +1148,20 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     }
 }
 
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+
+- (void)setBlurEffectStyle:(UIBlurEffectStyle)blurEffectStyle {
+    if (_blurEffectStyle == blurEffectStyle) {
+        return;
+    }
+
+    _blurEffectStyle = blurEffectStyle;
+
+    [self updateForBackgroundStyle];
+}
+
+#endif
+
 ///////////////////////////////////////////////////////////////////////////////////////////
 #pragma mark - Views
 
@@ -1159,7 +1170,7 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     if (style == MBProgressHUDBackgroundStyleBlur) {
 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
         if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
-            UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
+            UIBlurEffect *effect = [UIBlurEffect effectWithStyle:self.blurEffectStyle];
             UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
             [self addSubview:effectView];
             effectView.frame = self.bounds;
@@ -1276,7 +1287,7 @@ static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
     [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
 }
 
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(void (^)())completion {
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(void (^)(void))completion {
     dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
     [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:completion];
 }

+ 20 - 0
Carthage/Checkouts/MBProgressHUD/MBProgressHUD.podspec

@@ -0,0 +1,20 @@
+Pod::Spec.new do |s|
+  s.name         = "MBProgressHUD"
+  s.version      = "1.1.0"
+  s.summary      = "An iOS activity indicator view."
+  s.description  = <<-DESC
+                    MBProgressHUD is an iOS drop-in class that displays a translucent HUD 
+                    with an indicator and/or labels while work is being done in a background thread. 
+                    The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD 
+                    with some additional features.
+                   DESC
+  s.homepage     = "http://www.bukovinski.com"
+  s.license      = { :type => 'MIT', :file => 'LICENSE' }
+  s.author       = { 'Matej Bukovinski' => 'matej@bukovinski.com' }
+  s.source       = { :git => "https://github.com/matej/MBProgressHUD.git", :tag => s.version.to_s }
+  s.ios.deployment_target = '8.0'
+  s.tvos.deployment_target = '9.0'
+  s.source_files = '*.{h,m}'
+  s.frameworks   = "CoreGraphics", "QuartzCore"
+  s.requires_arc = true
+end

+ 19 - 0
Carthage/Checkouts/MBProgressHUD/MBProgressHUD.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:MBProgressHUD.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:Demo/HudDemo.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:README.mdown">
+   </FileRef>
+   <FileRef
+      location = "group:LICENSE">
+   </FileRef>
+   <FileRef
+      location = "group:MBProgressHUD.podspec">
+   </FileRef>
+</Workspace>

+ 126 - 0
Carthage/Checkouts/MBProgressHUD/README.mdown

@@ -0,0 +1,126 @@
+# MBProgressHUD
+
+[![Build Status](https://travis-ci.org/matej/MBProgressHUD.svg?branch=master)](https://travis-ci.org/matej/MBProgressHUD) [![codecov.io](https://codecov.io/github/matej/MBProgressHUD/coverage.svg?branch=master)](https://codecov.io/github/matej/MBProgressHUD?branch=master)
+ [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) [![CocoaPods compatible](https://img.shields.io/cocoapods/v/MBProgressHUD.svg?style=flat)](https://cocoapods.org/pods/MBProgressHUD) [![License: MIT](https://img.shields.io/cocoapods/l/MBProgressHUD.svg?style=flat)](http://opensource.org/licenses/MIT)
+
+`MBProgressHUD` is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private `UIKit` `UIProgressHUD` with some additional features.
+
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/1-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/1.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/2-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/2.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/3-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/3.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/4-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/4.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/5-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/5.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/6-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/6.png)
+[![](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/7-small.png)](https://raw.githubusercontent.com/wiki/matej/MBProgressHUD/Screenshots/7.png)
+
+**NOTE:** The class has recently undergone a major rewrite. The old version is available in the [legacy](https://github.com/jdg/MBProgressHUD/tree/legacy) branch, should you need it. 
+
+## Requirements
+
+`MBProgressHUD` works on iOS 6+ and requires ARC to build. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
+
+* Foundation.framework
+* UIKit.framework
+* CoreGraphics.framework
+
+You will need the latest developer tools in order to build `MBProgressHUD`. Old Xcode versions might work, but compatibility will not be explicitly maintained.
+
+## Adding MBProgressHUD to your project
+
+### CocoaPods
+
+[CocoaPods](http://cocoapods.org) is the recommended way to add MBProgressHUD to your project.
+
+1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 1.1.0'`
+2. Install the pod(s) by running `pod install`.
+3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
+
+### Carthage
+
+1. Add MBProgressHUD to your Cartfile. e.g., `github "jdg/MBProgressHUD" ~> 1.1.0`
+2. Run `carthage update`
+3. Follow the rest of the [standard Carthage installation instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add MBProgressHUD to your project.
+
+### Source files
+
+Alternatively you can directly add the `MBProgressHUD.h` and `MBProgressHUD.m` source files to your project.
+
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/archive/master.zip) or add the repository as a git submodule to your git-tracked project.
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` onto your project (use the "Product Navigator view"). Make sure to select Copy items when asked if you extracted the code archive outside of your project.
+3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
+
+### Static library
+
+You can also add MBProgressHUD as a static library to your project or workspace.
+
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/downloads) or add the repository as a git submodule to your git-tracked project.
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.xcodeproj` onto your project or workspace (use the "Product Navigator view").
+3. Select your target and go to the Build phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add `libMBProgressHUD.a`. You might also need to add `MBProgressHUD` to the Target Dependencies list.
+4. Include MBProgressHUD wherever you need it with `#import <MBProgressHUD/MBProgressHUD.h>`.
+
+## Usage
+
+The main guideline you need to follow when dealing with MBProgressHUD while running long-running tasks is keeping the main thread work-free, so the UI can be updated promptly. The recommended way of using MBProgressHUD is therefore to set it up on the main thread and then spinning the task, that you want to perform, off onto a new thread.
+
+```objective-c
+[MBProgressHUD showHUDAddedTo:self.view animated:YES];
+dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
+	// Do something...
+	dispatch_async(dispatch_get_main_queue(), ^{
+		[MBProgressHUD hideHUDForView:self.view animated:YES];
+	});
+});
+```
+
+You can add the HUD on any view or window. It is however a good idea to avoid adding the HUD to certain `UIKit` views with complex view hierarchies - like `UITableView` or `UICollectionView`. Those can mutate their subviews in unexpected ways and thereby break HUD display. 
+
+If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns.
+
+```objective-c
+MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+hud.mode = MBProgressHUDModeAnnularDeterminate;
+hud.label.text = @"Loading";
+[self doSomethingInBackgroundWithProgressCallback:^(float progress) {
+	hud.progress = progress;
+} completionCallback:^{
+	[hud hideAnimated:YES];
+}];
+```
+
+You can also use a `NSProgress` object and MBProgressHUD will update itself when there is progress reported through that object.
+
+```objective-c
+MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+hud.mode = MBProgressHUDModeAnnularDeterminate;
+hud.label.text = @"Loading";
+NSProgress *progress = [self doSomethingInBackgroundCompletion:^{
+	[hud hideAnimated:YES];
+}];
+hud.progressObject = progress;
+```
+
+Keep in mind that UI updates, inclining calls to MBProgressHUD should always be done on the main thread.
+
+If you need to run your long-running task in the main thread, you should perform it with a slight delay, so UIKit will have enough time to update the UI (i.e., draw the HUD) before you block the main thread with your task.
+
+```objective-c
+[MBProgressHUD showHUDAddedTo:self.view animated:YES];
+dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC);
+dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
+	// Do something...
+	[MBProgressHUD hideHUDForView:self.view animated:YES];
+});
+```
+
+You should be aware that any HUD updates issued inside the above block won't be displayed until the block completes.
+
+For more examples, including how to use MBProgressHUD with asynchronous operations such as NSURLConnection, take a look at the bundled demo project. Extensive API documentation is provided in the header file (MBProgressHUD.h).
+
+
+## License
+
+This code is distributed under the terms and conditions of the [MIT license](LICENSE).
+
+## Change-log
+
+A brief summary of each MBProgressHUD release can be found in the [CHANGELOG](CHANGELOG.mdown). 

+ 5 - 16
Nextcloud.xcodeproj/project.pbxproj

@@ -81,7 +81,6 @@
 		F71459CD1D12E3B700CAFEEC /* AFViewShaker.m in Sources */ = {isa = PBXBuildFile; fileRef = F70F02B41C889183008DAB36 /* AFViewShaker.m */; };
 		F71459D21D12E3B700CAFEEC /* CCUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = F7053E3D1C639DF500741EA5 /* CCUtility.m */; };
 		F71459D31D12E3B700CAFEEC /* CCBKPasscode.m in Sources */ = {isa = PBXBuildFile; fileRef = F7FE125D1BAC03FB0041924B /* CCBKPasscode.m */; };
-		F71459D51D12E3B700CAFEEC /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = F70F04841C889183008DAB36 /* MBProgressHUD.m */; };
 		F71459E11D12E3B700CAFEEC /* CCHud.m in Sources */ = {isa = PBXBuildFile; fileRef = F7514EDB1C7B1336008F3338 /* CCHud.m */; };
 		F71459F11D12E3B700CAFEEC /* CCMove.m in Sources */ = {isa = PBXBuildFile; fileRef = F7D02A471C5F9E4400D6F972 /* CCMove.m */; };
 		F71459F71D12E3B700CAFEEC /* CCGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = F76C3B841C6388BC00DC4301 /* CCGraphics.m */; };
@@ -376,7 +375,6 @@
 		F77B0E981D118A16002130FE /* CCManageAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = F7ACE42D1BAC0268006C0017 /* CCManageAccount.m */; };
 		F77B0E9B1D118A16002130FE /* CCBKPasscode.m in Sources */ = {isa = PBXBuildFile; fileRef = F7FE125D1BAC03FB0041924B /* CCBKPasscode.m */; };
 		F77B0EA61D118A16002130FE /* NSString+TruncateToWidth.m in Sources */ = {isa = PBXBuildFile; fileRef = F73049B91CB567F000C7C320 /* NSString+TruncateToWidth.m */; };
-		F77B0EB61D118A16002130FE /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = F70F04841C889183008DAB36 /* MBProgressHUD.m */; };
 		F77B0EC61D118A16002130FE /* CCCellMain.m in Sources */ = {isa = PBXBuildFile; fileRef = F70211F51BAC56E9003FC03E /* CCCellMain.m */; };
 		F77B0ED11D118A16002130FE /* Acknowledgements.m in Sources */ = {isa = PBXBuildFile; fileRef = F7ACE42A1BAC0268006C0017 /* Acknowledgements.m */; };
 		F77B0ED51D118A16002130FE /* PHAsset+Utility.m in Sources */ = {isa = PBXBuildFile; fileRef = F777F0311C29717F00CE81CB /* PHAsset+Utility.m */; };
@@ -456,6 +454,7 @@
 		F7C40BED219993330004137E /* JDStatusBarNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F7C40BEC219993330004137E /* JDStatusBarNotification.framework */; };
 		F7C40BEF219994ED0004137E /* KTVCocoaHTTPServer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F7C40BEE219994ED0004137E /* KTVCocoaHTTPServer.framework */; };
 		F7C40BF1219994F20004137E /* KTVHTTPCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F7C40BF0219994F20004137E /* KTVHTTPCache.framework */; };
+		F7C40BF32199978B0004137E /* MBProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F7C40BF22199978B0004137E /* MBProgressHUD.framework */; };
 		F7C525A01E3B48B700FFE02C /* CCNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7C5259F1E3B48B700FFE02C /* CCNotification.swift */; };
 		F7C525A21E3B6DA800FFE02C /* CCNotification.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F7C525A11E3B6DA800FFE02C /* CCNotification.storyboard */; };
 		F7CA1ED020E7E3FE002CC65E /* UIImage+PKDownloadButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F7CA1EBC20E7E3FE002CC65E /* UIImage+PKDownloadButton.m */; };
@@ -713,8 +712,6 @@
 		F70CAE391F8CF31A008125FD /* NCEndToEndEncryption.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NCEndToEndEncryption.m; sourceTree = "<group>"; };
 		F70F02B31C889183008DAB36 /* AFViewShaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFViewShaker.h; sourceTree = "<group>"; };
 		F70F02B41C889183008DAB36 /* AFViewShaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFViewShaker.m; sourceTree = "<group>"; };
-		F70F04831C889183008DAB36 /* MBProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = "<group>"; };
-		F70F04841C889183008DAB36 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = "<group>"; };
 		F70F05251C889184008DAB36 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; };
 		F70F05261C889184008DAB36 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; };
 		F70F05571C889184008DAB36 /* UIImage+animatedGIF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+animatedGIF.h"; sourceTree = "<group>"; };
@@ -1232,6 +1229,7 @@
 		F7C40BEC219993330004137E /* JDStatusBarNotification.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JDStatusBarNotification.framework; path = Carthage/Build/iOS/JDStatusBarNotification.framework; sourceTree = "<group>"; };
 		F7C40BEE219994ED0004137E /* KTVCocoaHTTPServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = KTVCocoaHTTPServer.framework; path = Carthage/Build/iOS/KTVCocoaHTTPServer.framework; sourceTree = "<group>"; };
 		F7C40BF0219994F20004137E /* KTVHTTPCache.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = KTVHTTPCache.framework; path = Carthage/Build/iOS/KTVHTTPCache.framework; sourceTree = "<group>"; };
+		F7C40BF22199978B0004137E /* MBProgressHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MBProgressHUD.framework; path = Carthage/Build/iOS/MBProgressHUD.framework; sourceTree = "<group>"; };
 		F7C5259F1E3B48B700FFE02C /* CCNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CCNotification.swift; path = Notification/CCNotification.swift; sourceTree = "<group>"; };
 		F7C525A11E3B6DA800FFE02C /* CCNotification.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CCNotification.storyboard; path = Notification/CCNotification.storyboard; sourceTree = "<group>"; };
 		F7C742C01E7BD01F00D9C973 /* iOSClient.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = iOSClient.entitlements; sourceTree = "<group>"; };
@@ -1460,6 +1458,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				F7C40BF32199978B0004137E /* MBProgressHUD.framework in Frameworks */,
 				F79918A221997FA300C2E308 /* UICKeyChainStore.framework in Frameworks */,
 				F7DFE2571EBDC52E00CF5202 /* Realm.framework in Frameworks */,
 				F75EDFBF1E8C116D00E6F369 /* libstdc++.tbd in Frameworks */,
@@ -1642,7 +1641,6 @@
 				F70F02B21C889183008DAB36 /* AFViewShaker */,
 				F72D0FED210B6638009C96B7 /* Firebase */,
 				F7659A2F1DC0B737004860C4 /* iRate */,
-				F70F04821C889183008DAB36 /* MBProgressHUD */,
 				F7B2DEEB1F976785007CF4D2 /* NYMnemonic */,
 				F7540EE11D5B238600C3FFA8 /* openssl */,
 				F7CA1EBB20E7E3FE002CC65E /* PKDownloadButton */,
@@ -1665,15 +1663,6 @@
 			path = AFViewShaker;
 			sourceTree = "<group>";
 		};
-		F70F04821C889183008DAB36 /* MBProgressHUD */ = {
-			isa = PBXGroup;
-			children = (
-				F70F04831C889183008DAB36 /* MBProgressHUD.h */,
-				F70F04841C889183008DAB36 /* MBProgressHUD.m */,
-			);
-			path = MBProgressHUD;
-			sourceTree = "<group>";
-		};
 		F70F05241C889184008DAB36 /* Reachability */ = {
 			isa = PBXGroup;
 			children = (
@@ -3010,6 +2999,7 @@
 		F7FC7D541DC1F93700BB2C6A /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				F7C40BF22199978B0004137E /* MBProgressHUD.framework */,
 				F7C40BF0219994F20004137E /* KTVHTTPCache.framework */,
 				F7C40BEE219994ED0004137E /* KTVCocoaHTTPServer.framework */,
 				F7C40BEC219993330004137E /* JDStatusBarNotification.framework */,
@@ -3457,6 +3447,7 @@
 				"$(SRCROOT)/Carthage/Build/iOS/JDStatusBarNotification.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/KTVHTTPCache.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/KTVCocoaHTTPServer.framework",
+				"$(SRCROOT)/Carthage/Build/iOS/MBProgressHUD.framework",
 			);
 			outputPaths = (
 			);
@@ -3516,7 +3507,6 @@
 				F71459D21D12E3B700CAFEEC /* CCUtility.m in Sources */,
 				F71459D31D12E3B700CAFEEC /* CCBKPasscode.m in Sources */,
 				F7F8D71C1ED6183000E711F3 /* CCCellShareExt.m in Sources */,
-				F71459D51D12E3B700CAFEEC /* MBProgressHUD.m in Sources */,
 				F732BA0B1D76DBA500E9878B /* CCNetworking.m in Sources */,
 				F70022CF1EC4C9100080073F /* OCShareUser.m in Sources */,
 				F71459E11D12E3B700CAFEEC /* CCHud.m in Sources */,
@@ -3843,7 +3833,6 @@
 				F70022D41EC4C9100080073F /* NSDate+ISO8601.m in Sources */,
 				F758B44C212C516300515F55 /* ZoomGestureController.swift in Sources */,
 				F762CB151EACB66200B38484 /* XLFormRowNavigationAccessoryView.m in Sources */,
-				F77B0EB61D118A16002130FE /* MBProgressHUD.m in Sources */,
 				F758B447212C516300515F55 /* CGRect+Utils.swift in Sources */,
 				F762CB0A1EACB66200B38484 /* XLFormDescriptor.m in Sources */,
 				F7D4238C1F0596C6009C9782 /* UIXToolbarView.m in Sources */,

+ 2 - 1
Share/ShareViewController.h

@@ -21,9 +21,10 @@
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //
 
+#import <MBProgressHUD/MBProgressHUD.h>
+
 #import "OCCommunication.h"
 #import "AFURLSessionManager.h"
-#import "MBProgressHUD.h"
 #import "CCNetworking.h"
 #import "OCNetworking.h"
 #import "CCBKPasscode.h"

+ 2 - 1
iOSClient/Library/MWPhotoBrowser/MWPhotoBrowserPrivate.h

@@ -9,8 +9,9 @@
 #import <UIKit/UIKit.h>
 #import <AVKit/AVKit.h>
 #import <MediaPlayer/MediaPlayer.h>
+#import <MBProgressHUD/MBProgressHUD.h>
+
 #import "MWZoomingScrollView.h"
-#import "MBProgressHUD.h"
 
 // Declare private methods of browser
 @interface MWPhotoBrowser () {

+ 1 - 2
iOSClient/Utility/CCHud.h

@@ -22,8 +22,7 @@
 //
 
 #import <Foundation/Foundation.h>
-
-#import "MBProgressHUD.h"
+#import <MBProgressHUD/MBProgressHUD.h>
 
 @interface CCHud : NSObject