marinofaggiana 5 lat temu
rodzic
commit
2b6d879893
100 zmienionych plików z 0 dodań i 5082 usunięć
  1. 0 64
      Carthage/Checkouts/PDFGenerator/.gitignore
  2. 0 2
      Carthage/Checkouts/PDFGenerator/.hound.yml
  3. 0 1
      Carthage/Checkouts/PDFGenerator/.swift-version
  4. 0 34
      Carthage/Checkouts/PDFGenerator/.swiftlint.yml
  5. 0 29
      Carthage/Checkouts/PDFGenerator/.travis.yml
  6. 0 74
      Carthage/Checkouts/PDFGenerator/CHANGELOG.md
  7. 0 43
      Carthage/Checkouts/PDFGenerator/Demo/AppDelegate.swift
  8. 0 38
      Carthage/Checkouts/PDFGenerator/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json
  9. 0 27
      Carthage/Checkouts/PDFGenerator/Demo/Base.lproj/LaunchScreen.storyboard
  10. 0 93
      Carthage/Checkouts/PDFGenerator/Demo/Base.lproj/Main.storyboard
  11. 0 45
      Carthage/Checkouts/PDFGenerator/Demo/Info.plist
  12. 0 93
      Carthage/Checkouts/PDFGenerator/Demo/PDFOutput.storyboard
  13. 0 50
      Carthage/Checkouts/PDFGenerator/Demo/PDFOutputViewController.swift
  14. 0 67
      Carthage/Checkouts/PDFGenerator/Demo/PDFPreviewVC.storyboard
  15. 0 37
      Carthage/Checkouts/PDFGenerator/Demo/PDFPreviewVC.swift
  16. 0 36
      Carthage/Checkouts/PDFGenerator/Demo/PDFViewController.storyboard
  17. 0 29
      Carthage/Checkouts/PDFGenerator/Demo/PDFViewController.swift
  18. 0 23
      Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewCell.swift
  19. 0 70
      Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewController.storyboard
  20. 0 112
      Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewController.swift
  21. 0 151
      Carthage/Checkouts/PDFGenerator/Demo/ViewController.swift
  22. 0 57
      Carthage/Checkouts/PDFGenerator/Demo/WebViewController.storyboard
  23. 0 56
      Carthage/Checkouts/PDFGenerator/Demo/WebViewController.swift
  24. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_0.jpg
  25. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_1.jpg
  26. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_2.jpg
  27. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_3.jpg
  28. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_4.jpg
  29. BIN
      Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_5.jpg
  30. 0 21
      Carthage/Checkouts/PDFGenerator/LICENSE
  31. 0 14
      Carthage/Checkouts/PDFGenerator/PDFGenerator.podspec
  32. 0 34
      Carthage/Checkouts/PDFGenerator/PDFGenerator/DPIType.swift
  33. 0 36
      Carthage/Checkouts/PDFGenerator/PDFGenerator/FilePathConvertible.swift
  34. 0 26
      Carthage/Checkouts/PDFGenerator/PDFGenerator/Info.plist
  35. 0 39
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerateError.swift
  36. 0 19
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerator.h
  37. 0 290
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerator.swift
  38. 0 77
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPage.swift
  39. 0 149
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPageRenderable.swift
  40. 0 67
      Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPassword.swift
  41. 0 19
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/DPITests.swift
  42. 0 29
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/FilePathConvertibleTests.swift
  43. BIN
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/Images/test_image1.png
  44. 0 24
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/Info.plist
  45. 0 462
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/PDFGeneratorTests.swift
  46. 0 71
      Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/PDFPasswordTests.swift
  47. 0 3
      Carthage/Checkouts/PDFGenerator/Package.swift
  48. 0 6
      Carthage/Checkouts/PDFGenerator/codecov.yml
  49. 0 1
      Carthage/Checkouts/Sheeeeeeeeet/.swift-version
  50. 0 15
      Carthage/Checkouts/Sheeeeeeeeet/.travis.yml
  51. 0 0
      Carthage/Checkouts/Sheeeeeeeeet/Cartfile
  52. 0 2
      Carthage/Checkouts/Sheeeeeeeeet/Cartfile.private
  53. 0 2
      Carthage/Checkouts/Sheeeeeeeeet/Cartfile.resolved
  54. BIN
      Carthage/Checkouts/Sheeeeeeeeet/Resources/Web Icon.sketch
  55. 0 36
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet+Presenter.swift
  56. 0 297
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet.swift
  57. 0 81
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet.xib
  58. 0 95
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheetItemHandler.swift
  59. 0 32
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheetMargin.swift
  60. 0 23
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/NSObject+ClassName.swift
  61. 0 19
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIView+Nib.swift
  62. 0 24
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIView+Subviews.swift
  63. 0 19
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIViewController+RootViewController.swift
  64. 0 185
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/ActionSheetItem.swift
  65. 0 78
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetButton.swift
  66. 0 48
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetCancelButton.swift
  67. 0 43
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetDangerButton.swift
  68. 0 48
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetOkButton.swift
  69. 0 174
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetCollectionItem.swift
  70. 0 78
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetCustomItem.swift
  71. 0 56
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetLinkItem.swift
  72. 0 75
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetMultiSelectItem.swift
  73. 0 113
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetMultiSelectToggleItem.swift
  74. 0 152
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetSelectItem.swift
  75. 0 53
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetSingleSelectItem.swift
  76. 0 47
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetSectionMargin.swift
  77. 0 51
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetSectionTitle.swift
  78. 0 53
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetTitle.swift
  79. 0 108
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetPopoverPresenter.swift
  80. 0 39
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetPresenter.swift
  81. 0 138
      Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetStandardPresenter.swift
  82. 0 112
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/AppDelegate+Appearance.swift
  83. 0 20
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/AppDelegate.swift
  84. 0 116
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json
  85. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-1024.png
  86. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-120.png
  87. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-152.png
  88. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-167.png
  89. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-180.png
  90. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-20.png
  91. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-29.png
  92. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-40.png
  93. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-58.png
  94. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-60.png
  95. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-76.png
  96. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-80.png
  97. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-87.png
  98. 0 6
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/Contents.json
  99. 0 26
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/ic_account.imageset/Contents.json
  100. BIN
      Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/ic_account.imageset/ic_account_circle.png

+ 0 - 64
Carthage/Checkouts/PDFGenerator/.gitignore

@@ -1,64 +0,0 @@
-# Xcode
-#
-# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
-
-## Build generated
-build/
-DerivedData
-
-## Various settings
-*.pbxuser
-!default.pbxuser
-*.mode1v3
-!default.mode1v3
-*.mode2v3
-!default.mode2v3
-*.perspectivev3
-!default.perspectivev3
-xcuserdata
-
-## Other
-*.xccheckout
-*.moved-aside
-*.xcuserstate
-*.xcscmblueprint
-*.DS_Store
-
-## Obj-C/Swift specific
-*.hmap
-*.ipa
-
-## Playgrounds
-timeline.xctimeline
-playground.xcworkspace
-
-# Swift Package Manager
-#
-# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
-# Packages/
-.build/
-
-# CocoaPods
-#
-# We recommend against adding the Pods directory to your .gitignore. However
-# you should judge for yourself, the pros and cons are mentioned at:
-# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
-#
-# Pods/
-
-# Carthage
-#
-# Add this line if you want to avoid checking in source code from Carthage dependencies.
-# Carthage/Checkouts
-
-Carthage/Build
-
-# fastlane
-#
-# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
-# screenshots whenever they are needed.
-# For more information about the recommended setup visit:
-# https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md
-
-fastlane/report.xml
-fastlane/screenshots

+ 0 - 2
Carthage/Checkouts/PDFGenerator/.hound.yml

@@ -1,2 +0,0 @@
-swift:
-  config_file: .swiftlint.yml

+ 0 - 1
Carthage/Checkouts/PDFGenerator/.swift-version

@@ -1 +0,0 @@
-4.0

+ 0 - 34
Carthage/Checkouts/PDFGenerator/.swiftlint.yml

@@ -1,34 +0,0 @@
-opt_in_rules:
-- trailing_newline
-
-disabled_rules:
-- trailing_whitespace
-- type_name
-- force_cast
-- type_body_length
-- file_length
-- variable_name
-- cyclomatic_complexity
-- valid_docs
-- missing_docs
-- opening_brace
-- line_length
-- force_try
-
-force_try: warning
-
-line_length: 150
-
-excluded: # Lint対象から外すファイルのあるパスを記述
-- Pods
-- Carthage
-
-# 関数の長さ
-function_body_length:
-- 100 # warning
-- 300 # error
-
-# 引数の数
-function_parameter_count:
-- 5 #warning
-- 10 #error

+ 0 - 29
Carthage/Checkouts/PDFGenerator/.travis.yml

@@ -1,29 +0,0 @@
-language: objective-c
-osx_image: xcode9
-xcode_project: PDFGenerator.xcodeproj
-xcode_scheme: PDFGenerator
-env:
-  global:
-  - DESTINATION="platform=iOS Simulator,name=iPhone 8"
-  - FRAMEWORK_NAME=PDFGenerator
-branches:
-  only:
-  - master
-  - "/bugfix.*/"
-  - "/^develop.*/"
-  - "/^v?[0-9\\.]+/"
-
-before_install:
-  - export IOS_SIMULATOR_UDID=$(instruments -s devices | grep "$ios_device ($ios_version)" | sed -E 's/.*\[([0-9A-F-]+)\].*/\1/g')
-  - echo "Prelaunching iOS simulator $IOS_SIMULATOR_UDID"
-  - open -a "simulator" --args -CurrentDeviceUDID $IOS_SIMULATOR_UDID
-
-script:
-- if [[ "$JOB" == "Xcode7.3" ]]; then pod lib lint; fi
-- set -o pipefail
-- xcodebuild test -project "$TRAVIS_XCODE_PROJECT" -scheme "$TRAVIS_XCODE_SCHEME" -sdk iphonesimulator -destination "$DESTINATION" | xcpretty -c
-after_success:
-  - bash <(curl -s https://codecov.io/bash)
-before_deploy:
-- carthage build --no-skip-current
-- carthage archive "$FRAMEWORK_NAME"

+ 0 - 74
Carthage/Checkouts/PDFGenerator/CHANGELOG.md

@@ -1,74 +0,0 @@
-#Change Log
-
-## [v2.1](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/2.1) (2017/09/21)
-### Updated
-- Update project to xcode9 and swift4 (#79)
-
-### Fixed
-- Cleanup (#77)
-
-Special thanks!!  **wesbillman** , **russellbstephens**
-
-
-## [v2.0.1](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/2.0.1) (2016/09/19)
-Minor bug fix
-### Fixed
-- Fix generate as Data issue using `PDFGenerator.generated(by:)` #54
-
-
-## [v2.0.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/2.0.0) (2016/09/15)
-Major update :point_up::point_up:
-### Improvement
-- Support Swift3.0
-
-
-## [v1.4.2](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.4.0) (2016/09/08)
-### Fixed
-- Fix minor bugs #40
-
-## [v1.4.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.4.0) (2016/07/23)
-### Added
-- FilePathConvertible : `outputPath` is allowed both `String` and `NSURL`.  #38
-- CHANGELOG.md
-- codecov #37
-
-### Updated
-- Add more UnitTest : codecov percentage increase to 92%. #39
-
-## Swift3.0 support (beta)
-- compatible to Swift 3.0 #29 #31 #32
-
-## [v1.3.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.3.0) (2016/07/12)
-### Implemented
-- Password Protection #34
-
-
-## [v1.2.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.2.0) (2016/06/22)
-### Implemented
-- DPI suppoert #27
-
-## [v1.1.4](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.1.4) (2016/06/22)
-### Updated
-- Update for Xcode7.3(swift2.2) #21
-
-## 1.1.3~1.1.1
-### Fixed
-- Fix minor bugs #18, #13
-
-## [v1.1.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.1.0) (2016/02/20)
-### Added
-- support Binary,ImageRef render. #11
-
-## [v1.0.0](https://github.com/sgr-ksmt/PDFGenerator/releases/tag/1.0.0) (2016/02/11)
-### Stable Version Release!!
-- Support multiple pages.
-- Also generate PDF from imagePath that can load image with UIImage(contentsOfFile:)
-- Type safe.
-- Good memory management.
-- Generate PDF from mixed-pages.
-- If view is UIScrollView , drawn whole content.
-- Outputs as NSData or writes to Disk(in given file path) directly.
-- Corresponding to Error-Handling. Strange PDF has never been generated!!
-
-## 0.2.0 ~ 0.1.0
-- beta release

+ 0 - 43
Carthage/Checkouts/PDFGenerator/Demo/AppDelegate.swift

@@ -1,43 +0,0 @@
-//
-//  AppDelegate.swift
-//  Demo
-//
-//  Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-import UIKit
-
-@UIApplicationMain
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-    var window: UIWindow?
-
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
-        // Override point for customization after application launch.
-        return true
-    }
-
-    func applicationWillResignActive(_ application: UIApplication) {
-        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-    }
-
-    func applicationDidEnterBackground(_ application: UIApplication) {
-        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
-        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-    }
-
-    func applicationWillEnterForeground(_ application: UIApplication) {
-        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-    }
-
-    func applicationDidBecomeActive(_ application: UIApplication) {
-        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-    }
-
-    func applicationWillTerminate(_ application: UIApplication) {
-        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-    }
-
-}

+ 0 - 38
Carthage/Checkouts/PDFGenerator/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,38 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "iphone",
-      "size" : "29x29",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "iphone",
-      "size" : "29x29",
-      "scale" : "3x"
-    },
-    {
-      "idiom" : "iphone",
-      "size" : "40x40",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "iphone",
-      "size" : "40x40",
-      "scale" : "3x"
-    },
-    {
-      "idiom" : "iphone",
-      "size" : "60x60",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "iphone",
-      "size" : "60x60",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

+ 0 - 27
Carthage/Checkouts/PDFGenerator/Demo/Base.lproj/LaunchScreen.storyboard

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <animations/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 93
Carthage/Checkouts/PDFGenerator/Demo/Base.lproj/Main.storyboard

@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="tne-QT-ifu">
-            <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Demo" customModuleProvider="target" 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="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Q1C-IW-pDs">
-                                <rect key="frame" x="253" y="30" width="95" height="30"/>
-                                <state key="normal" title="Sample PDF 1"/>
-                                <connections>
-                                    <action selector="generateSamplePDFFromViews:" destination="BYZ-38-t0r" eventType="touchUpInside" id="AXR-4y-Mdb"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="otR-Ne-HCB">
-                                <rect key="frame" x="252" y="92" width="97" height="30"/>
-                                <state key="normal" title="Sample PDF 2"/>
-                                <connections>
-                                    <action selector="generateSamplePDFFromImages:" destination="BYZ-38-t0r" eventType="touchUpInside" id="eLZ-nd-qpJ"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PqT-gX-IbR">
-                                <rect key="frame" x="252" y="154" width="97" height="30"/>
-                                <state key="normal" title="Sample PDF 3"/>
-                                <connections>
-                                    <action selector="generateSamplePDFFromImagePaths:" destination="BYZ-38-t0r" eventType="touchUpInside" id="waY-kW-WyO"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DkP-FK-dJj">
-                                <rect key="frame" x="252" y="216" width="97" height="30"/>
-                                <state key="normal" title="Sample PDF 4"/>
-                                <connections>
-                                    <action selector="generateSamplePDFFromPages:" destination="BYZ-38-t0r" eventType="touchUpInside" id="gHy-GB-ZKw"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8t7-aQ-m9b">
-                                <rect key="frame" x="240" y="278" width="121" height="30"/>
-                                <state key="normal" title="TableViewSample"/>
-                                <connections>
-                                    <action selector="goSampleTableView:" destination="BYZ-38-t0r" eventType="touchUpInside" id="zwK-1N-YJz"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vuR-cn-rxB">
-                                <rect key="frame" x="243" y="340" width="115" height="30"/>
-                                <state key="normal" title="WebViewSample"/>
-                                <connections>
-                                    <action selector="goSampleWebView:" destination="BYZ-38-t0r" eventType="touchUpInside" id="jsT-Zc-itd"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hOG-oa-gjr">
-                                <rect key="frame" x="264" y="402" width="72" height="30"/>
-                                <state key="normal" title="ScrollView"/>
-                                <connections>
-                                    <action selector="generatePDFFromStackedScrollView:" destination="BYZ-38-t0r" eventType="touchUpInside" id="vK5-hw-xGC"/>
-                                </connections>
-                            </button>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="vuR-cn-rxB" firstAttribute="top" secondItem="8t7-aQ-m9b" secondAttribute="bottom" constant="32" id="Del-tz-jeP"/>
-                            <constraint firstItem="vuR-cn-rxB" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="H14-KM-hNQ"/>
-                            <constraint firstItem="PqT-gX-IbR" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="JPb-m4-YaX"/>
-                            <constraint firstItem="PqT-gX-IbR" firstAttribute="top" secondItem="otR-Ne-HCB" secondAttribute="bottom" constant="32" id="MKa-53-SIW"/>
-                            <constraint firstItem="8t7-aQ-m9b" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="McM-qz-NmT"/>
-                            <constraint firstItem="8t7-aQ-m9b" firstAttribute="top" secondItem="DkP-FK-dJj" secondAttribute="bottom" constant="32" id="RRF-nG-835"/>
-                            <constraint firstItem="DkP-FK-dJj" firstAttribute="top" secondItem="PqT-gX-IbR" secondAttribute="bottom" constant="32" id="ZIO-0v-UiU"/>
-                            <constraint firstItem="Q1C-IW-pDs" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="ZIq-t1-VH4"/>
-                            <constraint firstItem="otR-Ne-HCB" firstAttribute="top" secondItem="Q1C-IW-pDs" secondAttribute="bottom" constant="32" id="aJW-pe-WkJ"/>
-                            <constraint firstItem="hOG-oa-gjr" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="f9b-AI-0VP"/>
-                            <constraint firstItem="hOG-oa-gjr" firstAttribute="top" secondItem="vuR-cn-rxB" secondAttribute="bottom" constant="32" id="hHB-9e-HzI"/>
-                            <constraint firstItem="Q1C-IW-pDs" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="top" constant="30" id="kWe-bM-iZz"/>
-                            <constraint firstItem="DkP-FK-dJj" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="uar-c7-3if"/>
-                            <constraint firstItem="otR-Ne-HCB" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="xRr-0u-gc1"/>
-                        </constraints>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
-            </objects>
-        </scene>
-    </scenes>
-</document>

+ 0 - 45
Carthage/Checkouts/PDFGenerator/Demo/Info.plist

@@ -1,45 +0,0 @@
-<?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>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>UILaunchStoryboardName</key>
-	<string>LaunchScreen</string>
-	<key>UIMainStoryboardFile</key>
-	<string>Main</string>
-	<key>UIRequiredDeviceCapabilities</key>
-	<array>
-		<string>armv7</string>
-	</array>
-	<key>UISupportedInterfaceOrientations</key>
-	<array>
-		<string>UIInterfaceOrientationPortrait</string>
-		<string>UIInterfaceOrientationLandscapeLeft</string>
-		<string>UIInterfaceOrientationLandscapeRight</string>
-	</array>
-	<key>NSAppTransportSecurity</key>
-	<dict>
-		<key>NSAllowsArbitraryLoads</key>
-		<true/>
-	</dict>
-</dict>
-</plist>

+ 0 - 93
Carthage/Checkouts/PDFGenerator/Demo/PDFOutput.storyboard

@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="xO5-sL-uMu">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-    </dependencies>
-    <scenes>
-        <!--Output View Controller-->
-        <scene sceneID="QUL-cJ-At4">
-            <objects>
-                <viewController id="xO5-sL-uMu" customClass="PDFOutputViewController" customModule="Demo" customModuleProvider="target" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="bHE-tX-FHo"/>
-                        <viewControllerLayoutGuide type="bottom" id="VPv-mx-pqZ"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="aat-qp-fRI">
-                        <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qs4-td-9bM">
-                                <rect key="frame" x="60" y="184" width="200" height="200"/>
-                                <subviews>
-                                    <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7Il-vD-9Vg">
-                                        <rect key="frame" x="0.0" y="0.0" width="200" height="200"/>
-                                        <subviews>
-                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="64d-dD-dXA">
-                                                <rect key="frame" x="0.0" y="200" width="400" height="200"/>
-                                                <color key="backgroundColor" red="0.2901960784" green="0.56470588239999997" blue="0.8862745098" alpha="1" colorSpace="calibratedRGB"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="200" id="jcc-L4-6aU"/>
-                                                    <constraint firstAttribute="width" constant="400" id="zX4-NT-dLb"/>
-                                                </constraints>
-                                            </view>
-                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Rw-OV-Ohh">
-                                                <rect key="frame" x="0.0" y="0.0" width="400" height="200"/>
-                                                <color key="backgroundColor" red="1" green="0.1169351243" blue="0.1518404542" alpha="1" colorSpace="calibratedRGB"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="400" id="1M6-p7-xb5"/>
-                                                    <constraint firstAttribute="height" constant="200" id="NPW-P0-pNk"/>
-                                                </constraints>
-                                            </view>
-                                        </subviews>
-                                        <constraints>
-                                            <constraint firstItem="64d-dD-dXA" firstAttribute="leading" secondItem="7Il-vD-9Vg" secondAttribute="leading" id="4II-B2-VLa"/>
-                                            <constraint firstItem="4Rw-OV-Ohh" firstAttribute="top" secondItem="7Il-vD-9Vg" secondAttribute="top" id="6Nm-4h-4FT"/>
-                                            <constraint firstItem="64d-dD-dXA" firstAttribute="top" secondItem="4Rw-OV-Ohh" secondAttribute="bottom" id="L7c-jj-cKN"/>
-                                            <constraint firstItem="4Rw-OV-Ohh" firstAttribute="leading" secondItem="7Il-vD-9Vg" secondAttribute="leading" id="LPD-06-Puu"/>
-                                            <constraint firstAttribute="trailing" secondItem="64d-dD-dXA" secondAttribute="trailing" id="fcj-ni-yss"/>
-                                            <constraint firstAttribute="bottom" secondItem="64d-dD-dXA" secondAttribute="bottom" id="kjx-Gy-CYb"/>
-                                            <constraint firstAttribute="trailing" secondItem="4Rw-OV-Ohh" secondAttribute="trailing" id="kks-Nr-q8c"/>
-                                        </constraints>
-                                    </scrollView>
-                                </subviews>
-                                <color key="backgroundColor" red="0.52317320609999995" green="1" blue="0.4941985679" alpha="1" colorSpace="calibratedRGB"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="200" id="Ttv-cS-7Kl"/>
-                                    <constraint firstAttribute="height" constant="200" id="VBH-Cd-Ddq"/>
-                                    <constraint firstAttribute="trailing" secondItem="7Il-vD-9Vg" secondAttribute="trailing" id="W2a-5X-smO"/>
-                                    <constraint firstItem="7Il-vD-9Vg" firstAttribute="top" secondItem="qs4-td-9bM" secondAttribute="top" id="e5m-Vu-YTu"/>
-                                    <constraint firstAttribute="bottom" secondItem="7Il-vD-9Vg" secondAttribute="bottom" id="hBX-30-0Ty"/>
-                                    <constraint firstItem="7Il-vD-9Vg" firstAttribute="leading" secondItem="qs4-td-9bM" secondAttribute="leading" id="uaH-1a-GKu"/>
-                                </constraints>
-                            </view>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wlC-iH-cGZ">
-                                <rect key="frame" x="138" y="414" width="45" height="30"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="45" id="jfN-bx-QRn"/>
-                                    <constraint firstAttribute="height" constant="30" id="vnB-Fu-Upz"/>
-                                </constraints>
-                                <state key="normal" title="render"/>
-                                <connections>
-                                    <action selector="render:" destination="xO5-sL-uMu" eventType="touchUpInside" id="HrA-DD-eVs"/>
-                                </connections>
-                            </button>
-                        </subviews>
-                        <color key="backgroundColor" red="0.85676812830000004" green="0.54246098330000003" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-                        <constraints>
-                            <constraint firstItem="qs4-td-9bM" firstAttribute="centerY" secondItem="aat-qp-fRI" secondAttribute="centerY" id="FJc-og-aCK"/>
-                            <constraint firstItem="qs4-td-9bM" firstAttribute="centerX" secondItem="aat-qp-fRI" secondAttribute="centerX" id="GsK-zG-Pwz"/>
-                            <constraint firstItem="wlC-iH-cGZ" firstAttribute="top" secondItem="qs4-td-9bM" secondAttribute="bottom" constant="30" id="Rzl-DT-9MZ"/>
-                            <constraint firstItem="wlC-iH-cGZ" firstAttribute="centerX" secondItem="aat-qp-fRI" secondAttribute="centerX" id="t73-Kh-4HO"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="scrollView" destination="7Il-vD-9Vg" id="FG9-or-t6n"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="KMa-Wz-Amq" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="321.06666666666666" y="440.19999999999999"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 50
Carthage/Checkouts/PDFGenerator/Demo/PDFOutputViewController.swift

@@ -1,50 +0,0 @@
-//
-//  PDFOutputViewController.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 9/7/16.
-//
-//
-
-import UIKit
-import PDFGenerator
-
-class PDFOutputViewController: UIViewController {
-
-    @IBOutlet fileprivate weak var scrollView: UIScrollView!
-    override func viewDidLoad() {
-        super.viewDidLoad()
-
-        // Do any additional setup after loading the view.
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-        // Dispose of any resources that can be recreated.
-    }
-    
-    @IBAction func render(_: UIButton) {
-        let dst = NSHomeDirectory() + "/test.pdf"
-        try! PDFGenerator.generate(self.scrollView, to: dst)
-        openPDFViewer(dst)
-    }
-    
-    fileprivate func openPDFViewer(_ pdfPath: String) {
-        let url = URL(fileURLWithPath: pdfPath)
-        let storyboard = UIStoryboard(name: "PDFPreviewVC", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! PDFPreviewVC
-        vc.setupWithURL(url)
-        present(vc, animated: true, completion: nil)
-    }
-
-    /*
-    // MARK: - Navigation
-
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
-        // Get the new view controller using segue.destinationViewController.
-        // Pass the selected object to the new view controller.
-    }
-    */
-
-}

+ 0 - 67
Carthage/Checkouts/PDFGenerator/Demo/PDFPreviewVC.storyboard

@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="7Hn-bD-ujW">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--PreviewVC-->
-        <scene sceneID="BoV-cP-0sY">
-            <objects>
-                <viewController id="7Hn-bD-ujW" customClass="PDFPreviewVC" customModule="Demo" customModuleProvider="target" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="5yI-p4-Eij"/>
-                        <viewControllerLayoutGuide type="bottom" id="hAG-XP-Aaz"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="YGd-n0-0Xl">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PdX-6V-CI9">
-                                <rect key="frame" x="0.0" y="0.0" width="600" height="64"/>
-                                <subviews>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Mrg-Ib-dGc">
-                                        <rect key="frame" x="16" y="27" width="60" height="30"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="30" id="XeW-vz-XoI"/>
-                                            <constraint firstAttribute="width" constant="60" id="mBz-Nb-mFc"/>
-                                        </constraints>
-                                        <state key="normal" title="Close"/>
-                                        <connections>
-                                            <action selector="close:" destination="7Hn-bD-ujW" eventType="touchUpInside" id="nNU-hg-ofw"/>
-                                        </connections>
-                                    </button>
-                                </subviews>
-                                <color key="backgroundColor" red="0.93122661110000005" green="0.93119871620000005" blue="0.9312145114" alpha="1" colorSpace="calibratedRGB"/>
-                                <constraints>
-                                    <constraint firstItem="Mrg-Ib-dGc" firstAttribute="centerY" secondItem="PdX-6V-CI9" secondAttribute="centerY" constant="10" id="7La-5g-lE7"/>
-                                    <constraint firstItem="Mrg-Ib-dGc" firstAttribute="leading" secondItem="PdX-6V-CI9" secondAttribute="leading" constant="16" id="Ypn-6q-kgk"/>
-                                    <constraint firstAttribute="height" constant="64" id="fLW-s8-iTd"/>
-                                </constraints>
-                            </view>
-                            <webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Igd-XZ-bT9">
-                                <rect key="frame" x="0.0" y="64" width="600" height="536"/>
-                                <color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="deviceRGB"/>
-                            </webView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="PdX-6V-CI9" firstAttribute="top" secondItem="YGd-n0-0Xl" secondAttribute="top" id="5fT-BR-KEd"/>
-                            <constraint firstItem="Igd-XZ-bT9" firstAttribute="leading" secondItem="YGd-n0-0Xl" secondAttribute="leading" id="AHt-ne-34F"/>
-                            <constraint firstAttribute="trailing" secondItem="Igd-XZ-bT9" secondAttribute="trailing" id="Fbl-js-706"/>
-                            <constraint firstItem="Igd-XZ-bT9" firstAttribute="top" secondItem="PdX-6V-CI9" secondAttribute="bottom" id="L1K-sb-l9K"/>
-                            <constraint firstAttribute="trailing" secondItem="PdX-6V-CI9" secondAttribute="trailing" id="NDT-Na-kEi"/>
-                            <constraint firstItem="PdX-6V-CI9" firstAttribute="leading" secondItem="YGd-n0-0Xl" secondAttribute="leading" id="RhG-Ek-Gxm"/>
-                            <constraint firstAttribute="bottom" secondItem="Igd-XZ-bT9" secondAttribute="bottom" id="dVl-ig-xU2"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="webView" destination="Igd-XZ-bT9" id="ID4-Bg-EVs"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="1cM-d1-vR2" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="684" y="212"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 37
Carthage/Checkouts/PDFGenerator/Demo/PDFPreviewVC.swift

@@ -1,37 +0,0 @@
-//
-//  PDFPreviewVC.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/06.
-//
-//
-
-import UIKit
-
-class PDFPreviewVC: UIViewController {
-    
-    @IBOutlet fileprivate weak var webView: UIWebView!
-    var url: URL!
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        let req = NSMutableURLRequest(url: url)
-        req.timeoutInterval = 60.0
-        req.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
-
-        webView.scalesPageToFit = true
-        webView.loadRequest(req as URLRequest)
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-    }
-    
-    @objc @IBAction fileprivate func close(_ sender: AnyObject!) {
-        dismiss(animated: true, completion: nil)
-    }
-    
-    func setupWithURL(_ url: URL) {
-        self.url = url
-    }
-
-}

+ 0 - 36
Carthage/Checkouts/PDFGenerator/Demo/PDFViewController.storyboard

@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="lA4-ro-Ofe">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="cBO-i2-gze">
-            <objects>
-                <viewController id="lA4-ro-Ofe" customClass="PDFViewController" customModule="Demo" customModuleProvider="target" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Rhx-Xm-zHc"/>
-                        <viewControllerLayoutGuide type="bottom" id="9tD-Eb-9d5"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="xJ6-2m-mYq">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <webView contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7LL-RX-fgX">
-                                <rect key="frame" x="180" y="193" width="240" height="128"/>
-                                <color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="deviceRGB"/>
-                            </webView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    </view>
-                    <connections>
-                        <outlet property="webView" destination="7LL-RX-fgX" id="wZ3-bf-eza"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="6ww-PI-g02" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="635" y="386"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 29
Carthage/Checkouts/PDFGenerator/Demo/PDFViewController.swift

@@ -1,29 +0,0 @@
-//
-//  PDFViewController.swift
-//  PDFMaker
-//
-//  Created by Suguru Kishimoto on 2016/02/05.
-//
-//
-
-import UIKit
-
-class PDFViewController: UIViewController {
-    
-    @IBOutlet private weak var webView: UIWebView!
-    @IBOutlet private weak var closeButton: UIButton!
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-    }
-    
-    func setupWithURL(url: NSURL) {
-        let req = NSURLRequest(URL: url, cachePolicy: .ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 60)
-        webView.loadRequest(req)
-    }
-    
-}

+ 0 - 23
Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewCell.swift

@@ -1,23 +0,0 @@
-//
-//  SampleTableViewCell.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/27.
-//
-//
-
-import UIKit
-
-class SampleTableViewCell: UITableViewCell {
-
-    @IBOutlet weak var leftLabel: UILabel!
-    @IBOutlet weak var rightLabel: UILabel!
-    override func awakeFromNib() {
-        super.awakeFromNib()
-    }
-
-    override func setSelected(_ selected: Bool, animated: Bool) {
-        super.setSelected(selected, animated: animated)
-    }
-
-}

+ 0 - 70
Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewController.storyboard

@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="4wT-3U-j3F">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <scenes>
-        <!--Sample Table View Controller-->
-        <scene sceneID="TKp-H0-I3P">
-            <objects>
-                <tableViewController id="4wT-3U-j3F" customClass="SampleTableViewController" customModule="Demo" customModuleProvider="target" sceneMemberID="viewController">
-                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="Gfi-OA-RfQ">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <prototypes>
-                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" id="hRd-LY-XjG" customClass="SampleTableViewCell" customModule="Demo" customModuleProvider="target">
-                                <rect key="frame" x="0.0" y="28" width="600" height="44"/>
-                                <autoresizingMask key="autoresizingMask"/>
-                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="hRd-LY-XjG" id="cFY-ba-p1v">
-                                    <rect key="frame" x="0.0" y="0.0" width="600" height="43"/>
-                                    <autoresizingMask key="autoresizingMask"/>
-                                    <subviews>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BHf-3f-fHF">
-                                            <rect key="frame" x="16" y="11" width="200" height="21"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="21" id="3lx-Yu-VcB"/>
-                                                <constraint firstAttribute="width" constant="200" id="yTE-Gm-4vg"/>
-                                            </constraints>
-                                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                                            <nil key="highlightedColor"/>
-                                        </label>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SYO-87-FkQ">
-                                            <rect key="frame" x="384" y="11" width="200" height="21"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="200" id="EC5-Ob-cwi"/>
-                                                <constraint firstAttribute="height" constant="21" id="Ki8-nY-Zw3"/>
-                                            </constraints>
-                                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                                            <nil key="highlightedColor"/>
-                                        </label>
-                                    </subviews>
-                                    <constraints>
-                                        <constraint firstItem="BHf-3f-fHF" firstAttribute="leading" secondItem="cFY-ba-p1v" secondAttribute="leadingMargin" constant="8" id="OWc-d2-3Kc"/>
-                                        <constraint firstItem="BHf-3f-fHF" firstAttribute="centerY" secondItem="cFY-ba-p1v" secondAttribute="centerY" id="apx-WT-hCh"/>
-                                        <constraint firstItem="SYO-87-FkQ" firstAttribute="centerY" secondItem="cFY-ba-p1v" secondAttribute="centerY" id="ix7-6X-G5F"/>
-                                        <constraint firstAttribute="trailingMargin" secondItem="SYO-87-FkQ" secondAttribute="trailing" constant="8" id="mKQ-oZ-wJR"/>
-                                    </constraints>
-                                </tableViewCellContentView>
-                                <connections>
-                                    <outlet property="leftLabel" destination="BHf-3f-fHF" id="DrU-nI-LuS"/>
-                                    <outlet property="rightLabel" destination="SYO-87-FkQ" id="cDo-TB-Tml"/>
-                                </connections>
-                            </tableViewCell>
-                        </prototypes>
-                        <connections>
-                            <outlet property="dataSource" destination="4wT-3U-j3F" id="4rD-nT-RaB"/>
-                            <outlet property="delegate" destination="4wT-3U-j3F" id="Zpt-pd-xjw"/>
-                        </connections>
-                    </tableView>
-                </tableViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="gDh-v1-sOp" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="625" y="418"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 112
Carthage/Checkouts/PDFGenerator/Demo/SampleTableViewController.swift

@@ -1,112 +0,0 @@
-//
-//  SampleTableViewController.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/27.
-//
-//
-
-import UIKit
-import PDFGenerator
-
-class SampleTableViewController: UITableViewController {
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        self.tableView.contentInset = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 0.0)
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-    }
-    
-    @objc fileprivate func generatePDF() {
-        do {
-            let dst = NSHomeDirectory() + "/sample_tblview.pdf"
-            try PDFGenerator.generate(self.tableView, to: dst)
-            openPDFViewer(dst)
-        } catch let error {
-            print(error)
-        }
-        
-    }
-
-    fileprivate func openPDFViewer(_ pdfPath: String) {
-        let url = URL(fileURLWithPath: pdfPath)
-        let storyboard = UIStoryboard(name: "PDFPreviewVC", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! PDFPreviewVC
-        vc.setupWithURL(url)
-        present(vc, animated: true, completion: nil)
-    }
-
-    // MARK: - Table view data source
-
-    override func numberOfSections(in tableView: UITableView) -> Int {
-        return 3
-    }
-
-    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return 10
-    }
-
-    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! SampleTableViewCell
-        cell.leftLabel.text = "\((indexPath as NSIndexPath).section)-\((indexPath as NSIndexPath).row)cell"
-        cell.rightLabel.text = "sample"
-        return cell
-    }
-    
-    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
-        return "section\(section)"
-    }
-    
-    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        generatePDF()
-    }
-    
-    /*
-    // Override to support conditional editing of the table view.
-    override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
-        // Return false if you do not want the specified item to be editable.
-        return true
-    }
-    */
-
-    /*
-    // Override to support editing the table view.
-    override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
-        if editingStyle == .Delete {
-            // Delete the row from the data source
-            tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
-        } else if editingStyle == .Insert {
-            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
-        }    
-    }
-    */
-
-    /*
-    // Override to support rearranging the table view.
-    override func tableView(tableView: UITableView, moveRowAtIndexPath fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath) {
-
-    }
-    */
-
-    /*
-    // Override to support conditional rearranging of the table view.
-    override func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
-        // Return false if you do not want the item to be re-orderable.
-        return true
-    }
-    */
-
-    /*
-    // MARK: - Navigation
-
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
-        // Get the new view controller using segue.destinationViewController.
-        // Pass the selected object to the new view controller.
-    }
-    */
-
-}

+ 0 - 151
Carthage/Checkouts/PDFGenerator/Demo/ViewController.swift

@@ -1,151 +0,0 @@
-//
-//  ViewController.swift
-//  Demo
-//
-//  Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-import UIKit
-import PDFGenerator
-
-class ViewController: UIViewController {
-    
-    fileprivate var outputAsData: Bool = false
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do any additional setup after loading the view, typically from a nib.
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-        // Dispose of any resources that can be recreated.
-    }
-
-    fileprivate func getImagePath(_ number: Int) -> String {
-        return Bundle.main.path(forResource: "sample_\(number)", ofType: "jpg")!
-    }
-    
-    fileprivate func getDestinationPath(_ number: Int) -> String {
-        return NSHomeDirectory() + "/sample\(number).pdf"
-    }
-    
-    @objc @IBAction fileprivate func generateSamplePDFFromViews(_ sender: AnyObject?) {
-        let v1 = UIScrollView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
-        let v2 = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
-        let v3 = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
-        v1.backgroundColor = UIColor.red
-        v1.contentSize = CGSize(width: 100, height: 100)
-        v2.backgroundColor = UIColor.green
-        v3.backgroundColor = UIColor.blue
-        
-        do {
-            let dst = getDestinationPath(1)
-            if outputAsData {
-                let data = try PDFGenerator.generated(by: [v1, v2, v3])
-                try data.write(to: URL(fileURLWithPath: dst))
-            } else {
-                try PDFGenerator.generate([v1, v2, v3], to: dst)
-            }
-            openPDFViewer(dst)
-        } catch (let e) {
-            print(e)
-        }
-    }
-    
-    @objc @IBAction fileprivate func generateSamplePDFFromImages(_ sender: AnyObject?) {
-        let dst = getDestinationPath(2)
-        autoreleasepool {
-            do {
-                var images = [UIImage]()
-                (0..<3).forEach {
-                    images.append(UIImage(contentsOfFile: getImagePath($0))!)
-                }
-                if outputAsData {
-                    let data = try PDFGenerator.generated(by: images)
-                    try data.write(to: URL(fileURLWithPath: dst))
-                } else {
-                    try PDFGenerator.generate(images, to: dst, dpi: .custom(144), password: "123456")
-                }
-                openPDFViewer(dst)
-            } catch (let e) {
-                print(e)
-            }
-        }
-    }
-    
-    @objc @IBAction fileprivate func generateSamplePDFFromImagePaths(_ sender: AnyObject?) {
-        do {
-            let dst = getDestinationPath(3)
-            var imagePaths = [String]()
-            (3..<6).forEach {
-                imagePaths.append(getImagePath($0))
-            }
-            if outputAsData {
-                let data = try PDFGenerator.generated(by: imagePaths)
-                try data.write(to: URL(fileURLWithPath: dst))
-            } else {
-                try PDFGenerator.generate(imagePaths, to: dst)
-            }
-            openPDFViewer(dst)
-        } catch (let e) {
-            print(e)
-        }
-    }
-    
-    @objc @IBAction fileprivate func generateSamplePDFFromPages(_ sender: AnyObject?) {
-        let v1 = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
-        v1.backgroundColor = UIColor.red
-        let v2 = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
-        v2.backgroundColor = UIColor.green
-        
-        let page1 = PDFPage.view(v1)
-        let page2 = PDFPage.view(v2)
-        let page3 = PDFPage.whitePage(CGSize(width: 200, height: 100))
-        let page4 = PDFPage.image(UIImage(contentsOfFile: getImagePath(1))!)
-        let page5 = PDFPage.imagePath(getImagePath(2))
-        let pages = [page1, page2, page3, page4, page5]
-        do {
-            let dst = getDestinationPath(3)
-            if outputAsData {
-                let data = try PDFGenerator.generated(by: pages)
-                try data.write(to: URL(fileURLWithPath: dst))
-            } else {
-                try PDFGenerator.generate(pages, to: dst)
-            }
-            openPDFViewer(dst)
-        } catch (let e) {
-            print(e)
-
-        }
-    }
-    
-    @objc @IBAction fileprivate func generatePDFFromStackedScrollView(_: AnyObject?) {
-        let storyboard = UIStoryboard(name: "PDFOutput", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController()!
-        
-        present(vc, animated: true, completion: nil)
-    }
-
-    fileprivate func openPDFViewer(_ pdfPath: String) {
-        let url = URL(fileURLWithPath: pdfPath)        
-        let storyboard = UIStoryboard(name: "PDFPreviewVC", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! PDFPreviewVC
-        vc.setupWithURL(url)
-        present(vc, animated: true, completion: nil)
-    }
-
-    @objc @IBAction fileprivate func goSampleTableView(_ sender: AnyObject?) {
-        let storyboard = UIStoryboard(name: "SampleTableViewController", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! SampleTableViewController
-        present(vc, animated: true, completion: nil)
-    }
-    
-    @objc @IBAction fileprivate func goSampleWebView(_ sender: AnyObject?) {
-        let storyboard = UIStoryboard(name: "WebViewController", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! WebViewController
-        present(vc, animated: true, completion: nil)
-    }
-
-}

+ 0 - 57
Carthage/Checkouts/PDFGenerator/Demo/WebViewController.storyboard

@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="agr-Bd-01h">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
-    </dependencies>
-    <scenes>
-        <!--Web View Controller-->
-        <scene sceneID="xDk-0N-TTV">
-            <objects>
-                <viewController id="agr-Bd-01h" customClass="WebViewController" customModule="Demo" customModuleProvider="target" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="tFx-VQ-KEU"/>
-                        <viewControllerLayoutGuide type="bottom" id="yiC-n7-0o7"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="IRc-XT-O1w">
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VC0-fG-sSg">
-                                <rect key="frame" x="0.0" y="20" width="600" height="200"/>
-                                <color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="deviceRGB"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="200" id="BaV-Vk-89A"/>
-                                </constraints>
-                            </webView>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GnF-lf-UMf">
-                                <rect key="frame" x="285" y="250" width="30" height="30"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="30" id="fco-gS-WH1"/>
-                                    <constraint firstAttribute="height" constant="30" id="tDp-3p-Egp"/>
-                                </constraints>
-                                <state key="normal" title="PDF"/>
-                                <connections>
-                                    <action selector="generatePDF" destination="agr-Bd-01h" eventType="touchUpInside" id="1Dr-rA-1tr"/>
-                                </connections>
-                            </button>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                        <constraints>
-                            <constraint firstItem="GnF-lf-UMf" firstAttribute="centerX" secondItem="IRc-XT-O1w" secondAttribute="centerX" id="EEL-dG-gHB"/>
-                            <constraint firstItem="VC0-fG-sSg" firstAttribute="leading" secondItem="IRc-XT-O1w" secondAttribute="leading" id="JFA-ge-bAo"/>
-                            <constraint firstItem="GnF-lf-UMf" firstAttribute="top" secondItem="VC0-fG-sSg" secondAttribute="bottom" constant="30" id="Jxb-tE-jJ6"/>
-                            <constraint firstAttribute="trailing" secondItem="VC0-fG-sSg" secondAttribute="trailing" id="TPP-ws-uqx"/>
-                            <constraint firstItem="VC0-fG-sSg" firstAttribute="top" secondItem="tFx-VQ-KEU" secondAttribute="bottom" id="gls-O5-HeG"/>
-                        </constraints>
-                    </view>
-                    <connections>
-                        <outlet property="webView" destination="VC0-fG-sSg" id="FN0-YH-6N8"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="tD9-QV-HgR" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="762" y="285"/>
-        </scene>
-    </scenes>
-</document>

+ 0 - 56
Carthage/Checkouts/PDFGenerator/Demo/WebViewController.swift

@@ -1,56 +0,0 @@
-//
-//  WebViewController.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/03/23.
-//
-//
-
-import UIKit
-import WebKit
-import PDFGenerator
-
-class WebViewController: UIViewController {
-
-    @IBOutlet fileprivate weak var webView: UIWebView!
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        let req = NSMutableURLRequest(url: URL(string: "http://www.yahoo.co.jp")!, cachePolicy: .reloadIgnoringCacheData, timeoutInterval: 60)
-        webView.loadRequest(req as URLRequest)
-    }
-
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
-    }
-    
-    @IBAction func generatePDF() {
-        do {
-            let dst = NSHomeDirectory() + "/sample_tblview.pdf"
-            try PDFGenerator.generate(webView, to: dst)
-            openPDFViewer(dst)
-        } catch let error {
-            print(error)
-        }
-        
-    }
-
-    fileprivate func openPDFViewer(_ pdfPath: String) {
-        let url = URL(fileURLWithPath: pdfPath)
-        let storyboard = UIStoryboard(name: "PDFPreviewVC", bundle: nil)
-        let vc = storyboard.instantiateInitialViewController() as! PDFPreviewVC
-        vc.setupWithURL(url)
-        present(vc, animated: true, completion: nil)
-    }
-
-    /*
-    // MARK: - Navigation
-
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
-        // Get the new view controller using segue.destinationViewController.
-        // Pass the selected object to the new view controller.
-    }
-    */
-
-}

BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_0.jpg


BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_1.jpg


BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_2.jpg


BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_3.jpg


BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_4.jpg


BIN
Carthage/Checkouts/PDFGenerator/Demo/sample_images/sample_5.jpg


+ 0 - 21
Carthage/Checkouts/PDFGenerator/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2016 Suguru Kishimoto
-
-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.

+ 0 - 14
Carthage/Checkouts/PDFGenerator/PDFGenerator.podspec

@@ -1,14 +0,0 @@
-Pod::Spec.new do |s|
-  s.name             = "PDFGenerator"
-  s.version          = "2.1"
-  s.summary          = "A simple PDF generator."
-  s.homepage         = "https://github.com/sgr-ksmt/PDFGenerator"
-  # s.screenshots     = ""
-  s.license          = 'MIT'
-  s.author           = { "Suguru Kishimoto" => "melodydance.k.s@gmail.com" }
-  s.source           = { :git => "https://github.com/sgr-ksmt/PDFGenerator.git", :tag => s.version.to_s }
-  s.platform         = :ios, '8.0'
-  s.requires_arc     = true
-  s.source_files     = "PDFGenerator/**/*"
-  s.frameworks   = 'WebKit'
-end

+ 0 - 34
Carthage/Checkouts/PDFGenerator/PDFGenerator/DPIType.swift

@@ -1,34 +0,0 @@
-//
-//  DPIType.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-import UIKit
-
-public enum DPIType {
-    fileprivate static let defaultDpi: CGFloat = 72.0
-    case `default`
-    case dpi_300
-    case custom(CGFloat)
-    
-    public var value: CGFloat {
-        switch self {
-        case .default:
-            return type(of: self).defaultDpi
-        case .dpi_300:
-            return 300.0
-        case .custom(let value) where value > 1.0:
-            return value
-        default:
-            return DPIType.default.value
-        }
-    }
-    
-    public var scaleFactor: CGFloat {
-        return self.value / DPIType.default.value
-    }
-}

+ 0 - 36
Carthage/Checkouts/PDFGenerator/PDFGenerator/FilePathConvertible.swift

@@ -1,36 +0,0 @@
-//
-//  FilePathConvertible.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 7/23/16.
-//
-//
-
-import Foundation
-
-public protocol FilePathConvertible {
-    var url: URL { get }
-    var path: String { get }
-}
-
-extension FilePathConvertible {
-    var isEmptyPath: Bool {
-        return path.isEmpty
-    }
-}
-
-extension String: FilePathConvertible {
-    public var url: URL {
-        return URL(fileURLWithPath: self)
-    }
-    
-    public var path: String {
-        return self
-    }
-}
-
-extension URL: FilePathConvertible {
-    public var url: URL {
-        return self
-    }
-}

+ 0 - 26
Carthage/Checkouts/PDFGenerator/PDFGenerator/Info.plist

@@ -1,26 +0,0 @@
-<?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.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>$(CURRENT_PROJECT_VERSION)</string>
-	<key>NSPrincipalClass</key>
-	<string></string>
-</dict>
-</plist>

+ 0 - 39
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerateError.swift

@@ -1,39 +0,0 @@
-//
-//  PDFGenerateError.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-
-/**
- PDFGenerateError
- 
- - ZeroSizeView:    View's size is (0, 0)
- - ImageLoadFailed: Image has not been loaded from image path.
- - EmptyOutputPath: Output path is empty.
- - EmptyPage:       Create PDF from no pages.
- - InvalidContext:  If UIGraphicsGetCurrentContext returns nil.
- - InvalidPassword: If password cannot covert ASCII text.
- - TooLongPassword: If password too long
- */
-public enum PDFGenerateError: Error {
-    /// View's size is (0, 0)
-    case zeroSizeView(UIView)
-    /// Image has not been loaded from image path.
-    case imageLoadFailed(Any)
-    /// Output path is empty
-    case emptyOutputPath
-    /// Attempt to create empty PDF. (no pages.)
-    case emptyPage
-    /// If UIGraphicsGetCurrentContext returns nil.
-    case invalidContext
-    /// If rendering scale factor is zero.
-    case invalidScaleFactor
-    /// If password cannot covert ASCII text.
-    case invalidPassword(String)
-    /// If password too long
-    case tooLongPassword(Int)
-}

+ 0 - 19
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerator.h

@@ -1,19 +0,0 @@
-//
-//  PDFGenerator.h
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-#import <UIKit/UIKit.h>
-
-//! Project version number for PDFGenerator.
-FOUNDATION_EXPORT double PDFGeneratorVersionNumber;
-
-//! Project version string for PDFGenerator.
-FOUNDATION_EXPORT const unsigned char PDFGeneratorVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import <PDFGenerator/PublicHeader.h>
-
-

+ 0 - 290
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFGenerator.swift

@@ -1,290 +0,0 @@
-//
-//  PDFGenerator.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-import Foundation
-import UIKit
-
-/// PDFGenerator
-public final class PDFGenerator {
-    fileprivate typealias Process = () throws -> Void
-    
-    /// Avoid creating instance.
-    fileprivate init() {}
-    
-    /**
-     Generate from page object.
-     
-     - parameter page:       A `PDFPage`'s object.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ page: PDFPage, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate([page], to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from page objects.
-     
-     - parameter pages:      Array of `PDFPage`'s objects.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ pages: [PDFPage], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        guard !pages.isEmpty else {
-            throw PDFGenerateError.emptyPage
-        }
-        guard !path.isEmptyPath else {
-            throw PDFGenerateError.emptyOutputPath
-        }
-        do {
-            try render(to: path, password: password) {
-                try render(pages, dpi: dpi)
-            }
-        } catch let error {
-            _ = try? FileManager.default.removeItem(at: path.url)
-            throw error
-        }
-    }
-    
-    /**
-     Generate from view.
-     
-     - parameter view:       A view
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ view: UIView, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate([view], to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from views.
-     
-     - parameter views:      Array of views.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ views: [UIView], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate(PDFPage.pages(views), to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from image.
-     
-     - parameter image:      An image.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ image: UIImage, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate([image], to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from images.
-     
-     - parameter images:     Array of images.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ images: [UIImage], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate(PDFPage.pages(images), to: path, dpi: dpi, password: password)
-    }
-
-    /**
-     Generate from image path.
-     
-     - parameter imagePath:  An image path.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ imagePath: String, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate([imagePath], to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from image paths.
-     
-     - parameter imagePaths: Arrat of image paths.
-     - parameter outputPath: An outputPath to save PDF.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     */
-    public class func generate(_ imagePaths: [String], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
-        try generate(PDFPage.pages(imagePaths), to: path, dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from page object.
-     
-     - parameter page: A `PDFPage`'s object.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by page: PDFPage, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: [page], dpi: dpi, password: password)
-    }
-
-    /**
-     Generate from page objects.
-     
-     - parameter pages: Array of `PDFPage`'s objects.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by pages: [PDFPage], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        guard !pages.isEmpty else {
-            throw PDFGenerateError.emptyPage
-        }
-        return try rendered(with: password) { try render(pages, dpi: dpi) }
-    }
-
-    /**
-     Generate from view.
-     
-     - parameter view: A view
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by view: UIView, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: [view], dpi: dpi, password: password)
-    }
-
-    /**
-     Generate from views.
-     
-     - parameter views: Array of views.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by views: [UIView], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data  {
-        return try generated(by: PDFPage.pages(views), dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from image.
-     
-     - parameter image: An image.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by image: UIImage, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: [image], dpi: dpi, password: password)
-    }
-
-    /**
-     Generate from images.
-     
-     - parameter images: Array of images.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by images: [UIImage], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: PDFPage.pages(images), dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from image path.
-     
-     - parameter imagePath: An image path.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by imagePath: String, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: [imagePath], dpi: dpi, password: password)
-    }
-    
-    /**
-     Generate from image paths.
-     
-     - parameter imagePaths: Arrat of image paths.
-     
-     - throws: A `PDFGenerateError` thrown if some error occurred.
-     
-     - returns: PDF's binary data (NSData)
-     */
-    
-    public class func generated(by imagePaths: [String], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
-        return try generated(by: PDFPage.pages(imagePaths), dpi: dpi, password: password)
-    }
-}
-
-// MARK: Private Extension
-
-/// PDFGenerator private extensions (render processes)
-private extension PDFGenerator {
-    class func render(_ page: PDFPage, dpi: DPIType) throws {
-        let scaleFactor = dpi.scaleFactor
-        
-        try autoreleasepool {
-            switch page {
-            case .whitePage(let size):
-                let view = UIView(frame: CGRect(origin: .zero, size: size))
-                view.backgroundColor = .white
-                try view.renderPDFPage(scaleFactor: scaleFactor)
-            case .view(let view):
-                try view.renderPDFPage(scaleFactor: scaleFactor)
-            case .image(let image):
-                try image.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
-            case .imagePath(let ip):
-                try ip.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
-            case .binary(let data):
-                try data.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
-            case .imageRef(let cgImage):
-                try cgImage.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
-            }
-        }
-    }
-    
-    class func render(_ pages: [PDFPage], dpi: DPIType) throws {
-        try pages.forEach { try render($0, dpi: dpi) }
-    }
-    
-    class func render(to path: FilePathConvertible, password: PDFPassword, process: Process) rethrows {
-        try { try password.verify() }()
-        UIGraphicsBeginPDFContextToFile(path.path, .zero, password.toDocumentInfo())
-        try process()
-        UIGraphicsEndPDFContext()
-    }
-    
-    class func rendered(with password: PDFPassword, process: Process) rethrows -> Data {
-        try { try password.verify() }()
-        let data = NSMutableData()
-        UIGraphicsBeginPDFContextToData(data, .zero, password.toDocumentInfo())
-        try process()
-        UIGraphicsEndPDFContext()
-        return data as Data
-    }
-}

+ 0 - 77
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPage.swift

@@ -1,77 +0,0 @@
-//
-//  PDFPage.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-import UIKit
-
-/**
- PDF page model.
- 
- - WhitePage: A white view (CGSize)
- - View:      A view. (UIView)
- - Image:     An image (UIImage)
- - ImagePath: ImagePath: An image path (String)
- - Binary:    Binary data (NSData)
- - ImageRef:  Image ref (CGImage)
- */
-public enum PDFPage {
-    /// A white view (CGSize)
-    case whitePage(CGSize)
-    /// A view. (UIView)
-    case view(UIView)
-    /// An image (UIImage)
-    case image(UIImage)
-    /// ImagePath: An image path (String)
-    case imagePath(String)
-    /// Binary data (NSData)
-    case binary(Data)
-    /// Image ref (CGImage)
-    case imageRef(CGImage)
-    
-    /**
-     Convert views to PDFPage models.
-     
-     - parameter views: Array of `UIVIew`
-     
-     - returns: Array of `PDFPage`
-     */
-    static func pages(_ views: [UIView]) -> [PDFPage] {
-        return views.map { .view($0) }
-    }
-    
-    /**
-     Convert images to PDFPage models.
-     
-     - parameter views: Array of `UIImage`
-     
-     - returns: Array of `PDFPage`
-     */
-    static func pages(_ images: [UIImage]) -> [PDFPage] {
-        return images.map { .image($0) }
-    }
-    
-    /**
-     Convert image path to PDFPage models.
-     
-     - parameter views: Array of `String`(image path)
-     
-     - returns: Array of `PDFPage`
-     */
-    static func pages(_ imagePaths: [String]) -> [PDFPage] {
-        return imagePaths.map { .imagePath($0) }
-    }
-}
-
-/// PDF page size (pixel, 72dpi)
-public struct PDFPageSize {
-    fileprivate init() {}
-    /// A4
-    public static let A4 = CGSize(width: 595.0, height: 842.0)
-    /// B5
-    public static let B5 = CGSize(width: 516.0, height: 729.0)
-}

+ 0 - 149
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPageRenderable.swift

@@ -1,149 +0,0 @@
-//
-//  PDFPageRenderable.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/02/10.
-//
-//
-
-import Foundation
-import UIKit
-import WebKit
-
-protocol PDFPageRenderable {
-    func renderPDFPage(scaleFactor: CGFloat) throws
-}
-
-private extension UIScrollView {
-    typealias TempInfo = (frame: CGRect, offset: CGPoint, inset: UIEdgeInsets)
-    
-    var tempInfo: TempInfo {
-        return (frame, contentOffset, contentInset)
-    }
-    
-    func transformForRender() {
-        contentOffset = .zero
-        contentInset = UIEdgeInsets.zero
-        frame = CGRect(origin: .zero, size: contentSize)
-    }
-    
-    func restore(_ info: TempInfo) {
-        frame = info.frame
-        contentOffset = info.offset
-        contentInset = info.inset
-    }
-    
-}
-
-extension UIView: PDFPageRenderable {    
-    fileprivate func _render<T: UIView>(_ view: T, scaleFactor: CGFloat, completion: (T) -> Void = { _ in }) throws {
-        guard scaleFactor > 0.0 else {
-            throw PDFGenerateError.invalidScaleFactor
-        }
-        
-        let size = getPageSize()
-        guard size.width > 0 && size.height > 0 else {
-            throw PDFGenerateError.zeroSizeView(self)
-        }
-        guard let context = UIGraphicsGetCurrentContext() else {
-            throw PDFGenerateError.invalidContext
-        }
-
-        let renderFrame = CGRect(origin: .zero, size: CGSize(width: size.width * scaleFactor, height: size.height * scaleFactor))
-        autoreleasepool {
-            let superView = view.superview
-            view.removeFromSuperview()
-            UIGraphicsBeginPDFPageWithInfo(renderFrame, nil)
-            view.layer.render(in: context)
-            superView?.addSubview(view)
-            superView?.layoutIfNeeded()
-            completion(view)
-        }
-    }
-    
-    func renderPDFPage(scaleFactor: CGFloat) throws {
-        func renderScrollView(_ scrollView: UIScrollView) throws {
-            let tmp = scrollView.tempInfo
-            scrollView.transformForRender()
-            try _render(scrollView, scaleFactor: scaleFactor) { scrollView in
-                scrollView.restore(tmp)
-            }
-        }
-        
-        if let webView = self as? UIWebView {
-            try renderScrollView(webView.scrollView)
-        } else if let webView = self as? WKWebView {
-            try renderScrollView(webView.scrollView)
-        } else if let scrollView = self as? UIScrollView {
-            try renderScrollView(scrollView)
-        } else {
-            try _render(self, scaleFactor: scaleFactor)
-        }
-    }
-    
-    fileprivate func getPageSize() -> CGSize {
-        switch self {
-        case (let webView as UIWebView):
-            return webView.scrollView.contentSize
-        case (let webView as WKWebView):
-            return webView.scrollView.contentSize
-        case (let scrollView as UIScrollView):
-            return scrollView.contentSize
-        default:
-            return self.frame.size
-        }
-    }
-}
-
-extension UIImage: PDFPageRenderable {
-    func renderPDFPage(scaleFactor: CGFloat) throws {
-        guard scaleFactor > 0.0 else {
-            throw PDFGenerateError.invalidScaleFactor
-        }
-        autoreleasepool {
-            let bounds = CGRect(
-                origin: .zero,
-                size: CGSize(
-                    width: size.width * scaleFactor,
-                    height: size.height * scaleFactor
-                )
-            )
-            UIGraphicsBeginPDFPageWithInfo(bounds, nil)
-            draw(in: bounds)
-        }
-    }
-}
-
-protocol UIImageConvertible {
-    func asUIImage() throws -> UIImage
-}
-
-extension UIImage: UIImageConvertible {
-    func asUIImage() throws -> UIImage {
-        return self
-    }
-}
-
-extension String: UIImageConvertible {
-    func asUIImage() throws -> UIImage {
-        guard let image = UIImage(contentsOfFile: self) else{
-            throw PDFGenerateError.imageLoadFailed(self)
-        }
-        return image
-    }
-}
-
-extension Data: UIImageConvertible {
-    func asUIImage() throws -> UIImage {
-        guard let image = UIImage(data: self) else {
-            throw PDFGenerateError.imageLoadFailed(self)
-        }
-        return image
-    }
-}
-
-extension CGImage: UIImageConvertible {
-    func asUIImage() throws -> UIImage {
-        return UIImage(cgImage: self)
-    }
-}

+ 0 - 67
Carthage/Checkouts/PDFGenerator/PDFGenerator/PDFPassword.swift

@@ -1,67 +0,0 @@
-//
-//  PDFPassword.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 2016/07/08.
-//
-//
-
-import Foundation
-import UIKit
-
-public struct PDFPassword {
-    static let NoPassword = ""
-    fileprivate static let PasswordLengthMax = 32
-    let userPassword: String
-    let ownerPassword: String
-    
-    public init(user userPassword: String, owner ownerPassword: String) {
-        self.userPassword = userPassword
-        self.ownerPassword = ownerPassword
-    }
-    
-    public init(_ password: String) {
-        self.init(user: password, owner: password)
-    }
-    
-    func toDocumentInfo() -> [AnyHashable : Any] {
-        var info: [AnyHashable : Any] = [:]
-        if userPassword != type(of: self).NoPassword {
-            info[String(kCGPDFContextUserPassword)] = userPassword
-        }
-        if ownerPassword != type(of: self).NoPassword {
-            info[String(kCGPDFContextOwnerPassword)] = ownerPassword
-        }
-        return info
-    }
-    
-    func verify() throws {
-        guard userPassword.canBeConverted(to: String.Encoding.ascii) else {
-            throw PDFGenerateError.invalidPassword(userPassword)
-        }
-        guard userPassword.characters.count <= type(of: self).PasswordLengthMax else {
-            throw PDFGenerateError.tooLongPassword(userPassword.characters.count)
-        }
-        
-        guard ownerPassword.canBeConverted(to: String.Encoding.ascii) else {
-            throw PDFGenerateError.invalidPassword(ownerPassword)
-        }
-        guard ownerPassword.characters.count <= type(of: self).PasswordLengthMax else {
-            throw PDFGenerateError.tooLongPassword(ownerPassword.characters.count)
-        }
-    }
-}
-
-extension PDFPassword: ExpressibleByStringLiteral {
-    public init(unicodeScalarLiteral value: String) {
-        self.init(value)
-    }
-    
-    public init(extendedGraphemeClusterLiteral value: String) {
-        self.init(value)
-    }
-    
-    public init(stringLiteral value: String) {
-        self.init(value)
-    }
-}

+ 0 - 19
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/DPITests.swift

@@ -1,19 +0,0 @@
-//
-//  DPITests.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 7/23/16.
-//
-//
-
-import XCTest
-@testable import PDFGenerator
-
-class DPITests: XCTestCase {
-    func test() {
-        XCTAssertEqual(DPIType.default.value, 72.0)
-        XCTAssertEqual(DPIType.dpi_300.value, 300.0)
-        XCTAssertEqual(DPIType.custom(100.0).value, 100.0)
-        XCTAssertEqual(DPIType.custom(-100.0).value, DPIType.default.value)
-    }
-}

+ 0 - 29
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/FilePathConvertibleTests.swift

@@ -1,29 +0,0 @@
-//
-//  FilePathConvertibleTests.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 7/23/16.
-//
-//
-
-import XCTest
-@testable import PDFGenerator
-
-class FilePathConvertibleTests: XCTestCase {
-    
-    func test() {
-        let p1: FilePathConvertible = ""
-        XCTAssertNotNil(p1.url)
-        XCTAssertEqual(p1.path, "")
-        XCTAssertEqual(p1.url, URL(fileURLWithPath: ""))
-
-        let p2: FilePathConvertible = "path/to/hoge.txt"
-        XCTAssertNotNil(p2.url)
-        XCTAssertEqual(p2.url, URL(fileURLWithPath: "path/to/hoge.txt"))
-        XCTAssertEqual(p2.path, "path/to/hoge.txt")
-
-        let p3: FilePathConvertible = URL(fileURLWithPath: "path/to/hoge.txt")
-        XCTAssertNotNil(p3.url)
-        XCTAssertEqual(p3.url, URL(fileURLWithPath: "path/to/hoge.txt"))
-    }
-}

BIN
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/Images/test_image1.png


+ 0 - 24
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/Info.plist

@@ -1,24 +0,0 @@
-<?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>

+ 0 - 462
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/PDFGeneratorTests.swift

@@ -1,462 +0,0 @@
-//
-//  PDFGeneratorTests.swift
-//  PDFGeneratorTests
-//
-//  Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-import XCTest
-@testable import PDFGenerator
-
-class Mock {
-    struct ImageName {
-        static let testImage1 = "test_image1"
-    }
-    
-    class func view(_ size: CGSize) -> UIView {
-        return UIView(frame: CGRect(origin: CGPoint.zero, size: size))
-    }
-    
-    class func scrollView(_ size: CGSize) -> UIScrollView {
-        return { () -> UIScrollView in
-            let v = UIScrollView(frame: CGRect(origin: CGPoint.zero, size: size))
-            v.contentSize = v.frame.size
-            return v
-        }()
-    }
-
-    class func imagePath(_ name: String) -> String{
-        return Bundle(for: self).path(forResource: name, ofType: "png")!
-    }
-    
-    class func image(_ name: String) -> UIImage {
-        return UIImage(contentsOfFile: imagePath(name))!
-    }
-    
-}
-
-class PDFGeneratorTests: XCTestCase {
-    
-    func isExistPDF(_ path: String) -> Bool {
-        return FileManager.default.fileExists(atPath: path)
-    }
-    
-    func PDFDirectoryPath() -> String {
-        return NSHomeDirectory() + "/test/"
-    }
-    
-    func PDFfilePath(_ fileName: String) -> String {
-        return PDFDirectoryPath() + "/\(fileName)"
-    }
-    
-    override func setUp() {
-        super.setUp()
-        try! FileManager.default.createDirectory(
-            atPath: PDFDirectoryPath(),
-            withIntermediateDirectories: true,
-            attributes: nil
-        )
-    }
-    
-    override func tearDown() {
-        _ = try? FileManager.default.removeItem(atPath: PDFDirectoryPath())
-        super.tearDown()
-    }
-    
-    // MARK: UIView -> PDF
-    func testViewToPDF() {
-        let view = Mock.view(CGSize(width: 100, height: 100))
-        let view2 = Mock.scrollView(CGSize(width: 100, height: 100))
-        
-        let path1 = PDFfilePath("test_sample1.pdf")
-        _ = try? PDFGenerator.generate(view, to: path1)
-        XCTAssertTrue(isExistPDF(path1))
-        
-        let path2 = PDFfilePath("hoge/test_sample2.pdf")
-        _ = try? PDFGenerator.generate(view, to: path2)
-        XCTAssertFalse(isExistPDF(path2))
-        
-        let path3 = PDFfilePath("test_sample3.pdf")
-        _ = try? PDFGenerator.generate(view, to: path3)
-        XCTAssertTrue(isExistPDF(path3))
-        
-        XCTAssertNotNil(try? PDFGenerator.generated(by: view))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [view]))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [view, view2]))
-    }
-    
-    // MARK: UIImage -> PDF
-    func testImageToPDF() {
-        let image1 = Mock.image("test_image1")
-        let image2 = Mock.image("test_image1")
-        
-        let path1 = PDFfilePath("test_sample1.pdf")
-        _ = try? PDFGenerator.generate(image1, to: path1)
-        XCTAssertTrue(isExistPDF(path1))
-        
-        let path2 = PDFfilePath("hoge/test_sample2.pdf")
-        _ = try? PDFGenerator.generate(image1, to: path2)
-        XCTAssertFalse(isExistPDF(path2))
-        
-        let path3 = PDFfilePath("test_sample3.pdf")
-        _ = try? PDFGenerator.generate([image1, image2], to: path3)
-        XCTAssertTrue(isExistPDF(path3))
-        
-        XCTAssertNotNil(try? PDFGenerator.generated(by: image1))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [image1]))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [image1, image2]))
-    }
-    
-    // MARK: ImagePath(String) -> PDF
-    func testImagePathToPDF() {
-        let image1 = Mock.imagePath("test_image1")
-        let image2 = Mock.imagePath("test_image1")
-        
-        let path1 = PDFfilePath("test_sample1.pdf")
-        _ = try? PDFGenerator.generate(image1, to: path1)
-        XCTAssertTrue(isExistPDF(path1))
-        
-        let path2 = PDFfilePath("hoge/test_sample2.pdf")
-        _ = try? PDFGenerator.generate(image1, to: path2)
-        XCTAssertFalse(isExistPDF(path2))
-        
-        let path3 = PDFfilePath("test_sample3.pdf")
-        _ = try? PDFGenerator.generate([image1, image2], to: path3)
-        XCTAssertTrue(isExistPDF(path3))
-        
-        XCTAssertNotNil(try? PDFGenerator.generated(by: image1))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [image1]))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [image1, image2]))
-    }
-    
-    // MARK: PDFPage -> PDF
-    func testMixedPageToPDF() {
-        let p1 = PDFPage.view(Mock.view(CGSize(width: 100, height: 100)))
-        let p2 = PDFPage.image(Mock.image(Mock.ImageName.testImage1))
-        let p3 = PDFPage.imagePath(Mock.imagePath(Mock.ImageName.testImage1))
-        let p4 = PDFPage.whitePage(CGSize(width: 100, height: 100))
-        let p5 = PDFPage.imageRef(Mock.image(Mock.ImageName.testImage1).cgImage!)
-        let p6 = PDFPage.binary(UIImagePNGRepresentation(Mock.image(Mock.ImageName.testImage1))!)
-        
-        let path1 = PDFfilePath("test_sample1.pdf")
-        _ = try? PDFGenerator.generate(p1, to: path1)
-        XCTAssertTrue(isExistPDF(path1))
-
-        let path2 = PDFfilePath("hoge/test_sample2.pdf")
-        _ = try? PDFGenerator.generate(p2, to: path2)
-        XCTAssertFalse(isExistPDF(path2))
-        
-        let path3 = PDFfilePath("test_sample3.pdf")
-        _ = try? PDFGenerator.generate([p1, p2, p3, p4], to: path3)
-        XCTAssertTrue(isExistPDF(path3))
-
-        XCTAssertNotNil(try? PDFGenerator.generated(by: p1))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [p2]))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [p3, p4]))
-        XCTAssertNotNil(try? PDFGenerator.generated(by: [p5, p6]))
-
-    }
-    
-    // swiftlint:disable function_body_length
-    func testErrors() {
-        let view = Mock.view(CGSize(width: 100, height: 100))
-        let image = Mock.image(Mock.ImageName.testImage1)
-        let imagePath = Mock.imagePath(Mock.ImageName.testImage1)
-        let viewPage = PDFPage.view(Mock.view(CGSize(width: 100, height: 100)))
-        let imagePage = PDFPage.image(Mock.image(Mock.ImageName.testImage1))
-        let imagePathPage = PDFPage.imagePath(Mock.imagePath(Mock.ImageName.testImage1))
-        let whitePage = PDFPage.whitePage(CGSize(width: 100, height: 100))
-        let views = [
-            Mock.view(CGSize(width: 100, height: 100)),
-            Mock.view(CGSize(width: 100, height: 100))
-        ]
-        let images = [
-            Mock.image(Mock.ImageName.testImage1),
-            Mock.image(Mock.ImageName.testImage1)
-        ]
-        let imagePaths = [
-            Mock.imagePath(Mock.ImageName.testImage1),
-            Mock.imagePath(Mock.ImageName.testImage1)
-        ]
-        
-        let pages = [
-            PDFPage.view(Mock.view(CGSize(width: 100, height: 100))),
-            PDFPage.image(Mock.image(Mock.ImageName.testImage1)),
-            PDFPage.imagePath(Mock.imagePath(Mock.ImageName.testImage1)),
-            PDFPage.whitePage(CGSize(width: 100, height: 100))
-        ]
-
-        let mocks: [Any] = [
-            view,
-            image,
-            imagePath,
-            viewPage,
-            imagePage,
-            imagePathPage,
-            whitePage,
-            views,
-            images,
-            imagePaths,
-            pages
-        ]
-        
-        let emptyMocks: [Any] = [
-            [UIView](),
-            [UIImage](),
-            [String](),
-            [PDFPage]()
-        ]
-        
-        // MARK: check EmptyOutputPath
-        mocks.forEach {
-            do {
-                if let page = $0 as? UIView {
-                    try PDFGenerator.generate(page, to: "")
-                } else if let page = $0 as? UIImage {
-                    try PDFGenerator.generate(page, to: "")
-                } else if let page = $0 as? String {
-                    try PDFGenerator.generate(page, to: "")
-                } else if let page = $0 as? PDFPage {
-                    try PDFGenerator.generate(page, to: "")
-                } else if let pages = $0 as? [UIView] {
-                    try PDFGenerator.generate(pages, to: "")
-                } else if let pages = $0 as? [UIImage] {
-                    try PDFGenerator.generate(pages, to: "")
-                } else if let pages = $0 as? [String] {
-                    try PDFGenerator.generate(pages, to: "")
-                } else if let pages = $0 as? [PDFPage] {
-                    try PDFGenerator.generate(pages, to: "")
-                } else {
-                    XCTFail("invalid page(s) type found.")
-                }
-                XCTFail("[\($0)] No create PDF from empty name image path.")
-            } catch PDFGenerateError.emptyOutputPath {
-                // Right Error
-            } catch (let e) {
-                XCTFail("[\($0)] Unknown or wrong error occurred.\(e)")
-            }
-        }
-        
-        // MARK: check EmptyPage
-        emptyMocks.forEach {
-            do {
-                let path = PDFfilePath("test_sample1.pdf")
-                if let pages = $0 as? [UIView] {
-                    try PDFGenerator.generate(pages, to: path)
-                } else if let pages = $0 as? [UIImage] {
-                    try PDFGenerator.generate(pages, to: path)
-                } else if let pages = $0 as? [String] {
-                    try PDFGenerator.generate(pages, to: path)
-                } else if let pages = $0 as? [PDFPage] {
-                    try PDFGenerator.generate(pages, to: path)
-                } else {
-                    XCTFail("invalid pages type found.")
-                }
-                XCTFail("[\($0)] No create PDF from empty name image path.")
-            } catch PDFGenerateError.emptyPage {
-                // Right Error
-            } catch (let e) {
-                XCTFail("[\($0)] Unknown or wrong error occurred.\(e)")
-            }
-        }
-        
-        // MARK: check EmptyPage
-        emptyMocks.forEach {
-            do {
-                if let pages = $0 as? [UIView] {
-                    _ = try PDFGenerator.generated(by: pages)
-                } else if let pages = $0 as? [UIImage] {
-                    _ = try PDFGenerator.generated(by: pages)
-                } else if let pages = $0 as? [String] {
-                    _ = try PDFGenerator.generated(by: pages)
-                } else if let pages = $0 as? [PDFPage] {
-                    _ = try PDFGenerator.generated(by: pages)
-                } else {
-                    XCTFail("invalid pages type found.")
-                }
-                XCTFail("[\($0)] No create PDF from empty name image path.")
-            } catch PDFGenerateError.emptyPage {
-                // Right Error
-            } catch (let e) {
-                XCTFail("[\($0)] Unknown or wrong error occurred.\(e)")
-            }
-        }
-        
-        // MARK: check ZeroSizeView
-        let emptyView = Mock.view(CGSize.zero)
-        do {
-            let path = PDFfilePath("test_sample2.pdf")
-            try PDFGenerator.generate(emptyView, to: path)
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: emptyView)
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: [emptyView])
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        
-        let emptyViewPage = PDFPage.view(emptyView)
-        do {
-            let path = PDFfilePath("test_sample3.pdf")
-            try PDFGenerator.generate(emptyViewPage, to: path)
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: emptyViewPage)
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: [emptyViewPage])
-        } catch PDFGenerateError.zeroSizeView(let v) {
-            XCTAssertEqual(emptyView, v)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-
-        // MARK: check ImageLoadFailed
-        let wrongImagePath = "wrong/image.png"
-        do {
-            let path = PDFfilePath("test_sample4.pdf")
-            try PDFGenerator.generate(wrongImagePath, to: path)
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: wrongImagePath)
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: [wrongImagePath])
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-
-        let wrongImagePathPage = PDFPage.imagePath(wrongImagePath)
-        do {
-            let path = PDFfilePath("test_sample5.pdf")
-            try PDFGenerator.generate(wrongImagePathPage, to: path)
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: wrongImagePathPage)
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        do {
-            _ = try PDFGenerator.generated(by: [wrongImagePathPage])
-        } catch PDFGenerateError.imageLoadFailed(let ip) {
-            XCTAssertEqual(wrongImagePath, ip as? String)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-        
-        let wrongData = Data()
-        
-        do {
-            _ = try PDFGenerator.generated(by: PDFPage.binary(wrongData))
-        } catch PDFGenerateError.imageLoadFailed(let data) {
-            XCTAssertEqual(wrongData, data as? Data)
-        } catch (let e) {
-            XCTFail("Unknown or wrong error occurred.\(e)")
-        }
-
-    }
-    // swiftlint:enable function_body_length
-    
-    func testPDFPassword() {
-        let view = Mock.view(CGSize(width: 100, height: 100))
-        let view2 = Mock.view(CGSize(width: 100, height: 100))
-        
-        let path1 = PDFfilePath("test_sample1.pdf")
-        _ = try? PDFGenerator.generate(view, to: path1, password: "abcdef")
-        XCTAssertTrue(isExistPDF(path1))
-        
-        let path2 = PDFfilePath("test_sample2.pdf")
-        _ = try? PDFGenerator.generate(view, to: path2, password: "⌘123456")
-        XCTAssertFalse(isExistPDF(path2))
-        
-        let path3 = PDFfilePath("test_sample3.pdf")
-        do {
-            try PDFGenerator.generate([view, view2], to: path3, password: "123456")
-        } catch {
-            XCTFail()
-        }
-
-        let path4 = PDFfilePath("test_sample4.pdf")
-        do {
-            try PDFGenerator.generate([view, view2], to: path4, password: "⌘123456")
-            XCTFail()
-        } catch PDFGenerateError.invalidPassword(let password) {
-            XCTAssertEqual(password, "⌘123456")
-        } catch {
-            XCTFail()
-        }
-
-        let path5 = PDFfilePath("test_sample5.pdf")
-        do {
-            try PDFGenerator.generate([view, view2], to: path5, password: "0123456789abcdef0123456789abcdefA")
-            XCTFail()
-        } catch PDFGenerateError.tooLongPassword(let length) {
-            XCTAssertEqual(length, 33)
-        } catch {
-            XCTFail()
-        }
-
-        XCTAssertNotNil(try? PDFGenerator.generated(by: view, password: "abcdef"))
-        XCTAssertNil(try? PDFGenerator.generated(by: [view], password: "⌘123456"))
-        
-        do {
-            _ = try PDFGenerator.generated(by: [view], password: "123456")
-        } catch {
-            XCTFail()
-        }
-
-        do {
-            _ = try PDFGenerator.generated(by: [view], password: "⌘123456")
-        } catch PDFGenerateError.invalidPassword(let password) {
-            XCTAssertEqual(password, "⌘123456")
-        } catch {
-            XCTFail()
-        }
-        
-        do {
-            _ = try PDFGenerator.generated(by: [view], password: "0123456789abcdef0123456789abcdefA")
-            XCTFail()
-        } catch PDFGenerateError.tooLongPassword(let length) {
-            XCTAssertEqual(length, 33)
-        } catch {
-            XCTFail()
-        }
-    }
-}

+ 0 - 71
Carthage/Checkouts/PDFGenerator/PDFGeneratorTests/PDFPasswordTests.swift

@@ -1,71 +0,0 @@
-//
-//  PDFPasswordTests.swift
-//  PDFGenerator
-//
-//  Created by Suguru Kishimoto on 7/23/16.
-//
-//
-
-import XCTest
-@testable import PDFGenerator
-class PDFPasswordTests: XCTestCase {
-    func test() {
-        let p1: PDFPassword = "123456"
-        XCTAssertEqual(p1.userPassword, "123456")
-        XCTAssertEqual(p1.ownerPassword, "123456")
-        do {
-            try p1.verify()
-        } catch _ {
-            XCTFail()
-        }
-        
-        let p2: PDFPassword = PDFPassword(user: "123456", owner: "abcdef")
-        XCTAssertNotEqual(p2.userPassword, p2.ownerPassword)
-        do {
-            try p2.verify()
-        } catch _ {
-            XCTFail()
-        }
-
-        let p3: PDFPassword = PDFPassword(user: "ああああ", owner: "abcdef")
-        do {
-            try p3.verify()
-            XCTFail()
-        } catch PDFGenerateError.invalidPassword(let password) {
-            XCTAssertEqual(p3.userPassword, password)
-        } catch _ {
-            XCTFail()
-        }
-        
-        let p4: PDFPassword = PDFPassword(user: "123456", owner: "ああああ")
-        do {
-            try p4.verify()
-            XCTFail()
-        } catch PDFGenerateError.invalidPassword(let password) {
-            XCTAssertEqual(p4.ownerPassword, password)
-        } catch _ {
-            XCTFail()
-        }
-        
-        let p5: PDFPassword = PDFPassword(user: "1234567890123456789012345678901234567890", owner: "abcdef")
-        do {
-            try p5.verify()
-            XCTFail()
-        } catch PDFGenerateError.tooLongPassword(let length) {
-            XCTAssertEqual(p5.userPassword.characters.count, length)
-        } catch _ {
-            XCTFail()
-        }
-        
-        let p6: PDFPassword = PDFPassword(user: "123456", owner: "abcdefghijabcdefghijabcdefghijabcdefghij")
-        do {
-            try p6.verify()
-            XCTFail()
-        } catch PDFGenerateError.tooLongPassword(let length) {
-            XCTAssertEqual(p6.ownerPassword.characters.count, length)
-        } catch _ {
-            XCTFail()
-        }
-
-    }
-}

+ 0 - 3
Carthage/Checkouts/PDFGenerator/Package.swift

@@ -1,3 +0,0 @@
-import PackageDescription
-
-let package = Package(name: "PDFGenerator")

+ 0 - 6
Carthage/Checkouts/PDFGenerator/codecov.yml

@@ -1,6 +0,0 @@
-coverage:
-    ignore: 
-        - "Demo/*"
-        - "PDFGeneratorTests/*"
-
-comment: false

+ 0 - 1
Carthage/Checkouts/Sheeeeeeeeet/.swift-version

@@ -1 +0,0 @@
-4.2

+ 0 - 15
Carthage/Checkouts/Sheeeeeeeeet/.travis.yml

@@ -1,15 +0,0 @@
-# references:
-# * http://www.objc.io/issue-6/travis-ci.html
-# * https://github.com/supermarin/xcpretty#usage
-
-osx_image: xcode10
-language: swift
-
-before_install:
-  - brew outdated xctool || brew upgrade xctool
-  - carthage update
-
-script:
-  - set -o pipefail && xcodebuild -project "Sheeeeeeeeet.xcodeproj" -scheme "Sheeeeeeeeet" -sdk "iphonesimulator" | xcpretty -c
-  - pod lib lint --allow-warnings
-  - fastlane test

+ 0 - 0
Carthage/Checkouts/Sheeeeeeeeet/Cartfile


+ 0 - 2
Carthage/Checkouts/Sheeeeeeeeet/Cartfile.private

@@ -1,2 +0,0 @@
-github "Quick/Quick"
-github "Quick/Nimble"

+ 0 - 2
Carthage/Checkouts/Sheeeeeeeeet/Cartfile.resolved

@@ -1,2 +0,0 @@
-github "Quick/Nimble" "v7.3.1"
-github "Quick/Quick" "v1.3.2"

BIN
Carthage/Checkouts/Sheeeeeeeeet/Resources/Web Icon.sketch


+ 0 - 36
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet+Presenter.swift

@@ -1,36 +0,0 @@
-//
-//  ActionSheet+Presenter.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-04-27.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-public extension ActionSheet {
-    
-    static var defaultPresenter: ActionSheetPresenter {
-        return UIDevice.current.userInterfaceIdiom.defaultPresenter
-    }
-}
-
-
-// MARK: - Internal Extensions
-
-extension UIUserInterfaceIdiom {
-    
-    var defaultPresenter: ActionSheetPresenter {
-        switch self {
-        case .pad: return ipadPresenter
-        default: return iphonePresenter
-        }
-    }
-    
-    var ipadPresenter: ActionSheetPresenter {
-        let isFullscreen = UIApplication.shared.isFullScreen
-        return isFullscreen ? ActionSheetPopoverPresenter() : ActionSheetStandardPresenter()
-    }
-    
-    var iphonePresenter: ActionSheetPresenter {
-        return ActionSheetStandardPresenter()
-    }
-}

+ 0 - 297
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet.swift

@@ -1,297 +0,0 @@
-//
-//  ActionSheet.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This is the main class in the Sheeeeeeeeet library. You can
- use it to create action sheets and present them in any view
- controller, from any source view or bar button item.
- 
- 
- ## Creating action sheet instances
- 
- You create instances of this class by providing `init(...)`
- with the items to present and an action to call whenever an
- item is selected. If you must have an action sheet instance
- before you can setup its items (this may happen when you're
- subclassing), you can setup the items afterwards by calling
- the `setup(items:)` function.
- 
- 
- ## Subclassing
- 
- This class can be subclassed, which is a good practice when
- you want to use your own models in a controlled way. If you
- have a podcast app, you could have a `SleepTimerActionSheet`
- that automatically sets up its `SleepTimerTime` options and
- streamlines how you work with a sleep timer.
- 
- 
- ## Appearance
- 
- Customizing the appearance of the various action sheet item
- types in Sheeeeeeeeet (as well as of your own custom items),
- is mainly done using the iOS appearance proxy for each item
- cell type. For instance, to change the title text color for
- all `ActionSheetSelectItem` instances (including subclasses),
- type `ActionSheetSelectItem.appearance().titleColor`. It is
- also possible to set these properties for each item as well.
- 
- While most appearance is modified on a cell level, some are
- not. For instance, some views in `Views` have apperances of
- their own (e.g. `ActionSheetHeaderView.cornerRadius`). This
- means that you can change more than cell appearance. Have a
- look at the readme for more info on what you can customize.
- 
- Action sheet insets, margins and widths are not part of the
- appearance model, but have to be changed for each sheet. If
- you want to change these values for each sheet in youer app,
- I recommend subclassing `ActionSheet` and set these values.
- 
- Neither item heights are part of the appearance model. Item
- heights are instead changed by setting the static height of
- each item type, e.g. `ActionSheetTitleItem.height = 20`. It
- is not part of the cell appearance model since an item must
- know about the height before it creates any cells.
- 
- 
- ## Presentation
- 
- You can inject a custom presenter if you want to change how
- the sheet is presented and dismissed. The default presenter
- for iPhone devices is `ActionSheetStandardPresenter`, while
- iPad devices (most often) use `ActionSheetPopoverPresenter`.
- 
- 
- ## Handling item selections
- 
- The `selectAction` is triggered when a user taps an item in
- the action sheet. It provides you with the action sheet and
- the selected item. It is very important to use `[weak self]`
- in these action closures, to avoid memory leaks.
- 
- 
- ## Handling item taps
- 
- Action sheets receive a call to `handleTap(on:)` every time
- an item is tapped. You can override it if you, for instance,
- want to perform any animations before calling `super`.
- 
- */
-
-import UIKit
-
-open class ActionSheet: UIViewController {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "appearance will be removed in 1.4.0. Use the new appearance model instead")
-    public var appearance = ActionSheetAppearance(copy: .standard)
-    @available(*, deprecated, message: "setupItemsAndButtons(with:) will be removed in 1.4.0. Use `setup(items:)` instead")
-    open func setupItemsAndButtons(with items: [ActionSheetItem]) { setup(items: items) }
-    @available(*, deprecated, message: "itemSelectAction will be removed in 1.4.0. Use `selectAction` instead")
-    open var itemSelectAction: SelectAction { return selectAction }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(
-        items: [ActionSheetItem] = [],
-        presenter: ActionSheetPresenter = ActionSheet.defaultPresenter,
-        action: @escaping SelectAction) {
-        self.presenter = presenter
-        selectAction = action
-        super.init(nibName: ActionSheet.className, bundle: ActionSheet.bundle)
-        setup(items: items)
-    }
-    
-    public required init?(coder aDecoder: NSCoder) {
-        presenter = ActionSheet.defaultPresenter
-        selectAction = { _, _ in print("itemSelectAction is not set") }
-        super.init(coder: aDecoder)
-    }
-    
-    
-    // MARK: - Setup
-    
-    open func setup() {
-        preferredContentSize.width = preferredPopoverWidth
-    }
-    
-    open func setup(items: [ActionSheetItem]) {
-        self.items = items.filter { !($0 is ActionSheetButton) }
-        buttons = items.compactMap { $0 as? ActionSheetButton }
-        reloadData()
-    }
-    
-    
-    // MARK: - View Controller Lifecycle
-    
-    open override func viewDidLoad() {
-        super.viewDidLoad()
-        setup()
-        setup(itemsTableView, with: itemHandler)
-        setup(buttonsTableView, with: buttonHandler)
-    }
-    
-    open override func viewDidLayoutSubviews() {
-        super.viewDidLayoutSubviews()
-        refresh()
-    }
-    
-    
-    // MARK: - Typealiases
-    
-    public typealias SelectAction = (ActionSheet, ActionSheetItem) -> ()
-    
-    
-    // MARK: - Init properties
-    
-    public var presenter: ActionSheetPresenter
-    public var selectAction: SelectAction
-    
-    
-    // MARK: - Appearance
-    
-    public var minimumContentInsets = UIEdgeInsets(top: 15, left: 15, bottom: 15, right: 15)
-    public var preferredPopoverWidth: CGFloat = 300
-    public var sectionMargins: CGFloat = 15
-    
-    
-    // MARK: - Outlets
-    
-    @IBOutlet weak var backgroundView: ActionSheetBackgroundView?
-    @IBOutlet weak var stackView: UIStackView?
-    @IBOutlet weak var headerViewContainer: ActionSheetHeaderView?
-    @IBOutlet weak var headerViewContainerHeight: NSLayoutConstraint?
-    @IBOutlet weak var itemsTableView: ActionSheetItemTableView?
-    @IBOutlet weak var itemsTableViewHeight: NSLayoutConstraint?
-    @IBOutlet weak var buttonsTableView: ActionSheetButtonTableView?
-    @IBOutlet weak var buttonsTableViewHeight: NSLayoutConstraint?
-    
-    @IBOutlet weak var topMargin: NSLayoutConstraint?
-    @IBOutlet weak var leftMargin: NSLayoutConstraint?
-    @IBOutlet weak var rightMargin: NSLayoutConstraint?
-    @IBOutlet weak var bottomMargin: NSLayoutConstraint?
-    
-    
-    // MARK: - Header Properties
-    
-    open var headerView: UIView?
-    
-    
-    // MARK: - Item Properties
-    
-    public internal(set) var items = [ActionSheetItem]()
-    
-    public var itemsHeight: CGFloat { return totalHeight(for: items) }
-    
-    public lazy var itemHandler = ActionSheetItemHandler(actionSheet: self, itemType: .items)
-    
-    
-    // MARK: - Button Properties
-    
-    public internal(set) var buttons = [ActionSheetButton]()
-    
-    public var buttonsHeight: CGFloat { return totalHeight(for: buttons) }
-    
-    public lazy var buttonHandler = ActionSheetItemHandler(actionSheet: self, itemType: .buttons)
-    
-    
-    // MARK: - Presentation Functions
-    
-    open func dismiss(completion: @escaping () -> () = {}) {
-        presenter.dismiss { completion() }
-    }
-
-    open func present(in vc: UIViewController, from view: UIView?, completion: @escaping () -> () = {}) {
-        refresh()
-        presenter.present(sheet: self, in: vc.rootViewController, from: view, completion: completion)
-    }
-
-    open func present(in vc: UIViewController, from item: UIBarButtonItem, completion: @escaping () -> () = {}) {
-        refresh()
-        presenter.present(sheet: self, in: vc.rootViewController, from: item, completion: completion)
-    }
-
-    
-    // MARK: - Refresh Functions
-    
-    open func refresh() {
-        applyLegacyAppearance()
-        refreshHeader()
-        refreshItems()
-        refreshButtons()
-        stackView?.spacing = sectionMargins
-        presenter.refreshActionSheet()
-    }
-    
-    open func refreshHeader() {
-        let height = headerView?.frame.height ?? 0
-        headerViewContainerHeight?.constant = height
-        headerViewContainer?.isHidden = headerView == nil
-        guard let view = headerView else { return }
-        headerViewContainer?.addSubviewToFill(view)
-    }
-    
-    open func refreshItems() {
-        items.forEach { $0.applyAppearance(appearance) }    // TODO: Deprecated - Remove in 1.4.0
-        itemsTableViewHeight?.constant = itemsHeight
-    }
-    
-    open func refreshButtons() {
-        buttonsTableView?.isHidden = buttons.count == 0
-        buttons.forEach { $0.applyAppearance(appearance) }  // TODO: Deprecated - Remove in 1.4.0
-        buttonsTableViewHeight?.constant = buttonsHeight
-    }
-    
-    
-    // MARK: - Protected Functions
-    
-    open func handleTap(on item: ActionSheetItem) {
-        reloadData()
-        if item.tapBehavior != .dismiss { return selectAction(self, item) }
-        self.dismiss { self.selectAction(self, item) }
-    }
-    
-    open func margin(at margin: ActionSheetMargin) -> CGFloat {
-        let view: UIView! = self.view.superview ?? self.view
-        switch margin {
-        case .top: return margin.value(in: view, minimum: minimumContentInsets.top)
-        case .left: return margin.value(in: view, minimum: minimumContentInsets.left)
-        case .right: return margin.value(in: view, minimum: minimumContentInsets.right)
-        case .bottom: return margin.value(in: view, minimum: minimumContentInsets.bottom)
-        }
-    }
-
-    open func reloadData() {
-        itemsTableView?.reloadData()
-        buttonsTableView?.reloadData()
-    }
-}
-
-
-// MARK: - Private Functions
-
-private extension ActionSheet {
-    
-    func setup(_ tableView: UITableView?, with handler: ActionSheetItemHandler) {
-        tableView?.delegate = handler
-        tableView?.dataSource = handler
-        tableView?.alwaysBounceVertical = false
-        tableView?.estimatedRowHeight = 44
-        tableView?.rowHeight = UITableView.automaticDimension
-        tableView?.cellLayoutMarginsFollowReadableWidth = false
-    }
-    
-    func totalHeight(for items: [ActionSheetItem]) -> CGFloat {
-        let height = items.reduce(0) { $0 + $1.height }
-        return height
-    }
-}

+ 0 - 81
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheet.xib

@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ActionSheet" customModule="Sheeeeeeeeet" customModuleProvider="target">
-            <connections>
-                <outlet property="backgroundView" destination="SY3-WL-g9a" id="kJl-sr-KSn"/>
-                <outlet property="bottomMargin" destination="0Ng-wM-pDU" id="e9x-Tl-lhM"/>
-                <outlet property="buttonsTableView" destination="4ww-lg-Kl7" id="ybX-2I-Py8"/>
-                <outlet property="buttonsTableViewHeight" destination="3xB-Am-CuT" id="irJ-Cj-nU5"/>
-                <outlet property="headerViewContainer" destination="Eio-5P-omJ" id="igG-tq-9G0"/>
-                <outlet property="headerViewContainerHeight" destination="ZKw-6e-7h3" id="Npd-by-wqQ"/>
-                <outlet property="itemsTableView" destination="iQT-dy-e7d" id="qVi-cs-nm6"/>
-                <outlet property="itemsTableViewHeight" destination="929-kf-L2B" id="Vn3-T3-wVr"/>
-                <outlet property="leftMargin" destination="am1-ek-BBj" id="Ixg-NB-46W"/>
-                <outlet property="rightMargin" destination="yS1-hl-lMK" id="Ztc-IM-42Q"/>
-                <outlet property="stackView" destination="a3t-st-aTv" id="JPA-a6-5tl"/>
-                <outlet property="topMargin" destination="HAP-aL-Tfx" id="Okk-TN-tDs"/>
-                <outlet property="view" destination="iN0-l3-epB" id="gl1-H2-KFe"/>
-            </connections>
-        </placeholder>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SY3-WL-g9a" customClass="ActionSheetBackgroundView" customModule="Sheeeeeeeeet" customModuleProvider="target">
-                    <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                    <color key="backgroundColor" white="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                </view>
-                <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="a3t-st-aTv">
-                    <rect key="frame" x="0.0" y="277" width="375" height="390"/>
-                    <subviews>
-                        <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Eio-5P-omJ" customClass="ActionSheetHeaderView" customModule="Sheeeeeeeeet" customModuleProvider="target">
-                            <rect key="frame" x="0.0" y="0.0" width="375" height="150"/>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="150" id="ZKw-6e-7h3"/>
-                            </constraints>
-                        </view>
-                        <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="iQT-dy-e7d" customClass="ActionSheetItemTableView" customModule="Sheeeeeeeeet" customModuleProvider="target">
-                            <rect key="frame" x="0.0" y="170" width="375" height="100"/>
-                            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="height" priority="900" constant="100" id="929-kf-L2B"/>
-                            </constraints>
-                        </tableView>
-                        <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="4ww-lg-Kl7" customClass="ActionSheetButtonTableView" customModule="Sheeeeeeeeet" customModuleProvider="target">
-                            <rect key="frame" x="0.0" y="290" width="375" height="100"/>
-                            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="100" id="3xB-Am-CuT"/>
-                            </constraints>
-                        </tableView>
-                    </subviews>
-                </stackView>
-            </subviews>
-            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="a3t-st-aTv" secondAttribute="bottom" id="0Ng-wM-pDU"/>
-                <constraint firstItem="a3t-st-aTv" firstAttribute="top" relation="greaterThanOrEqual" secondItem="vUN-kp-3ea" secondAttribute="top" id="HAP-aL-Tfx"/>
-                <constraint firstItem="SY3-WL-g9a" firstAttribute="bottom" secondItem="iN0-l3-epB" secondAttribute="bottom" id="QPw-j7-ds4"/>
-                <constraint firstItem="SY3-WL-g9a" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Qkx-K8-ysN"/>
-                <constraint firstItem="a3t-st-aTv" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="am1-ek-BBj"/>
-                <constraint firstItem="SY3-WL-g9a" firstAttribute="trailing" secondItem="iN0-l3-epB" secondAttribute="trailing" id="it1-TY-fQG"/>
-                <constraint firstItem="SY3-WL-g9a" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="txK-fC-hst"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="a3t-st-aTv" secondAttribute="trailing" id="yS1-hl-lMK"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <point key="canvasLocation" x="55.200000000000003" y="48.125937031484263"/>
-        </view>
-    </objects>
-</document>

+ 0 - 95
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheetItemHandler.swift

@@ -1,95 +0,0 @@
-//
-//  ActionSheetItemHandler.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-24.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This class is used as data source and delegate for the item
- and button table views of the action sheet class.
- 
- */
-
-import UIKit
-
-open class ActionSheetItemHandler: NSObject {
-    
-    
-    // MARK: - Initialization
-    
-    public init(actionSheet: ActionSheet, itemType: ItemType) {
-        self.actionSheet = actionSheet
-        self.itemType = itemType
-    }
-    
-    
-    // MARK: - Enum
-    
-    public enum ItemType {
-        case items, buttons
-    }
-    
-    
-    // MARK: - Properties
-    
-    private weak var actionSheet: ActionSheet?
-    
-    let itemType: ItemType
-    
-    var items: [ActionSheetItem] {
-        switch itemType {
-        case .buttons: return actionSheet?.buttons ?? []
-        case .items: return actionSheet?.items ?? []
-        }
-    }
-}
-
-
-// MARK: - UITableViewDataSource
-
-extension ActionSheetItemHandler: UITableViewDataSource {
-    
-    public func item(at indexPath: IndexPath) -> ActionSheetItem? {
-        guard indexPath.section == 0 else { return nil }
-        guard items.count > indexPath.row else { return nil }
-        return items[indexPath.row]
-    }
-    
-    public func numberOfSections(in tableView: UITableView) -> Int {
-        return 1
-    }
-    
-    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return items.count
-    }
-    
-    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        guard let item = self.item(at: indexPath) else { return UITableViewCell(frame: .zero) }
-        let cell = item.cell(for: tableView)
-        item.applyAppearance(to: cell)                      // TODO: Deprecated - Remove in 1.4.0
-        cell.refresh(with: item)
-        return cell
-    }
-    
-    public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-        guard let item = self.item(at: indexPath) else { return 0 }
-        return CGFloat(item.height)
-    }
-}
-
-
-// MARK: - UITableViewDelegate
-
-extension ActionSheetItemHandler: UITableViewDelegate {
-    
-    public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        guard let item = self.item(at: indexPath) else { return }
-        tableView.deselectRow(at: indexPath, animated: true)
-        guard let sheet = actionSheet else { return }
-        item.handleTap(in: sheet)
-        sheet.handleTap(on: item)
-    }
-}

+ 0 - 32
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/ActionSheet/ActionSheetMargin.swift

@@ -1,32 +0,0 @@
-//
-//  ActionSheetMargin.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-02-22.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-import UIKit
-
-public enum ActionSheetMargin {
-    
-    case top, left, right, bottom
-    
-    func value(in view: UIView) -> CGFloat {
-        if #available(iOS 11.0, *) {
-            let insets = view.safeAreaInsets
-            switch self {
-            case .top: return insets.top
-            case .left: return insets.left
-            case .right: return insets.right
-            case .bottom: return insets.bottom
-            }
-        } else {
-            return 0
-        }
-    }
-    
-    func value(in view: UIView, minimum: CGFloat) -> CGFloat {
-        return max(value(in: view), minimum)
-    }
-}

+ 0 - 23
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/NSObject+ClassName.swift

@@ -1,23 +0,0 @@
-//
-//  NSObject+ClassName.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-24.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-//  This file contains internal util functions for resolving
-//  the class name of classes and class instances.
-
-import UIKit
-
-extension NSObject {
-    
-    static var className: String {
-        return String(describing: self)
-    }
-    
-    var className: String {
-        return type(of: self).className
-    }
-}

+ 0 - 19
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIView+Nib.swift

@@ -1,19 +0,0 @@
-//
-//  UIView+Nib.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-10-17.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-//  This file contains internal util functions for resolving
-//  the default nib of a certain view instance.
-
-import UIKit
-
-extension UIView {
-    
-    static var defaultNib: UINib {
-        return UINib(nibName: className, bundle: bundle)
-    }
-}

+ 0 - 24
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIView+Subviews.swift

@@ -1,24 +0,0 @@
-//
-//  UIView+Subviews.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-10-17.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-//  This file contains an internal function that can be used
-//  to add subviews in a way that lets them fill the parent.
-
-import UIKit
-
-extension UIView {
-    
-    func addSubviewToFill(_ subview: UIView) {
-        subview.translatesAutoresizingMaskIntoConstraints = false
-        addSubview(subview)
-        subview.topAnchor.constraint(equalTo: topAnchor).isActive = true
-        subview.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
-        subview.rightAnchor.constraint(equalTo: rightAnchor).isActive = true
-        subview.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
-    }
-}

+ 0 - 19
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Extensions/UIViewController+RootViewController.swift

@@ -1,19 +0,0 @@
-//
-//  UIViewController+RootViewController.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-12-01.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-//  This file contains internal util functions for resolving
-//  the root view controller for the current app.
-
-import UIKit
-
-extension UIViewController {
-
-    var rootViewController: UIViewController {
-        return parent?.rootViewController ?? self
-    }
-}

+ 0 - 185
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/ActionSheetItem.swift

@@ -1,185 +0,0 @@
-//
-//  ActionSheetItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-24.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This class represents a regular action sheet item, like the
- one used in UIAlertController. It has a title as well as an
- optional subtitle, value and image. All other items inherit
- this class, even if they don't make use of these properties.
- 
- 
- ## Subclassing
- 
- You can subclass any item class and customize it in any way
- you need. If you need your subclass to use a different cell,
- just override `cell(for:)` to return the cell you need.
- 
- 
- ## Appearance
- 
- Customizing the appearance of the various action sheet item
- types in Sheeeeeeeeet (as well as of your own custom items),
- is mainly done using the iOS appearance proxy for each item
- cell type. For instance, to change the title text color for
- all `ActionSheetSelectItem` instances (including subclasses),
- type `ActionSheetSelectItem.appearance().titleColor`. It is
- also possible to set these properties for each item as well.
- 
- While most appearance is modified on a cell level, some are
- not. For instance, some views in `Views` have apperances of
- their own (e.g. `ActionSheetHeaderView.cornerRadius`). This
- means that you can change more than cell appearance. Have a
- look at the readme for more info on what you can customize.
- 
- Action sheet insets, margins and widths are not part of the
- appearance model, but have to be changed for each sheet. If
- you want to change these values for each sheet in youer app,
- I recommend subclassing `ActionSheet` and set these values.
- 
- Neither item heights are part of the appearance model. Item
- heights are instead changed by setting the static height of
- each item type, e.g. `ActionSheetTitleItem.height = 20`. It
- is not part of the cell appearance model since an item must
- know about the height before it creates any cells.
- 
- 
- ## Tap behavior
- 
- The default tap behavior of action sheet items is "dismiss",
- which means that the action sheet will dismiss itself after
- handling the item tap. Set `tapBehavior` to `.none`, if you
- don't want the action sheet to be dismissed when an item is
- tapped. Some item types uses `.none` by default.
- 
- */
-
-import UIKit
-
-open class ActionSheetItem: NSObject {
-
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "appearance will be removed in 1.4.0. Use the new appearance model instead.")
-    public lazy internal(set) var appearance = ActionSheetItemAppearance(copy: ActionSheetAppearance.standard.item)
-    @available(*, deprecated, message: "customAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    public var customAppearance: ActionSheetItemAppearance?
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open func applyAppearance(_ appearance: ActionSheetAppearance) { self.appearance = customAppearance ?? ActionSheetItemAppearance(copy: appearance.item) }
-    @available(*, deprecated, message: "applyAppearance(to:) will be removed in 1.4.0. Use the new appearance model instead.")
-    open func applyAppearance(to cell: UITableViewCell) { applyLegacyAppearance(to: cell) }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(
-        title: String,
-        subtitle: String? = nil,
-        value: Any? = nil,
-        image: UIImage? = nil,
-        tapBehavior: TapBehavior = .dismiss) {
-        self.title = title
-        self.subtitle = subtitle
-        self.value = value
-        self.image = image
-        self.tapBehavior = tapBehavior
-        self.cellStyle = subtitle == nil ? .default : .value1
-        super.init()
-    }
-    
-    
-    // MARK: - Enums
-    
-    public enum TapBehavior {
-        case dismiss, none
-    }
-
-
-    // MARK: - Properties
-    
-    public var image: UIImage?
-    public var subtitle: String?
-    public var tapBehavior: TapBehavior
-    public var title: String
-    public var value: Any?
-    
-    public var cellReuseIdentifier: String { return className }
-    public var cellStyle: UITableViewCell.CellStyle
-    
-    
-    // MARK: - Height Logic
-    
-    private static var heights = [String: CGFloat]()
-    
-    public static var height: CGFloat {
-        get { return heights[className] ?? 50 }
-        set { heights[className] = newValue }
-    }
-    
-    public var height: CGFloat {
-        return type(of: self).height
-    }
-    
-    
-    // MARK: - Functions
-    
-    open func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-    
-    open func handleTap(in actionSheet: ActionSheet) {}
-}
-
-
-// MARK: -
-
-open class ActionSheetItemCell: UITableViewCell {
-    
-    
-    // MARK: - Layout
-    
-    open override func didMoveToWindow() {
-        super.didMoveToWindow()
-        refresh()
-    }
-    
-    
-    // MARK: - Appearance Properties
-    
-    @objc public dynamic var titleColor: UIColor?
-    @objc public dynamic var titleFont: UIFont?
-    @objc public dynamic var subtitleColor: UIColor?
-    @objc public dynamic var subtitleFont: UIFont?
-    
-    
-    // MARK: - Private Properties
-    
-    public private(set) weak var item: ActionSheetItem?
-    
-    
-    // MARK: - Functions
-    
-    open func refresh() {
-        guard let item = item else { return }
-        imageView?.image = item.image
-        selectionStyle = item.tapBehavior == .none ? .none : .default
-        textLabel?.font = titleFont
-        textLabel?.text = item.title
-        textLabel?.textAlignment = .left
-        textLabel?.textColor = titleColor
-        detailTextLabel?.font = subtitleFont
-        detailTextLabel?.text = item.subtitle
-        detailTextLabel?.textColor = subtitleColor
-    }
-    
-    func refresh(with item: ActionSheetItem) {
-        self.item = item
-        refresh()
-    }
-}

+ 0 - 78
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetButton.swift

@@ -1,78 +0,0 @@
-//
-//  ActionSheetButton.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This class is a base class for all action sheet buttons. It
- is not intended to be used directly. Instead, use the built
- in buttons or subclass it to create your own buttons.
- 
- */
-
-import UIKit
-
-open class ActionSheetButton: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = customAppearance ?? ActionSheetButtonAppearance(copy: appearance.okButton)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String, value: Any?) {
-        super.init(title: title, value: value)
-    }
-    
-    public init(title: String, type: ButtonType) {
-        super.init(title: title, value: type)
-    }
-    
-    
-    // MARK: - Values
-    
-    public enum ButtonType {
-        case ok, cancel
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetButtonCell(style: .default, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetButtonCell: ActionSheetItemCell {
-    
-    open override func refresh() {
-        super.refresh()
-        textLabel?.textAlignment = .center
-    }
-}
-
-
-// MARK: - Button Extensions
-
-public extension ActionSheetItem {
-    
-    var isOkButton: Bool {
-        return value as? ActionSheetButton.ButtonType == .ok
-    }
-    
-    var isCancelButton: Bool {
-        return value as? ActionSheetButton.ButtonType == .cancel
-    }
-}

+ 0 - 48
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetCancelButton.swift

@@ -1,48 +0,0 @@
-//
-//  ActionSheetCancelButton.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Cancel buttons have no special behavior, but can be used in
- sheets where a user applies changes by tapping an OK button.
- 
- The value of a cancel button is `.cancel`.
- 
- */
-
-import UIKit
-
-open class ActionSheetCancelButton: ActionSheetButton {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = customAppearance ?? ActionSheetCancelButtonAppearance(copy: appearance.cancelButton)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String) {
-        super.init(title: title, type: .cancel)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetCancelButtonCell(style: .default, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: - 
-
-open class ActionSheetCancelButtonCell: ActionSheetButtonCell {}

+ 0 - 43
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetDangerButton.swift

@@ -1,43 +0,0 @@
-//
-//  ActionSheetDangerButton.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-27.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Danger buttons have no special behavior, but can be used to
- indicate that the effect of the action sheet is destructive.
- They should be styled as "dangerous" (e.g. red text), using
- the appearance proxy.
- 
- The value of a danger button is `.ok`.
- 
- */
-
-import UIKit
-
-open class ActionSheetDangerButton: ActionSheetOkButton {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = customAppearance ?? ActionSheetDangerButtonAppearance(copy: appearance.dangerButton)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetDangerButtonCell(style: .default, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetDangerButtonCell: ActionSheetButtonCell {}

+ 0 - 48
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Buttons/ActionSheetOkButton.swift

@@ -1,48 +0,0 @@
-//
-//  ActionSheetOkButton.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- OK buttons have no special behavior, but can be used when a
- user should apply action sheet changes by tapping a button.
- 
- The value of an OK button is `.ok`.
- 
- */
-
-import UIKit
-
-open class ActionSheetOkButton: ActionSheetButton {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = customAppearance ?? ActionSheetOkButtonAppearance(copy: appearance.okButton)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String) {
-        super.init(title: title, type: .ok)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetOkButtonCell(style: .default, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: - 
-
-open class ActionSheetOkButtonCell: ActionSheetButtonCell {}

+ 0 - 174
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetCollectionItem.swift

@@ -1,174 +0,0 @@
-//
-//  ActionSheetCollectionItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Jonas Ullström (ullstrm) on 2018-03-01.
-//  Copyright © 2018 Jonas Ullström. All rights reserved.
-//
-
-/*
- 
- Collection items can be used to present item collections in
- a collection view, using cell types that you define in your
- project and implement `ActionSheetCollectionItemContentCell`.
- The cell `.xib` should have the same name as the cell class.
- 
- This class will dequeue a different cell type than standard
- action sheet items. If you look at `cell(for: ...)`, you'll
- see that it uses `ActionSheetCollectionItemCell` for its id.
- 
- TODO: Unit test
- 
- */
-
-import Foundation
-
-open class ActionSheetCollectionItem<T: ActionSheetCollectionItemContentCell>: ActionSheetItem, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetCollectionItemAppearance(copy: appearance.collectionItem)
-        self.appearance.height = T.defaultSize.height + T.topInset + T.bottomInset + 0.5
-    }
-    @available(*, deprecated, message: "applyAppearance(to:) will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(to cell: UITableViewCell) {
-        super.applyAppearance(to: cell)
-        guard let itemCell = cell as? ActionSheetCollectionItemCell else { return }
-        itemCell.setup(withNib: T.nib, owner: self)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(
-        itemCellType: T.Type,
-        itemCount: Int,
-        setupAction: @escaping CellAction,
-        selectionAction: @escaping CellAction) {
-        self.itemCellType = itemCellType
-        self.itemCount = itemCount
-        self.setupAction = setupAction
-        self.selectionAction = selectionAction
-        super.init(title: "")
-    }
-    
-    
-    // MARK: - Typealiases
-    
-    public typealias CellAction = (_ cell: T, _ index: Int) -> ()
-    
-    
-    // MARK: - Properties
-    
-    public override var height: CGFloat { return T.defaultSize.height }
-    public let itemCellType: T.Type
-    public let itemCount: Int
-    public private(set) var selectionAction: CellAction
-    public let setupAction: CellAction
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        tableView.register(ActionSheetCollectionItemCell.nib, forCellReuseIdentifier: cellReuseIdentifier)
-        let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier)
-        guard let typedCell = cell as? ActionSheetCollectionItemCell else { fatalError("Invalid cell type created by superclass") }
-        return typedCell
-    }
-    
-    open func extendSelectionAction(toReload actionSheet: ActionSheet) {
-        extendSelectionAction { _, _ in
-            actionSheet.reloadData()
-        }
-    }
-    
-    open func extendSelectionAction(with action: @escaping CellAction) {
-        let currentSelectionAction = selectionAction
-        selectionAction = { cell, index in
-            currentSelectionAction(cell, index)
-            action(cell, index)
-        }
-    }
-    
-    
-    // MARK: - UICollectionViewDataSource
-    
-    open func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
-        return itemCount
-    }
-    
-    open func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
-        let id = ActionSheetCollectionItemCell.itemCellIdentifier
-        let dequeued = collectionView.dequeueReusableCell(withReuseIdentifier: id, for: indexPath)
-        guard let cell = dequeued as? T else { return UICollectionViewCell() }
-        setupAction(cell, indexPath.row)
-        return cell
-    }
-    
-    
-    // MARK: - UICollectionViewDelegate
-    
-    open func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
-        guard let cell = collectionView.cellForItem(at: indexPath) as? T else { return }
-        selectionAction(cell, indexPath.row)
-    }
-    
-    
-    // MARK: - FlowLayout delegate
-    
-    open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
-        return T.defaultSize
-    }
-    
-    open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
-        return UIEdgeInsets(top: T.topInset, left: T.leftInset, bottom: T.bottomInset, right: T.rightInset)
-    }
-    
-    open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
-        return T.itemSpacing
-    }
-    
-    open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
-        return 0
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetCollectionItemCell: ActionSheetItemCell {
-    
-    
-    // MARK: - Properties
-    
-    static let itemCellIdentifier = ActionSheetCollectionItemCell.className
-    
-    static let nib = ActionSheetCollectionItemCell.defaultNib
-    
-    
-    // MARK: - Outlets
-    
-    @IBOutlet weak var collectionView: UICollectionView! {
-        didSet {
-            let flow = UICollectionViewFlowLayout()
-            flow.scrollDirection = .horizontal
-            collectionView.collectionViewLayout = flow
-        }
-    }
-    
-    
-    // MARK: - Functions
-    
-    func setup(withNib nib: UINib, owner: UICollectionViewDataSource & UICollectionViewDelegate) {
-        let id = ActionSheetCollectionItemCell.itemCellIdentifier
-        collectionView.contentInset = .zero
-        collectionView.register(nib, forCellWithReuseIdentifier: id)
-        collectionView.dataSource = owner
-        collectionView.delegate = owner
-        collectionView.reloadData()
-    }
-}

+ 0 - 78
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetCustomItem.swift

@@ -1,78 +0,0 @@
-//
-//  ActionSheetCustomViewItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-10-08.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Custom items can be used to present any views in your sheet.
- It can use any view that inherits `ActionSheetItemCell` and
- implements `ActionSheetCustomItemCell`.
- 
- TODO: Unit test
- 
- */
-
-import UIKit
-
-public class ActionSheetCustomItem<T: ActionSheetCustomItemCell>: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    public override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetCustomItemAppearance(copy: appearance.customItem)
-        self.appearance.height = T.defaultSize.height
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(cellType: T.Type, setupAction: @escaping SetupAction) {
-        self.cellType = cellType
-        self.setupAction = setupAction
-        super.init(
-            title: "",
-            subtitle: nil,
-            value: nil,
-            image: nil,
-            tapBehavior: .none)
-    }
-    
-    
-    // MARK: - Typealiases
-    
-    public typealias SetupAction = (_ cell: T) -> ()
-    
-    
-    // MARK: - Properties
-    
-    public override var height: CGFloat { return T.defaultSize.height }
-    public let cellType: T.Type
-    public let setupAction: SetupAction
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        tableView.register(T.nib, forCellReuseIdentifier: cellReuseIdentifier)
-        let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier)
-        guard let typedCell = cell as? T else { fatalError("Invalid cell type created by superclass") }
-        setupAction(typedCell)
-        return typedCell
-    }
-}
-
-
-// MARK: -
-
-public protocol ActionSheetCustomItemCell where Self: ActionSheetItemCell {
-    
-    static var nib: UINib { get }
-    static var defaultSize: CGSize { get }
-}

+ 0 - 56
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetLinkItem.swift

@@ -1,56 +0,0 @@
-//
-//  ActionSheetLinkItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Link items can be used when tapping them will take the user
- somewhere, e.g. to another view controller or a web site.
- 
- */
-
-import UIKit
-
-open class ActionSheetLinkItem: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "linkAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open var linkAppearance: ActionSheetLinkItemAppearance? {
-        return appearance as? ActionSheetLinkItemAppearance
-    }
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetLinkItemAppearance(copy: appearance.linkItem)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetLinkItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-open class ActionSheetLinkItemCell: ActionSheetItemCell {
-    
-    
-    // MARK: - Appearance Properties
-    
-    @objc public dynamic var linkIcon: UIImage?
-    
-    
-    // MARK: - Functions
-    
-    open override func refresh() {
-        super.refresh()
-        accessoryView = UIImageView(image: linkIcon)
-    }
-}

+ 0 - 75
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetMultiSelectItem.swift

@@ -1,75 +0,0 @@
-//
-//  ActionSheetMultiSelectItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-03-31.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- `ActionSheetMultiSelectItem` should be used whenever a user
- should be able to select one or several items in a sheet. A
- multi select item will not affect other items, and will not
- dismiss the sheet.
- 
- Multi-select items can be used in combination with a toggle
- item (`ActionSheetMultiSelectToggleItem`), which can toggle
- the selected state of all items in the same group.
- 
- A multi-select item does not dismiss the sheet, since users
- will most probably be in a context where a change should be
- applied with an OK button.
- 
- */
-
-import UIKit
-
-open class ActionSheetMultiSelectItem: ActionSheetSelectItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetMultiSelectItemAppearance(copy: appearance.multiSelectItem)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(
-        title: String,
-        subtitle: String? = nil,
-        isSelected: Bool,
-        group: String = "",
-        value: Any? = nil,
-        image: UIImage? = nil) {
-        super.init(
-            title: title,
-            subtitle: subtitle,
-            isSelected: isSelected,
-            group: group,
-            value: value,
-            image: image,
-            tapBehavior: .none)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetMultiSelectItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-    
-    open override func handleTap(in actionSheet: ActionSheet) {
-        super.handleTap(in: actionSheet)
-        let toggleItems = actionSheet.items.compactMap { $0 as? ActionSheetMultiSelectToggleItem }
-        let items = toggleItems.filter { $0.group == group }
-        items.forEach { $0.updateState(for: actionSheet) }
-    }
-}
-
-
-open class ActionSheetMultiSelectItemCell: ActionSheetSelectItemCell {}

+ 0 - 113
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetMultiSelectToggleItem.swift

@@ -1,113 +0,0 @@
-//
-//  ActionSheetMultiSelectToggleItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-03-31.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Multi-select toggle items can be used together with a group
- of `ActionSheetMultiSelectItem`s. When tapped, it will make
- all multi-select items in the same group select/deselect.
- 
- Since this item must know about the multi-select items when
- setting its select/deselect title text, you must provide it
- with an initial `State` when creating it. After that, it is
- able to update itself whenever it is tapped.
- 
- */
-
-import UIKit
-
-open class ActionSheetMultiSelectToggleItem: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetMultiSelectToggleItemAppearance(copy: appearance.multiSelectToggleItem)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String, state: State, group: String, selectAllTitle: String, deselectAllTitle: String) {
-        self.group = group
-        self.state = state
-        self.deselectAllTitle = deselectAllTitle
-        self.selectAllTitle = selectAllTitle
-        super.init(title: title, tapBehavior: .none)
-        cellStyle = .value1
-    }
-    
-    
-    // MARK: - State
-    
-    public enum State {
-        case selectAll, deselectAll
-    }
-    
-    
-    // MARK: - Properties
-    
-    open var deselectAllTitle: String
-    open var group: String
-    open var selectAllTitle: String
-    open var state: State
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetMultiSelectToggleItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-    
-    open override func handleTap(in actionSheet: ActionSheet) {
-        super.handleTap(in: actionSheet)
-        let selectItems = actionSheet.items.compactMap { $0 as? ActionSheetMultiSelectItem }
-        let items = selectItems.filter { $0.group == group }
-        let shouldSelectAll = items.contains { !$0.isSelected }
-        items.forEach { $0.isSelected = shouldSelectAll ? true : false }
-        updateState(for: actionSheet)
-    }
-    
-    open func updateState(for actionSheet: ActionSheet) {
-        let selectItems = actionSheet.items.compactMap { $0 as? ActionSheetMultiSelectItem }
-        let items = selectItems.filter { $0.group == group }
-        guard items.count > 0 else { return state = .selectAll }
-        state = items.contains { !$0.isSelected } ? .selectAll : .deselectAll
-    }
-}
-
-
-// MARK: - 
-
-open class ActionSheetMultiSelectToggleItemCell: ActionSheetItemCell {
-    
-    
-    // MARK: - Appearance Properties
-    
-    @objc public dynamic var deselectAllImage: UIColor?
-    @objc public dynamic var deselectAllSubtitleColor: UIColor?
-    @objc public dynamic var deselectAllTitleColor: UIColor?
-    @objc public dynamic var selectAllImage: UIColor?
-    @objc public dynamic var selectAllSubtitleColor: UIColor?
-    @objc public dynamic var selectAllTitleColor: UIColor?
-    
-    
-    // MARK: - Public Functions
-    
-    open override func refresh() {
-        super.refresh()
-        guard let item = item as? ActionSheetMultiSelectToggleItem else { return }
-        let isSelectAll = item.state == .selectAll
-        item.subtitle = isSelectAll ? item.selectAllTitle : item.deselectAllTitle
-        titleColor = isSelectAll ? selectAllTitleColor : deselectAllTitleColor
-        subtitleColor = isSelectAll ? selectAllSubtitleColor : deselectAllSubtitleColor
-        super.refresh()
-    }
-}

+ 0 - 152
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetSelectItem.swift

@@ -1,152 +0,0 @@
-//
-//  ActionSheetSelectItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Select items are used to let the user select one or several
- items in an action sheet. Unlike the `ActionSheetItem` type,
- this type has an `isSelected` state, a selected icon and an
- extended appearance.
- 
- This item type is not meant to be used directly. However, a
- `selectItem` appearance property is still available, so you
- can style single and multiselect items in a single way.
- 
- Instead of this type, you should use any of its subclasses:
- 
- * `ActionSheetSingleSelectItem`
- * `ActionSheetMultiSelectItem`
- 
- */
-
-import UIKit
-
-open class ActionSheetSelectItem: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetSelectItemAppearance(copy: appearance.selectItem)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(
-        title: String,
-        subtitle: String? = nil,
-        isSelected: Bool,
-        group: String = "",
-        value: Any? = nil,
-        image: UIImage? = nil,
-        tapBehavior: TapBehavior = .dismiss) {
-        self.isSelected = isSelected
-        self.group = group
-        super.init(
-            title: title,
-            subtitle: subtitle,
-            value: value,
-            image: image,
-            tapBehavior: tapBehavior)
-    }
-    
-    
-    // MARK: - Properties
-    
-    open var group: String
-    open var isSelected: Bool
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetSelectItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-    
-    open override func handleTap(in actionSheet: ActionSheet) {
-        super.handleTap(in: actionSheet)
-        isSelected = !isSelected
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetSelectItemCell: ActionSheetItemCell {
-    
-    
-    // MARK: - Appearance Properties
-    
-    @objc public dynamic var selectedIcon: UIImage?
-    @objc public dynamic var selectedIconColor: UIColor?
-    @objc public dynamic var selectedSubtitleColor: UIColor?
-    @objc public dynamic var selectedSubtitleFont: UIFont?
-    @objc public dynamic var selectedTitleColor: UIColor?
-    @objc public dynamic var selectedTitleFont: UIFont?
-    @objc public dynamic var selectedTintColor: UIColor?
-    @objc public dynamic var unselectedIcon: UIImage?
-    @objc public dynamic var unselectedIconColor: UIColor?
-    
-    
-    // MARK: - Functions
-    
-    open override func refresh() {
-        super.refresh()
-        guard let item = item as? ActionSheetSelectItem else { return }
-        applyAccessoryView(for: item)
-        applyAccessoryViewColor(for: item)
-        applySubtitleColor(for: item)
-        applySubtitleFont(for: item)
-        applyTintColor(for: item)
-        applyTitleColor(for: item)
-        applyTitleFont(for: item)
-    }
-}
-
-
-private extension ActionSheetSelectItemCell {
-    
-    func applyAccessoryView(for item: ActionSheetSelectItem) {
-        guard let image = item.isSelected ? selectedIcon : unselectedIcon else { return }
-        accessoryView = UIImageView(image: image)
-    }
-    
-    func applyAccessoryViewColor(for item: ActionSheetSelectItem) {
-        guard let color = item.isSelected ? selectedIconColor : unselectedIconColor else { return }
-        accessoryView?.tintColor = color
-    }
-    
-    func applySubtitleColor(for item: ActionSheetSelectItem) {
-        guard let color = item.isSelected ? selectedSubtitleColor : subtitleColor else { return }
-        detailTextLabel?.textColor = color
-    }
-    
-    func applySubtitleFont(for item: ActionSheetSelectItem) {
-        guard let font = item.isSelected ? selectedSubtitleFont : subtitleFont else { return }
-        detailTextLabel?.font = font
-    }
-    
-    func applyTintColor(for item: ActionSheetSelectItem) {
-        let defaultTint = type(of: self).appearance().tintColor
-        guard let color = item.isSelected ? selectedTintColor : defaultTint else { return }
-        tintColor = color
-    }
-    
-    func applyTitleColor(for item: ActionSheetSelectItem) {
-        guard let color = item.isSelected ? selectedTitleColor : titleColor else { return }
-        textLabel?.textColor = color
-    }
-    
-    func applyTitleFont(for item: ActionSheetSelectItem) {
-        guard let font = item.isSelected ? selectedTitleFont : titleFont else { return }
-        textLabel?.font = font
-    }
-}

+ 0 - 53
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Items/ActionSheetSingleSelectItem.swift

@@ -1,53 +0,0 @@
-//
-//  ActionSheetSingleSelectItem.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2018-03-12.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- `ActionSheetSingleSelectItem` should be used whenever users
- should only be able to select a single item in a sheet or a
- group. It automatically deselects other single select items
- in the same group. You can have several groups in one sheet.
- 
- A single select item will dismiss the sheet when tapped. To
- change this behavior, set `tapBehavior` to `.none`.
- 
- */
-
-import UIKit
-
-open class ActionSheetSingleSelectItem: ActionSheetSelectItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        super.applyAppearance(appearance)
-        self.appearance = ActionSheetSingleSelectItemAppearance(copy: appearance.singleSelectItem)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetSingleSelectItemCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-    
-    open override func handleTap(in actionSheet: ActionSheet) {
-        super.handleTap(in: actionSheet)
-        let items = actionSheet.items.compactMap { $0 as? ActionSheetSingleSelectItem }
-        let deselectItems = items.filter { $0.group == group }
-        deselectItems.forEach { $0.isSelected = false }
-        isSelected = true
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetSingleSelectItemCell: ActionSheetSelectItemCell {}

+ 0 - 47
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetSectionMargin.swift

@@ -1,47 +0,0 @@
-//
-//  ActionSheetSectionMargin.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-27.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Section margins items can be used to add additional spacing
- before new sections. They are not selectable, but will send
- a tap event to the action sheet in which they are used.
- 
- */
-
-import UIKit
-
-open class ActionSheetSectionMargin: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = ActionSheetSectionMarginAppearance(copy: appearance.sectionMargin)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init() {
-        super.init(title: "", tapBehavior: .none)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetSectionMarginCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetSectionMarginCell: ActionSheetItemCell {}

+ 0 - 51
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetSectionTitle.swift

@@ -1,51 +0,0 @@
-//
-//  ActionSheetSectionTitle.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Section title items can be used to segment action sheets in
- sections. They serve no purpose beyond to visually indicate
- that certain items belong together. A section item can have
- a title and a subtitle.
- 
- To add additional space above a section title, make sure to
- add a `ActionSheetSectionMargin` before the section title.
- 
- */
-
-import UIKit
-
-open class ActionSheetSectionTitle: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = ActionSheetSectionTitleAppearance(copy: appearance.sectionTitle)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String, subtitle: String? = nil) {
-        super.init(title: title, subtitle: subtitle, tapBehavior: .none)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetSectionTitleCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetSectionTitleCell: ActionSheetItemCell {}

+ 0 - 53
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Items/Titles/ActionSheetTitle.swift

@@ -1,53 +0,0 @@
-//
-//  ActionSheetTitle.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-26.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Title items can be used to add main titles to action sheets.
- They are not selectable, but will still send a tap event to
- the action sheet in which they are used.
- 
- */
-
-import UIKit
-
-open class ActionSheetTitle: ActionSheetItem {
-    
-    
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    @available(*, deprecated, message: "applyAppearance will be removed in 1.4.0. Use the new appearance model instead.")
-    open override func applyAppearance(_ appearance: ActionSheetAppearance) {
-        self.appearance = ActionSheetTitleAppearance(copy: appearance.title)
-    }
-    // MARK: - Deprecated - Remove in 1.4.0 ****************
-    
-    
-    // MARK: - Initialization
-    
-    public init(title: String) {
-        super.init(title: title, tapBehavior: .none)
-    }
-    
-    
-    // MARK: - Functions
-    
-    open override func cell(for tableView: UITableView) -> ActionSheetItemCell {
-        return ActionSheetTitleCell(style: cellStyle, reuseIdentifier: cellReuseIdentifier)
-    }
-}
-
-
-// MARK: -
-
-open class ActionSheetTitleCell: ActionSheetItemCell {
-    
-    open override func refresh() {
-        super.refresh()
-        textLabel?.textAlignment = .center
-    }
-}

+ 0 - 108
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetPopoverPresenter.swift

@@ -1,108 +0,0 @@
-//
-//  ActionSheetPopoverPresenter.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-24.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This presenter presents action sheets in a popover, just as
- regular UIAlertControllers are displayed on an iPad.
- 
- Since popovers have an arrow that should use the same color
- as the rest of the popover view, this presenter will remove
- any header view and combine items and buttons into a single
- item section.
- 
- */
-
-import UIKit
-
-open class ActionSheetPopoverPresenter: NSObject, ActionSheetPresenter {
-    
-    
-    // MARK: - Properties
-    
-    open var events = ActionSheetPresenterEvents()
-    open var isDismissableWithTapOnBackground = true
-    
-    var actionSheet: ActionSheet?
-    weak var popover: UIPopoverPresentationController?
-    
-    
-    // MARK: - ActionSheetPresenter
-    
-    public func dismiss(completion: @escaping () -> ()) {
-        let dismissAction = { completion();  self.actionSheet = nil }
-        let vc = actionSheet?.presentingViewController
-        vc?.dismiss(animated: true) { dismissAction() } ?? dismissAction()
-    }
-    
-    open func present(sheet: ActionSheet, in vc: UIViewController, from view: UIView?, completion: @escaping () -> ()) {
-        setupSheetForPresentation(sheet)
-        popover = self.popover(for: sheet, in: vc)
-        popover?.sourceView = view
-        popover?.sourceRect = view?.bounds ?? CGRect()
-        vc.present(sheet, animated: true, completion: completion)
-    }
-    
-    open func present(sheet: ActionSheet, in vc: UIViewController, from item: UIBarButtonItem, completion: @escaping () -> ()) {
-        setupSheetForPresentation(sheet)
-        popover = self.popover(for: sheet, in: vc)
-        popover?.barButtonItem = item
-        vc.present(sheet, animated: true, completion: completion)
-    }
-    
-    open func refreshActionSheet() {
-        guard let sheet = actionSheet else { return }
-        sheet.headerViewContainer?.isHidden = true
-        sheet.buttonsTableView?.isHidden = true
-        sheet.preferredContentSize.height = sheet.itemsHeight
-        popover?.backgroundColor = sheet.itemsTableView?.backgroundColor
-    }
-}
-
-
-// MARK: - UIPopoverPresentationControllerDelegate
-
-extension ActionSheetPopoverPresenter: UIPopoverPresentationControllerDelegate {
-    
-    public func popoverPresentationControllerShouldDismissPopover(_ controller: UIPopoverPresentationController) -> Bool {
-        guard isDismissableWithTapOnBackground else { return false }
-        events.didDismissWithBackgroundTap?()
-        dismiss {}
-        return false
-    }
-}
-
-
-// MARK: - Internal Functions
-
-extension ActionSheetPopoverPresenter {
-    
-    func popover(for sheet: ActionSheet, in vc: UIViewController) -> UIPopoverPresentationController? {
-        let popover = sheet.popoverPresentationController
-        popover?.delegate = self
-        return popover
-    }
-    
-    func setupSheetForPresentation(_ sheet: ActionSheet) {
-        self.actionSheet = sheet
-        sheet.items = popoverItems(for: sheet)
-        sheet.buttons = []
-        sheet.modalPresentationStyle = .popover
-    }
-}
-
-
-// MARK: - Private Functions
-
-private extension ActionSheetPopoverPresenter {
-    
-    func popoverItems(for sheet: ActionSheet) -> [ActionSheetItem] {
-        let items: [ActionSheetItem] = sheet.items + sheet.buttons
-        return items.filter { !($0 is ActionSheetCancelButton) }
-    }
-}

+ 0 - 39
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetPresenter.swift

@@ -1,39 +0,0 @@
-//
-//  ActionSheetPresenter.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-18.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- Action sheet presenters are used to present and dismiss any
- action sheet in different ways, for instance with a default
- slide-in, showing the sheet in a popover etc.
- 
- Instead of a delegate, the presenter protocol uses an event
- property that has events that you can subscribe to, by just
- setting the action blocks in the event struct.
- 
- */
-
-import Foundation
-
-public struct ActionSheetPresenterEvents {
-    
-    public init() {}
-    
-    public var didDismissWithBackgroundTap: (() -> ())?
-}
-
-public protocol ActionSheetPresenter: AnyObject {
-    
-    var events: ActionSheetPresenterEvents { get set }
-    var isDismissableWithTapOnBackground: Bool { get set }
-    
-    func dismiss(completion: @escaping () -> ())
-    func present(sheet: ActionSheet, in vc: UIViewController, from view: UIView?, completion: @escaping () -> ())
-    func present(sheet: ActionSheet, in vc: UIViewController, from item: UIBarButtonItem, completion: @escaping () -> ())
-    func refreshActionSheet()
-}

+ 0 - 138
Carthage/Checkouts/Sheeeeeeeeet/Sheeeeeeeeet/Presenters/ActionSheetStandardPresenter.swift

@@ -1,138 +0,0 @@
-//
-//  ActionSheetStandardPresenter.swift
-//  Sheeeeeeeeet
-//
-//  Created by Daniel Saidi on 2017-11-27.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This presenter presents action sheets as regular iOS action
- sheets, which are presented with a slide-in from the bottom
- of the screen.
- 
- */
-
-import UIKit
-
-open class ActionSheetStandardPresenter: ActionSheetPresenter {
-    
-    
-    // MARK: - Initialization
-    
-    public init() {}
-    
-    
-    // MARK: - Properties
-    
-    public var events = ActionSheetPresenterEvents()
-    public var isDismissableWithTapOnBackground = true
-    
-    var actionSheet: ActionSheet?
-    var animationDelay: TimeInterval = 0
-    var animationDuration: TimeInterval = 0.3
-    
-    
-    // MARK: - ActionSheetPresenter
-    
-    open func dismiss(completion: @escaping () -> ()) {
-        completion()
-        removeBackgroundView()
-        removeActionSheet {
-            self.actionSheet?.view.removeFromSuperview()
-            self.actionSheet = nil
-        }
-    }
-    
-    open func present(sheet: ActionSheet, in vc: UIViewController, from view: UIView?, completion: @escaping () -> ()) {
-        present(sheet: sheet, in: vc, completion: completion)
-    }
-    
-    open func present(sheet: ActionSheet, in vc: UIViewController, from item: UIBarButtonItem, completion: @escaping () -> ()) {
-        present(sheet: sheet, in: vc, completion: completion)
-    }
-    
-    open func present(sheet: ActionSheet, in vc: UIViewController, completion: @escaping () -> ()) {
-        actionSheet = sheet
-        addActionSheetView(from: sheet, to: vc.view)
-        addBackgroundViewTapAction(to: sheet.backgroundView)
-        presentBackgroundView()
-        presentActionSheet(completion: completion)
-    }
-    
-    open func refreshActionSheet() {
-        guard let sheet = actionSheet else { return }
-        sheet.topMargin?.constant = sheet.margin(at: .top)
-        sheet.leftMargin?.constant = sheet.margin(at: .left)
-        sheet.rightMargin?.constant = sheet.margin(at: .right)
-        sheet.bottomMargin?.constant = sheet.margin(at: .bottom)
-    }
-    
-    
-    // MARK: - Protected Functions
-    
-    open func addActionSheetView(from sheet: ActionSheet, to view: UIView) {
-        sheet.view.frame = view.frame
-        view.addSubview(sheet.view)
-    }
-
-    open func addBackgroundViewTapAction(to view: UIView?) {
-        view?.isUserInteractionEnabled = true
-        let action = #selector(backgroundViewTapAction)
-        let tap = UITapGestureRecognizer(target: self, action: action)
-        view?.addGestureRecognizer(tap)
-    }
-    
-    open func animate(_ animation: @escaping () -> ()) {
-        animate(animation, completion: nil)
-    }
-    
-    open func animate(_ animation: @escaping () -> (), completion: (() -> ())?) {
-        guard animationDuration >= 0 else { return }
-        UIView.animate(
-            withDuration: animationDuration,
-            delay: animationDelay,
-            options: [.curveEaseOut],
-            animations: animation) { _ in completion?() }
-    }
-    
-    open func presentActionSheet(completion: @escaping () -> ()) {
-        guard let view = actionSheet?.stackView else { return }
-        let frame = view.frame
-        view.frame.origin.y += frame.height + 100
-        let animation = { view.frame = frame }
-        animate(animation, completion: completion)
-    }
-    
-    open func presentBackgroundView() {
-        guard let view = actionSheet?.backgroundView else { return }
-        view.alpha = 0
-        let animation = { view.alpha = 1 }
-        animate(animation)
-    }
-
-    open func removeActionSheet(completion: @escaping () -> ()) {
-        guard let view = actionSheet?.stackView else { return }
-        let animation = { view.frame.origin.y += view.frame.height + 100 }
-        animate(animation) { completion() }
-    }
-
-    open func removeBackgroundView() {
-        guard let view = actionSheet?.backgroundView else { return }
-        let animation = { view.alpha = 0 }
-        animate(animation)
-    }
-}
-
-
-// MARK: - Actions
-
-@objc public extension ActionSheetStandardPresenter {
-    
-    public func backgroundViewTapAction() {
-        guard isDismissableWithTapOnBackground else { return }
-        events.didDismissWithBackgroundTap?()
-        dismiss {}
-    }
-}

+ 0 - 112
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/AppDelegate+Appearance.swift

@@ -1,112 +0,0 @@
-//
-//  AppDelegate+Appearance.swift
-//  SheeeeeeeeetExample
-//
-//  Created by Daniel Saidi on 2018-10-08.
-//  Copyright © 2018 Daniel Saidi. All rights reserved.
-//
-
-/*
- 
- This extension isolates how the example app applies colors,
- fonts etc to the example action sheets.
- 
- */
-
-import UIKit
-import Sheeeeeeeeet
-
-extension AppDelegate {
-    
-    func applyAppearance() {
-        applyViewAppearances()
-        applyColors()
-        applyFonts()
-        applyHeights()
-        applyIcons()
-        applySelectItemAppearances()
-        applySeparatorInsets()
-        applyPopoverWidth()
-    }
-}
-
-
-private extension AppDelegate {
-    
-    func applyViewAppearances() {
-//        ActionSheetBackgroundView.appearance().backgroundColor = .purple
-        ActionSheetHeaderView.appearance().cornerRadius = 10
-        ActionSheetTableView.appearance().cornerRadius = 10
-//        ActionSheetTableView.appearance().separatorLineColor = .purple
-//        ActionSheetItemTableView.appearance().cornerRadius = 20
-//        ActionSheetTableView.appearance(whenContainedInInstancesOf: [MultiSelectActionSheet.self]).cornerRadius = 20
-    }
-    
-    func applyColors() {
-        ActionSheetItemCell.appearance().titleColor = .darkText
-        ActionSheetItemCell.appearance().subtitleColor = .exampleBlue
-        ActionSheetItemCell.appearance().tintColor = .darkText
-//        ActionSheetItemCell.appearance().separatorColor = .red
-//        ActionSheetItemCell.appearance().backgroundColor = red
-//        ActionSheetItemCell.appearance(whenContainedInInstancesOf: [ActionSheetItemTableView.self]).backgroundColor = .purple
-        ActionSheetOkButtonCell.appearance().titleColor = .darkGray
-        ActionSheetCancelButtonCell.appearance().titleColor = .lightGray
-        ActionSheetDangerButtonCell.appearance().titleColor = .examplePink
-    }
-    
-    func applyFonts() {
-        ActionSheetItemCell.appearance().titleFont = .robotoRegular(size: 17)
-        ActionSheetItemCell.appearance().subtitleFont = .robotoRegular(size: 14)
-        ActionSheetLinkItemCell.appearance().titleFont = .robotoRegular(size: 17)
-        ActionSheetMultiSelectToggleItemCell.appearance().titleFont = .robotoMedium(size: 13)
-        ActionSheetSectionTitleCell.appearance().titleFont = .robotoMedium(size: 13)
-        ActionSheetTitleCell.appearance().titleFont = .robotoMedium(size: 15)
-        ActionSheetOkButtonCell.appearance().titleFont = .robotoBlack(size: 17)
-        ActionSheetDangerButtonCell.appearance().titleFont = .robotoMedium(size: 17)
-        ActionSheetCancelButtonCell.appearance().titleFont = .robotoRegular(size: 17)
-    }
-    
-    func applyHeights() {
-        ActionSheetSectionTitle.height = 20
-        ActionSheetSectionMargin.height = 20
-    }
-    
-    func applyIcons() {
-        ActionSheetLinkItemCell.appearance().linkIcon = UIImage(named: "ic_arrow_right")
-    }
-    
-    func applySelectItemAppearances() {
-        ActionSheetSelectItemCell.appearance().selectedIcon = UIImage(named: "ic_checkmark")
-        ActionSheetSelectItemCell.appearance().unselectedIcon = UIImage(named: "ic_empty")
-        ActionSheetSelectItemCell.appearance().selectedTintColor = .exampleBlue
-        ActionSheetSelectItemCell.appearance().selectedTitleColor = .exampleGreen
-        ActionSheetSelectItemCell.appearance().selectedIconColor = .examplePurple
-        
-        ActionSheetSingleSelectItemCell.appearance().selectedTintColor = .exampleGreen
-        ActionSheetSingleSelectItemCell.appearance().selectedTitleFont = .robotoMedium(size: 35)
-        ActionSheetSingleSelectItemCell.appearance().selectedSubtitleFont = .robotoMedium(size: 25)
-        ActionSheetSingleSelectItemCell.appearance().selectedTitleColor = .examplePurple
-        ActionSheetSingleSelectItemCell.appearance().selectedIconColor = .exampleBlue
-        
-        ActionSheetMultiSelectItemCell.appearance().tintColor = UIColor.darkText.withAlphaComponent(0.4)
-        ActionSheetMultiSelectItemCell.appearance().titleColor = UIColor.darkText.withAlphaComponent(0.4)
-        ActionSheetMultiSelectItemCell.appearance().selectedTintColor = .examplePurple
-        ActionSheetMultiSelectItemCell.appearance().selectedTitleColor = .exampleBlue
-        ActionSheetMultiSelectItemCell.appearance().selectedIconColor = .exampleGreen
-        
-        ActionSheetMultiSelectToggleItemCell.appearance().selectAllSubtitleColor = .lightGray
-        ActionSheetMultiSelectToggleItemCell.appearance().deselectAllSubtitleColor = .exampleRed
-    }
-    
-    func applySeparatorInsets() {
-        ActionSheetItemCell.appearance().separatorInset = .zero
-        ActionSheetTitleCell.appearance().separatorInset = .hiddenSeparator
-        ActionSheetSectionTitleCell.appearance().separatorInset = .hiddenSeparator
-        ActionSheetSectionMarginCell.appearance().separatorInset = .hiddenSeparator
-        ActionSheetMultiSelectToggleItemCell.appearance().separatorInset = .hiddenSeparator
-    }
-    
-    func applyPopoverWidth() {
-//        ActionSheet.preferredPopoverWidth = 700
-    }
-}

+ 0 - 20
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/AppDelegate.swift

@@ -1,20 +0,0 @@
-//
-//  AppDelegate.swift
-//  SheeeeeeeeetExample
-//
-//  Created by Daniel Saidi on 2017-11-18.
-//  Copyright © 2017 Daniel Saidi. All rights reserved.
-//
-
-import UIKit
-import Sheeeeeeeeet
-
-@UIApplicationMain
-class AppDelegate: UIResponder, UIApplicationDelegate {
-    
-    var window: UIWindow?
-    
-    func applicationDidFinishLaunching(_ application: UIApplication) {
-        applyAppearance()
-    }
-}

+ 0 - 116
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,116 +0,0 @@
-{
-  "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-58.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-87.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-80.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-120.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-120.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-180.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "20x20",
-      "idiom" : "ipad",
-      "filename" : "Icon-20.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "20x20",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-29.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-58.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-40.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-80.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-76.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-152.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-167.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "1024x1024",
-      "idiom" : "ios-marketing",
-      "filename" : "Icon-1024.png",
-      "scale" : "1x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-1024.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-120.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-152.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-167.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-180.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-20.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-29.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-40.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-58.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-60.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-76.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-80.png


BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/AppIcon.appiconset/Icon-87.png


+ 0 - 6
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/Contents.json

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

+ 0 - 26
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/ic_account.imageset/Contents.json

@@ -1,26 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "ic_account_circle.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "ic_account_circle_2x.png",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "ic_account_circle_3x.png",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  },
-  "properties" : {
-    "template-rendering-intent" : "template"
-  }
-}

BIN
Carthage/Checkouts/Sheeeeeeeeet/SheeeeeeeeetExample/Assets/Assets.xcassets/ic_account.imageset/ic_account_circle.png


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików