From 8412ee369328d5b818261e82a2dbf497b217bd23 Mon Sep 17 00:00:00 2001 From: Ruben Nine Date: Tue, 13 Oct 2020 15:09:48 +0200 Subject: [PATCH] Adding support for Swift Package Manager. --- .gitignore | 10 +- .jazzy.yaml | 2 +- .swiftformat | 2 +- CHANGELOG.md | 6 + Cartfile | 3 - Cartfile.resolved | 3 - Demo/FilestackDemo.xcodeproj/project.pbxproj | 404 +---- .../xcschemes/FilestackDemo.xcscheme | 2 +- Filestack.podspec | 4 +- Filestack.xcodeproj/project.pbxproj | 1426 ++++++++--------- .../xcshareddata/xcschemes/Filestack.xcscheme | 12 +- .../xcshareddata/swiftpm/Package.resolved | 43 + FilestackTests/Info.plist | 22 - Package.resolved | 34 + Package.swift | 29 + README.md | 28 +- {Filestack => Sources/Filestack}/Filestack.h | 0 {Filestack => Sources/Filestack}/Info.plist | 0 .../Filestack}/Internal/Constants.swift | 0 .../Internal/Extensions/AVAsset+Export.swift | 0 .../Internal/Extensions/Array+SafeIndex.swift | 0 .../Internal/Extensions/Data+JSON.swift | 0 .../ImageEdition/CGPoint+Distance.swift | 0 .../ImageEdition/CGRect+Scale.swift | 0 .../UIImage+CIImageTransformations.swift | 0 .../ImageEdition/UIImage+Rect.swift | 0 .../ImageEdition/UIImage+Sanitize.swift | 0 ...PickerControllerImageURLExportPreset.swift | 0 .../Internal/Extensions/Math+Clamp.swift | 0 .../SessionManager+FilestackDefault.swift | 0 .../Internal/Extensions/String+UTI.swift | 0 .../UICollectionView+Reusable.swift | 0 .../Internal/Extensions/UIColor+Bundle.swift | 0 .../Extensions/UIColor+Predefined.swift | 0 .../Internal/Extensions/UIImage+Bundle.swift | 0 .../Internal/Extensions/UIImage+Export.swift | 0 .../Internal/Extensions/UIImage+HEIC.swift | 0 .../Internal/Extensions/UIImage+Resized.swift | 0 .../Internal/Extensions/UIImage+Write.swift | 2 +- .../Extensions/UIView+Constraints.swift | 0 .../Internal/Extensions/URL+Copy.swift | 0 .../Internal/Extensions/URL+IsDirectory.swift | 0 .../Internal/Extractors/URLExtractor.swift | 2 +- .../Extractors/UploadableExtractor.swift | 0 .../Formatters/DurationNumberFormatter.swift | 0 .../AssetURLExtractorOperation.swift | 2 +- .../Internal/Protocols/CloudRequest.swift | 0 .../Internal/Requests/FolderListRequest.swift | 0 .../Internal/Requests/LogoutRequest.swift | 0 .../Internal/Requests/PrefetchRequest.swift | 0 .../Internal/Requests/StoreRequest.swift | 0 .../Internal/Services/CloudService.swift | 0 .../Internal/TrackingProgress.swift | 0 .../Public/CompletionHandlers.swift | 0 .../Filestack}/Public/Enums/ClientError.swift | 0 .../Public/Enums/CloudProvider.swift | 0 .../Public/Enums/ImageURLExportPreset.swift | 0 .../Public/Extensions/Client+Deprecated.swift | 2 +- .../Public/Extensions/Client+ObjC.swift | 0 .../Filestack}/Public/Models/Client.swift | 0 .../Filestack}/Public/Models/Config.swift | 0 .../Public/Responses/CloudResponse.swift | 0 .../Public/Responses/FolderListResponse.swift | 0 .../Public/Responses/LogoutResponse.swift | 0 .../Public/Responses/PrefetchResponse.swift | 0 .../Public/Responses/StoreResponse.swift | 0 .../Resources/Colors.xcassets/Contents.json | 0 .../Contents.json | 0 .../Resources/Icons.xcassets/Contents.json | 0 .../clear-pattern.imageset/Contents.json | 0 .../clear-pattern.imageset/clear-pattern.png | Bin .../file.imageset/Contents.json | 0 .../Icons.xcassets/file.imageset/file.png | Bin .../Icons.xcassets/file.imageset/file@2x.png | Bin .../icon-box.imageset/Contents.json | 0 .../icon-box.imageset/icon-box.png | Bin .../icon-box.imageset/icon-box@2x.png | Bin .../icon-camera.imageset/Contents.json | 0 .../icon-camera.imageset/icon-camera.png | Bin .../icon-camera.imageset/icon-camera@2x.png | Bin .../icon-circle.imageset/Contents.json | 0 .../icon-circle.imageset/circle_icon.png | Bin .../icon-clouddrive.imageset/Contents.json | 0 .../icon-clouddrive.png | Bin .../icon-clouddrive@2x.png | Bin .../icon-crop.imageset/Contents.json | 0 .../icon-crop.imageset/crop_icon.png | Bin .../icon-customsource.imageset/Contents.json | 0 .../icon-customsource.png | Bin .../icon-customsource@2x.png | Bin .../icon-documents.imageset/Contents.json | 0 .../icon-documents.imageset/documents.png | Bin .../icon-documents.imageset/documents@2x.png | Bin .../icon-dropbox.imageset/Contents.json | 0 .../icon-dropbox.imageset/icon-dropbox.png | Bin .../icon-dropbox.imageset/icon-dropbox@2x.png | Bin .../icon-edit.imageset/Contents.json | 0 .../icon-edit.imageset/icon-pencil.png | Bin .../icon-facebook.imageset/Contents.json | 0 .../icon-facebook.imageset/icon-facebook.png | Bin .../icon-facebook@2x.png | Bin .../icon-file-image.imageset/Contents.json | 0 .../icon-file-image.imageset/icon-image.png | Bin .../icon-file-pdf.imageset/Contents.json | 0 .../icon-file-pdf.imageset/icon-file-pdf.png | Bin .../icon-file-unknown.imageset/Contents.json | 0 .../icon-file-unknown.png | Bin .../icon-file-video.imageset/Contents.json | 0 .../icon-video-camera.png | Bin .../icon-github.imageset/Contents.json | 0 .../icon-github.imageset/icon-github.png | Bin .../icon-github.imageset/icon-github@2x.png | Bin .../icon-gmail.imageset/Contents.json | 0 .../icon-gmail.imageset/icon-gmail.png | Bin .../icon-gmail.imageset/icon-gmail@2x.png | Bin .../icon-googledrive.imageset/Contents.json | 0 .../icon-googledrive.png | Bin .../icon-googledrive@2x.png | Bin .../icon-grid.imageset/Contents.json | 0 .../icon-grid.imageset/icon-grid.png | Bin .../icon-grid.imageset/icon-grid@2x.png | Bin .../icon-grid.imageset/icon-grid@3x.png | Bin .../icon-image.imageset/Contents.json | 0 .../icon-image.imageset/icon-image.png | Bin .../icon-instagram.imageset/Contents.json | 0 .../icon-instagram.png | Bin .../icon-instagram@2x.png | Bin .../icon-list.imageset/Contents.json | 0 .../icon-list.imageset/icon-list.png | Bin .../icon-list.imageset/icon-list@2x.png | Bin .../icon-list.imageset/icon-list@3x.png | Bin .../icon-logout.imageset/Contents.json | 0 .../icon-logout.imageset/icon-logout.png | Bin .../icon-logout.imageset/icon-logout@2x.png | Bin .../icon-logout.imageset/icon-logout@3x.png | Bin .../icon-onedrive.imageset/Contents.json | 0 .../icon-onedrive.imageset/icon-skydrive.png | Bin .../icon-skydrive@2x.png | Bin .../icon-photolibrary.imageset/Contents.json | 0 .../icon-albums.png | Bin .../icon-albums@2x.png | Bin .../icon-picasa.imageset/Contents.json | 0 .../icon-picasa.imageset/icon-picasa.png | Bin .../icon-picasa.imageset/icon-picasa@2x.png | Bin .../icon-redo.imageset/Contents.json | 0 .../icon-redo.imageset/redo_icon.png | Bin .../icon-rotate.imageset/Contents.json | 0 .../icon-rotate.imageset/rotate_icon.png | Bin .../icon-selected.imageset/Contents.json | 0 .../icon-selected.imageset/photoIcon-1.png | Bin .../icon-selected.imageset/photoIcon-2.png | Bin .../icon-selected.imageset/photoIcon.png | Bin .../icon-tick.imageset/Contents.json | 0 .../icon-tick.imageset/checkmark-solid.png | Bin .../icon-undo.imageset/Contents.json | 0 .../icon-undo.imageset/undo_icon.png | Bin .../icon-unsplash.imageset/Contents.json | 0 .../icon-unsplash.imageset/icon-unsplash.png | Bin .../icon-unsplash@2x.png | Bin .../icon-upload.imageset/Contents.json | 0 .../icon-upload.imageset/icon_upload.png | Bin .../placeholder.imageset/Contents.json | 0 .../placeholder.imageset/placeholder.png | Bin .../Resources}/PhotoPicker.storyboard | 12 +- .../Filestack/Resources}/Picker.storyboard | 0 .../ActivityIndicatorCollectionViewCell.swift | 0 .../CloudItemCollectionViewCell.swift | 0 .../CloudSourceCollectionViewController.swift | 0 .../CloudSourceTabBarController.swift | 0 .../CloudSourceTableViewController.swift | 0 .../DocumentPickerUploadController.swift | 18 +- .../ImagePickerUploadController.swift | 2 +- .../Controllers/MonitorViewController.swift | 2 +- .../SourceTableViewController.swift | 0 .../Internal/Enums/CloudSourceViewType.swift | 0 .../Internal/Extensions/Scene+Defaults.swift | 0 .../Extensions/Storyboard+Scenes.swift | 0 .../Internal/Extensions/UIImage+Squared.swift | 0 .../Extensions/UserDefaults+State.swift | 0 .../CollectionViewFlowLayout.swift | 0 .../UI/Internal/Models/CloudItem.swift | 0 .../EditionController/EditorToolbar.swift | 0 .../Enums/ImageEditorCommand.swift | 2 +- .../Handlers/CircleGesturesHandler.swift | 0 .../Handlers/CropGesturesHandler.swift | 0 .../EditionController/ImageEditor.swift | 0 .../Layers/CircleLayer.swift | 0 .../EditionController/Layers/CropLayer.swift | 0 .../EditorViewController+EditDataSource.swift | 0 ...EditorViewController+ToolbarDelegate.swift | 0 .../EditorViewController+ViewSetup.swift | 0 .../ViewController/EditorViewController.swift | 0 .../Views/ImageEditorView.swift | 0 .../SelectionList/SelectableElement.swift | 0 .../SelectionList/SelectionCell.swift | 0 ...lectionListViewController+FlowLayout.swift | 0 ...nListViewController+UICollectionView.swift | 0 .../SelectionListViewController.swift | 0 .../SelectionList/Uploadable.swift | 0 .../PhotoPicker/AlbumList/AlbumCell.swift | 2 +- .../AlbumList/AlbumListViewController.swift | 0 .../AssetCollection/AssetCell.swift | 1 + .../AssetCollectionViewController.swift | 0 .../PhotoPicker/PhotoAlbumRepository.swift | 0 .../PhotoPicker/PhotoPickerController.swift | 1 + .../PhotoPicker/PhotosExtensions.swift | 1 + .../Protocols/CellDescriptibleSource.swift | 2 +- .../Protocols/CloudSourceDataSource.swift | 2 +- .../CloudSourceDataSourceConsumer.swift | 0 .../UI/Internal/Protocols/Scene.swift | 0 .../Scenes/CloudSourceBarTabScene.swift | 0 .../Scenes/PickerNavigationScene.swift | 0 .../ActivityIndicatorTableViewCell.swift | 0 .../CloudItemTableViewCell.swift | 0 .../PickerNavigationController.swift | 2 +- .../UI/Public/Enums/LocalProvider.swift | 0 .../UI/Public/Models/CloudSource.swift | 2 +- .../UI/Public/Models/LocalSource.swift | 2 +- .../UI/Public/Models/Stylizer.swift | 2 +- .../Public/Protocols/StylizerDelegate.swift | 0 VERSION | 2 +- bin/generate-and-deploy-docs.sh | 4 +- bin/generate-docs.sh | 4 + 223 files changed, 859 insertions(+), 1242 deletions(-) delete mode 100644 Cartfile delete mode 100644 Cartfile.resolved create mode 100644 Filestack.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 FilestackTests/Info.plist create mode 100644 Package.resolved create mode 100644 Package.swift rename {Filestack => Sources/Filestack}/Filestack.h (100%) rename {Filestack => Sources/Filestack}/Info.plist (100%) rename {Filestack => Sources/Filestack}/Internal/Constants.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/AVAsset+Export.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/Array+SafeIndex.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/Data+JSON.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageEdition/CGPoint+Distance.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageEdition/CGRect+Scale.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageEdition/UIImage+CIImageTransformations.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageEdition/UIImage+Rect.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageEdition/UIImage+Sanitize.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/Math+Clamp.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/SessionManager+FilestackDefault.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/String+UTI.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UICollectionView+Reusable.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIColor+Bundle.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIColor+Predefined.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIImage+Bundle.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIImage+Export.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIImage+HEIC.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIImage+Resized.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIImage+Write.swift (98%) rename {Filestack => Sources/Filestack}/Internal/Extensions/UIView+Constraints.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/URL+Copy.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extensions/URL+IsDirectory.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Extractors/URLExtractor.swift (99%) rename {Filestack => Sources/Filestack}/Internal/Extractors/UploadableExtractor.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Formatters/DurationNumberFormatter.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Operations/AssetURLExtractorOperation.swift (99%) rename {Filestack => Sources/Filestack}/Internal/Protocols/CloudRequest.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Requests/FolderListRequest.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Requests/LogoutRequest.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Requests/PrefetchRequest.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Requests/StoreRequest.swift (100%) rename {Filestack => Sources/Filestack}/Internal/Services/CloudService.swift (100%) rename {Filestack => Sources/Filestack}/Internal/TrackingProgress.swift (100%) rename {Filestack => Sources/Filestack}/Public/CompletionHandlers.swift (100%) rename {Filestack => Sources/Filestack}/Public/Enums/ClientError.swift (100%) rename {Filestack => Sources/Filestack}/Public/Enums/CloudProvider.swift (100%) rename {Filestack => Sources/Filestack}/Public/Enums/ImageURLExportPreset.swift (100%) rename {Filestack => Sources/Filestack}/Public/Extensions/Client+Deprecated.swift (99%) rename {Filestack => Sources/Filestack}/Public/Extensions/Client+ObjC.swift (100%) rename {Filestack => Sources/Filestack}/Public/Models/Client.swift (100%) rename {Filestack => Sources/Filestack}/Public/Models/Config.swift (100%) rename {Filestack => Sources/Filestack}/Public/Responses/CloudResponse.swift (100%) rename {Filestack => Sources/Filestack}/Public/Responses/FolderListResponse.swift (100%) rename {Filestack => Sources/Filestack}/Public/Responses/LogoutResponse.swift (100%) rename {Filestack => Sources/Filestack}/Public/Responses/PrefetchResponse.swift (100%) rename {Filestack => Sources/Filestack}/Public/Responses/StoreResponse.swift (100%) rename {Filestack => Sources/Filestack}/Resources/Colors.xcassets/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Colors.xcassets/SelectionCellBorderColor.colorset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/clear-pattern.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/clear-pattern.imageset/clear-pattern.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/file.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/file.imageset/file.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/file.imageset/file@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-box.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-box.imageset/icon-box.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-box.imageset/icon-box@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-camera.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-camera.imageset/icon-camera.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-camera.imageset/icon-camera@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-circle.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-circle.imageset/circle_icon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-clouddrive.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-crop.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-crop.imageset/crop_icon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-customsource.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-documents.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-documents.imageset/documents.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-documents.imageset/documents@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-dropbox.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-edit.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-edit.imageset/icon-pencil.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-facebook.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-image.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-image.imageset/icon-image.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-pdf.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-pdf.imageset/icon-file-pdf.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-unknown.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-unknown.imageset/icon-file-unknown.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-video.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-file-video.imageset/icon-video-camera.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-github.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-github.imageset/icon-github.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-github.imageset/icon-github@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-gmail.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-googledrive.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-grid.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-grid.imageset/icon-grid.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@3x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-image.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-image.imageset/icon-image.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-instagram.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-list.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-list.imageset/icon-list.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-list.imageset/icon-list@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-list.imageset/icon-list@3x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-logout.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-logout.imageset/icon-logout.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@3x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-onedrive.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-photolibrary.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-picasa.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-redo.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-redo.imageset/redo_icon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-rotate.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-rotate.imageset/rotate_icon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-selected.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-1.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-2.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-selected.imageset/photoIcon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-tick.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-tick.imageset/checkmark-solid.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-undo.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-undo.imageset/undo_icon.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-unsplash.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash@2x.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-upload.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/icon-upload.imageset/icon_upload.png (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/placeholder.imageset/Contents.json (100%) rename {Filestack => Sources/Filestack}/Resources/Icons.xcassets/placeholder.imageset/placeholder.png (100%) rename {Filestack/UI/Storyboards => Sources/Filestack/Resources}/PhotoPicker.storyboard (97%) rename {Filestack/UI/Storyboards => Sources/Filestack/Resources}/Picker.storyboard (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Collection View Cells/ActivityIndicatorCollectionViewCell.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Collection View Cells/CloudItemCollectionViewCell.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/CloudSourceCollectionViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/CloudSourceTabBarController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/CloudSourceTableViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/DocumentPickerUploadController.swift (84%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/ImagePickerUploadController.swift (99%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/MonitorViewController.swift (99%) rename {Filestack => Sources/Filestack}/UI/Internal/Controllers/SourceTableViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Enums/CloudSourceViewType.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Extensions/Scene+Defaults.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Extensions/Storyboard+Scenes.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Extensions/UIImage+Squared.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Extensions/UserDefaults+State.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/FlowLayouts/CollectionViewFlowLayout.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Models/CloudItem.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/EditorToolbar.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift (94%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Handlers/CircleGesturesHandler.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Handlers/CropGesturesHandler.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/ImageEditor.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Layers/CircleLayer.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Layers/CropLayer.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+EditDataSource.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ToolbarDelegate.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ViewSetup.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/EditionController/Views/ImageEditorView.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/SelectableElement.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/SelectionCell.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+FlowLayout.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+UICollectionView.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoEditor/SelectionList/Uploadable.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift (98%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/AlbumList/AlbumListViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift (99%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/AssetCollection/AssetCollectionViewController.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/PhotoAlbumRepository.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/PhotoPickerController.swift (99%) rename {Filestack => Sources/Filestack}/UI/Internal/PhotoPicker/PhotosExtensions.swift (99%) rename {Filestack => Sources/Filestack}/UI/Internal/Protocols/CellDescriptibleSource.swift (95%) rename {Filestack => Sources/Filestack}/UI/Internal/Protocols/CloudSourceDataSource.swift (98%) rename {Filestack => Sources/Filestack}/UI/Internal/Protocols/CloudSourceDataSourceConsumer.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Protocols/Scene.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Scenes/CloudSourceBarTabScene.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Scenes/PickerNavigationScene.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Table View Cells/ActivityIndicatorTableViewCell.swift (100%) rename {Filestack => Sources/Filestack}/UI/Internal/Table View Cells/CloudItemTableViewCell.swift (100%) rename {Filestack => Sources/Filestack}/UI/Public/Controllers/PickerNavigationController.swift (99%) rename {Filestack => Sources/Filestack}/UI/Public/Enums/LocalProvider.swift (100%) rename {Filestack => Sources/Filestack}/UI/Public/Models/CloudSource.swift (99%) rename {Filestack => Sources/Filestack}/UI/Public/Models/LocalSource.swift (99%) rename {Filestack => Sources/Filestack}/UI/Public/Models/Stylizer.swift (99%) rename {Filestack => Sources/Filestack}/UI/Public/Protocols/StylizerDelegate.swift (100%) create mode 100755 bin/generate-docs.sh diff --git a/.gitignore b/.gitignore index b2715539..0e7471f3 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ DerivedData *.perspectivev3 !default.perspectivev3 xcuserdata +.swiftpm/xcode ## Other *.xccheckout @@ -32,8 +33,8 @@ compile_commands.json # Swift Package Manager # # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -Packages/ -.build/ +/.build +/Packages # CocoaPods # @@ -61,7 +62,8 @@ Carthage/ fastlane/report.xml fastlane/screenshots -*.DS_Store +.DS_Store # Jazzy Docs -docs/ \ No newline at end of file +docs/ + diff --git a/.jazzy.yaml b/.jazzy.yaml index 924169ac..52716a55 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -10,4 +10,4 @@ readme: README.md skip_undocumented: false hide_documentation_coverage: false -xcodebuild_arguments: [-project, Filestack.xcodeproj, -target, Filestack] \ No newline at end of file +swift_build_tool: spm \ No newline at end of file diff --git a/.swiftformat b/.swiftformat index fc761e91..3452bb5a 100644 --- a/.swiftformat +++ b/.swiftformat @@ -36,7 +36,7 @@ # rules --enable isEmpty ---enable specifiers +--enable modifierOrder --enable spaceInsideComments --enable linebreakAtEndOfFile --enable typeSugar diff --git a/CHANGELOG.md b/CHANGELOG.md index bd693308..a1772853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Change Log ========== +Version 2.4.0 (TBD) +---------------------------- + +- Added support for Unsplash cloud source. +- Added support for Swift Package Manager. + Version 2.3.2 (2020-07-30) ---------------------------- diff --git a/Cartfile b/Cartfile deleted file mode 100644 index 8436e634..00000000 --- a/Cartfile +++ /dev/null @@ -1,3 +0,0 @@ -github "Alamofire/Alamofire" ~> 4.9 -github "ZipArchive/ZipArchive" "v2.2.3" -github "filestack/filestack-swift" ~> 2.3 diff --git a/Cartfile.resolved b/Cartfile.resolved deleted file mode 100644 index 0751950c..00000000 --- a/Cartfile.resolved +++ /dev/null @@ -1,3 +0,0 @@ -github "Alamofire/Alamofire" "4.9.1" -github "ZipArchive/ZipArchive" "v2.2.3" -github "filestack/filestack-swift" "2.3.1" diff --git a/Demo/FilestackDemo.xcodeproj/project.pbxproj b/Demo/FilestackDemo.xcodeproj/project.pbxproj index e1be2f87..47a78eeb 100644 --- a/Demo/FilestackDemo.xcodeproj/project.pbxproj +++ b/Demo/FilestackDemo.xcodeproj/project.pbxproj @@ -7,169 +7,24 @@ objects = { /* Begin PBXBuildFile section */ - 45103DC4232FBCA3009D628A /* Filestack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 45103DB1232FB9EB009D628A /* Filestack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 45103DC5232FBD55009D628A /* FilestackSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 45103DBC232FBB28009D628A /* FilestackSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 454054851F98A69A00C12B2F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454054841F98A69A00C12B2F /* AppDelegate.swift */; }; 454054871F98A69A00C12B2F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454054861F98A69A00C12B2F /* ViewController.swift */; }; 4540548A1F98A69A00C12B2F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 454054881F98A69A00C12B2F /* Main.storyboard */; }; 4540548C1F98A69A00C12B2F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4540548B1F98A69A00C12B2F /* Assets.xcassets */; }; 4540548F1F98A69A00C12B2F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4540548D1F98A69A00C12B2F /* LaunchScreen.storyboard */; }; 455AB6C2232FD680001ABE81 /* UIViewController+PresentAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455AB6C1232FD680001ABE81 /* UIViewController+PresentAlert.swift */; }; - 45F764FD232FE0C800C5DB6A /* Filestack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45103DB1232FB9EB009D628A /* Filestack.framework */; }; - 45F764FE232FE0C800C5DB6A /* FilestackSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45103DBC232FBB28009D628A /* FilestackSDK.framework */; }; - 45FB7D90232FE27D00BFE52F /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45FB7D7F232FE26B00BFE52F /* Alamofire.framework */; }; - 45FB7D91232FE28200BFE52F /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 45FB7D7F232FE26B00BFE52F /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 45FB7DC5232FE2EA00BFE52F /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45FB7DB9232FE2CD00BFE52F /* ZipArchive.framework */; }; - 45FB7DC7232FE2F500BFE52F /* ZipArchive.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 45FB7DB9232FE2CD00BFE52F /* ZipArchive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 45A758C52535DE6800C8547F /* Filestack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45A758C32535DE6200C8547F /* Filestack.framework */; }; + 45A758C62535DE6800C8547F /* Filestack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 45A758C32535DE6200C8547F /* Filestack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 45103DB0232FB9EB009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 457084FF1F975C6C00991340; - remoteInfo = Filestack; - }; - 45103DB2232FB9EB009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 457085081F975C6C00991340; - remoteInfo = FilestackTests; - }; - 45103DB4232FB9EF009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 457084FE1F975C6C00991340; - remoteInfo = Filestack; - }; - 45103DBB232FBB28009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 45B8309B1F03B27A0053742A; - remoteInfo = FilestackSDK; - }; - 45103DBD232FBB28009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 45B8310D1F03D8140053742A; - remoteInfo = FilestackSDKTests; - }; - 45103DC8232FBD68009D628A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 45B8309A1F03B27A0053742A; - remoteInfo = FilestackSDK; - }; - 45FB7D7E232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F8111E3319A95C8B0040E7D1; - remoteInfo = "Alamofire iOS"; - }; - 45FB7D80232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F8111E3E19A95C8B0040E7D1; - remoteInfo = "Alamofire iOS Tests"; - }; - 45FB7D82232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 4DD67C0B1A5C55C900ED2280; - remoteInfo = "Alamofire macOS"; - }; - 45FB7D84232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F829C6B21A7A94F100A2CD59; - remoteInfo = "Alamofire macOS Tests"; - }; - 45FB7D86232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 4CF626EF1BA7CB3E0011A099; - remoteInfo = "Alamofire tvOS"; - }; - 45FB7D88232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 4CF626F81BA7CB3E0011A099; - remoteInfo = "Alamofire tvOS Tests"; - }; - 45FB7D8A232FE26B00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4202FE01B667AA100C997FB; - remoteInfo = "Alamofire watchOS"; - }; - 45FB7D8E232FE27700BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = F8111E3219A95C8B0040E7D1; - remoteInfo = "Alamofire iOS"; - }; - 45FB7DB8232FE2CD00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B423AE1A1C0DF76A0004A2F1; - remoteInfo = "ZipArchive-iOS"; - }; - 45FB7DBA232FE2CD00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AFF75A241C37279600F450AC; - remoteInfo = "ZipArchive-Mac"; - }; - 45FB7DBC232FE2CD00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 37952C261F63B50D00DD6677; - remoteInfo = "ZipArchive-tvos"; - }; - 45FB7DBE232FE2CD00BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 37952C5E1F63BB7100DD6677; - remoteInfo = "ZipArchive-watchos"; - }; - 45FB7DC2232FE2E200BFE52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B423AE191C0DF76A0004A2F1; - remoteInfo = "ZipArchive-iOS"; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ - 45407B401F9E0D45009BC40A /* Embed Frameworks */ = { + 45A758C72535DE6800C8547F /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 45FB7DC7232FE2F500BFE52F /* ZipArchive.framework in Embed Frameworks */, - 45FB7D91232FE28200BFE52F /* Alamofire.framework in Embed Frameworks */, - 45103DC5232FBD55009D628A /* FilestackSDK.framework in Embed Frameworks */, - 45103DC4232FBCA3009D628A /* Filestack.framework in Embed Frameworks */, + 45A758C62535DE6800C8547F /* Filestack.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -177,8 +32,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Filestack.xcodeproj; path = ../Filestack.xcodeproj; sourceTree = ""; }; - 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = FilestackSDK.xcodeproj; path = "../Carthage/Checkouts/filestack-swift/FilestackSDK.xcodeproj"; sourceTree = ""; }; 454054811F98A69A00C12B2F /* FilestackDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FilestackDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 454054841F98A69A00C12B2F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 454054861F98A69A00C12B2F /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -186,13 +39,8 @@ 4540548B1F98A69A00C12B2F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 4540548E1F98A69A00C12B2F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 454054901F98A69A00C12B2F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 45407B421F9E0D62009BC40A /* FilestackSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = FilestackSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 45407B481F9E0D91009BC40A /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 45450FE61FC33277008C2404 /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 455AB6C1232FD680001ABE81 /* UIViewController+PresentAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+PresentAlert.swift"; sourceTree = ""; }; - 45C2D50B1FD55F4F00912749 /* ZipArchive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ZipArchive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Alamofire.xcodeproj; path = ../Carthage/Checkouts/Alamofire/Alamofire.xcodeproj; sourceTree = ""; }; - 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ZipArchive.xcodeproj; path = ../Carthage/Checkouts/ZipArchive/ZipArchive.xcodeproj; sourceTree = ""; }; + 45A758C32535DE6200C8547F /* Filestack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Filestack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -200,41 +48,16 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 45FB7DC5232FE2EA00BFE52F /* ZipArchive.framework in Frameworks */, - 45FB7D90232FE27D00BFE52F /* Alamofire.framework in Frameworks */, - 45F764FE232FE0C800C5DB6A /* FilestackSDK.framework in Frameworks */, - 45F764FD232FE0C800C5DB6A /* Filestack.framework in Frameworks */, + 45A758C52535DE6800C8547F /* Filestack.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 45103DAC232FB9EB009D628A /* Products */ = { - isa = PBXGroup; - children = ( - 45103DB1232FB9EB009D628A /* Filestack.framework */, - 45103DB3232FB9EB009D628A /* FilestackTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 45103DB7232FBB28009D628A /* Products */ = { - isa = PBXGroup; - children = ( - 45103DBC232FBB28009D628A /* FilestackSDK.framework */, - 45103DBE232FBB28009D628A /* FilestackSDKTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; 454054781F98A69A00C12B2F = { isa = PBXGroup; children = ( - 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */, - 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */, - 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */, - 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */, 454054831F98A69A00C12B2F /* FilestackDemo */, 45407B3A1F9E0D35009BC40A /* Frameworks */, 454054821F98A69A00C12B2F /* Products */, @@ -266,10 +89,7 @@ 45407B3A1F9E0D35009BC40A /* Frameworks */ = { isa = PBXGroup; children = ( - 45407B481F9E0D91009BC40A /* Alamofire.framework */, - 45450FE61FC33277008C2404 /* CryptoSwift.framework */, - 45407B421F9E0D62009BC40A /* FilestackSDK.framework */, - 45C2D50B1FD55F4F00912749 /* ZipArchive.framework */, + 45A758C32535DE6200C8547F /* Filestack.framework */, ); name = Frameworks; sourceTree = ""; @@ -282,31 +102,6 @@ path = Extensions; sourceTree = ""; }; - 45FB7D74232FE26B00BFE52F /* Products */ = { - isa = PBXGroup; - children = ( - 45FB7D7F232FE26B00BFE52F /* Alamofire.framework */, - 45FB7D81232FE26B00BFE52F /* Alamofire iOS Tests.xctest */, - 45FB7D83232FE26B00BFE52F /* Alamofire.framework */, - 45FB7D85232FE26B00BFE52F /* Alamofire macOS Tests.xctest */, - 45FB7D87232FE26B00BFE52F /* Alamofire.framework */, - 45FB7D89232FE26B00BFE52F /* Alamofire tvOS Tests.xctest */, - 45FB7D8B232FE26B00BFE52F /* Alamofire.framework */, - ); - name = Products; - sourceTree = ""; - }; - 45FB7DB2232FE2CC00BFE52F /* Products */ = { - isa = PBXGroup; - children = ( - 45FB7DB9232FE2CD00BFE52F /* ZipArchive.framework */, - 45FB7DBB232FE2CD00BFE52F /* ZipArchive.framework */, - 45FB7DBD232FE2CD00BFE52F /* ZipArchive.framework */, - 45FB7DBF232FE2CD00BFE52F /* ZipArchive.framework */, - ); - name = Products; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -314,21 +109,18 @@ isa = PBXNativeTarget; buildConfigurationList = 4540549E1F98A69A00C12B2F /* Build configuration list for PBXNativeTarget "FilestackDemo" */; buildPhases = ( - 45CDA03922C6606F008DF3F4 /* Run SwiftFormat */, 4540547D1F98A69A00C12B2F /* Sources */, 4540547E1F98A69A00C12B2F /* Frameworks */, 4540547F1F98A69A00C12B2F /* Resources */, - 45407B401F9E0D45009BC40A /* Embed Frameworks */, + 45A758C72535DE6800C8547F /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 45FB7DC3232FE2E200BFE52F /* PBXTargetDependency */, - 45FB7D8F232FE27700BFE52F /* PBXTargetDependency */, - 45103DC9232FBD68009D628A /* PBXTargetDependency */, - 45103DB5232FB9EF009D628A /* PBXTargetDependency */, ); name = FilestackDemo; + packageProductDependencies = ( + ); productName = FilestackDemo; productReference = 454054811F98A69A00C12B2F /* FilestackDemo.app */; productType = "com.apple.product-type.application"; @@ -340,7 +132,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1200; ORGANIZATIONNAME = Filestack; TargetAttributes = { 454054801F98A69A00C12B2F = { @@ -359,26 +151,10 @@ Base, ); mainGroup = 454054781F98A69A00C12B2F; + packageReferences = ( + ); productRefGroup = 454054821F98A69A00C12B2F /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 45FB7D74232FE26B00BFE52F /* Products */; - ProjectRef = 45FB7D73232FE26B00BFE52F /* Alamofire.xcodeproj */; - }, - { - ProductGroup = 45103DAC232FB9EB009D628A /* Products */; - ProjectRef = 45103DAB232FB9EB009D628A /* Filestack.xcodeproj */; - }, - { - ProductGroup = 45103DB7232FBB28009D628A /* Products */; - ProjectRef = 45103DB6232FBB28009D628A /* FilestackSDK.xcodeproj */; - }, - { - ProductGroup = 45FB7DB2232FE2CC00BFE52F /* Products */; - ProjectRef = 45FB7DB1232FE2CC00BFE52F /* ZipArchive.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 454054801F98A69A00C12B2F /* FilestackDemo */, @@ -386,114 +162,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 45103DB1232FB9EB009D628A /* Filestack.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Filestack.framework; - remoteRef = 45103DB0232FB9EB009D628A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45103DB3232FB9EB009D628A /* FilestackTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = FilestackTests.xctest; - remoteRef = 45103DB2232FB9EB009D628A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45103DBC232FBB28009D628A /* FilestackSDK.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = FilestackSDK.framework; - remoteRef = 45103DBB232FBB28009D628A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45103DBE232FBB28009D628A /* FilestackSDKTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = FilestackSDKTests.xctest; - remoteRef = 45103DBD232FBB28009D628A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D7F232FE26B00BFE52F /* Alamofire.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Alamofire.framework; - remoteRef = 45FB7D7E232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D81232FE26B00BFE52F /* Alamofire iOS Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Alamofire iOS Tests.xctest"; - remoteRef = 45FB7D80232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D83232FE26B00BFE52F /* Alamofire.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Alamofire.framework; - remoteRef = 45FB7D82232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D85232FE26B00BFE52F /* Alamofire macOS Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Alamofire macOS Tests.xctest"; - remoteRef = 45FB7D84232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D87232FE26B00BFE52F /* Alamofire.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Alamofire.framework; - remoteRef = 45FB7D86232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D89232FE26B00BFE52F /* Alamofire tvOS Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Alamofire tvOS Tests.xctest"; - remoteRef = 45FB7D88232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7D8B232FE26B00BFE52F /* Alamofire.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Alamofire.framework; - remoteRef = 45FB7D8A232FE26B00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7DB9232FE2CD00BFE52F /* ZipArchive.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = ZipArchive.framework; - remoteRef = 45FB7DB8232FE2CD00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7DBB232FE2CD00BFE52F /* ZipArchive.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = ZipArchive.framework; - remoteRef = 45FB7DBA232FE2CD00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7DBD232FE2CD00BFE52F /* ZipArchive.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = ZipArchive.framework; - remoteRef = 45FB7DBC232FE2CD00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 45FB7DBF232FE2CD00BFE52F /* ZipArchive.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = ZipArchive.framework; - remoteRef = 45FB7DBE232FE2CD00BFE52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 4540547F1F98A69A00C12B2F /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -507,27 +175,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 45CDA03922C6606F008DF3F4 /* Run SwiftFormat */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Run SwiftFormat"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "$SRCROOT/../bin/apply-swiftformat.sh\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 4540547D1F98A69A00C12B2F /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -541,29 +188,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 45103DB5232FB9EF009D628A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Filestack; - targetProxy = 45103DB4232FB9EF009D628A /* PBXContainerItemProxy */; - }; - 45103DC9232FBD68009D628A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FilestackSDK; - targetProxy = 45103DC8232FBD68009D628A /* PBXContainerItemProxy */; - }; - 45FB7D8F232FE27700BFE52F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Alamofire iOS"; - targetProxy = 45FB7D8E232FE27700BFE52F /* PBXContainerItemProxy */; - }; - 45FB7DC3232FE2E200BFE52F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "ZipArchive-iOS"; - targetProxy = 45FB7DC2232FE2E200BFE52F /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ 454054881F98A69A00C12B2F /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -609,6 +233,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -668,6 +293,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; diff --git a/Demo/FilestackDemo.xcodeproj/xcshareddata/xcschemes/FilestackDemo.xcscheme b/Demo/FilestackDemo.xcodeproj/xcshareddata/xcschemes/FilestackDemo.xcscheme index 2a15bd1b..0ba143c9 100644 --- a/Demo/FilestackDemo.xcodeproj/xcshareddata/xcschemes/FilestackDemo.xcscheme +++ b/Demo/FilestackDemo.xcodeproj/xcshareddata/xcschemes/FilestackDemo.xcscheme @@ -1,6 +1,6 @@ 4.9' - spec.dependency 'FilestackSDK', '~> 2.3' - spec.dependency 'SSZipArchive', '2.2.3' + spec.dependency 'FilestackSDK', '~> 2.4' + spec.dependency 'Zip', '2.1' end diff --git a/Filestack.xcodeproj/project.pbxproj b/Filestack.xcodeproj/project.pbxproj index 077bed2a..5cc23f6f 100644 --- a/Filestack.xcodeproj/project.pbxproj +++ b/Filestack.xcodeproj/project.pbxproj @@ -3,279 +3,239 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 4500C5731FC46A9200B17485 /* LogoutRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4500C5721FC46A9200B17485 /* LogoutRequest.swift */; }; - 450225B922DC686600C91A91 /* URL+Copy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 450225B822DC686600C91A91 /* URL+Copy.swift */; }; - 451F947D233137340045F718 /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 451F947C233137340045F718 /* CollectionViewFlowLayout.swift */; }; - 452B77BE1FB45EF9000F3FAE /* MonitorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452B77BD1FB45EF9000F3FAE /* MonitorViewController.swift */; }; - 452DCF6D1FA1E1E30033B75D /* CloudProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452DCF6C1FA1E1E30033B75D /* CloudProvider.swift */; }; - 454054741F98A30F00C12B2F /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454054731F98A30F00C12B2F /* Client.swift */; }; - 454662831FB5BBEB00260033 /* CloudSourceTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454662821FB5BBEB00260033 /* CloudSourceTableViewController.swift */; }; - 4546628E1FB6063F00260033 /* CloudItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4546628D1FB6063F00260033 /* CloudItem.swift */; }; - 454775B522D7659D00C7F04D /* UIImage+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454775B422D7659D00C7F04D /* UIImage+Export.swift */; }; - 454775B722D7664D00C7F04D /* AVAsset+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454775B622D7664D00C7F04D /* AVAsset+Export.swift */; }; - 454783CA232FCBDE00380144 /* ClientError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 454783C9232FCBDE00380144 /* ClientError.swift */; }; - 455804A21F9F43A7007C694C /* CloudService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455804A11F9F43A7007C694C /* CloudService.swift */; }; - 455804A51F9F4420007C694C /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455804A41F9F4420007C694C /* Constants.swift */; }; - 455804AA1F9F448C007C694C /* SessionManager+FilestackDefault.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455804A91F9F448C007C694C /* SessionManager+FilestackDefault.swift */; }; - 45648CC21FD15DD400281653 /* DocumentPickerUploadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45648CC11FD15DD400281653 /* DocumentPickerUploadController.swift */; }; - 4565CEED1FBEE5940043BFBB /* CloudSourceCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEEC1FBEE5940043BFBB /* CloudSourceCollectionViewController.swift */; }; - 4565CEF31FBEEC2F0043BFBB /* CloudItemCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEF21FBEEC2F0043BFBB /* CloudItemCollectionViewCell.swift */; }; - 4565CEF51FBEF5AE0043BFBB /* ActivityIndicatorCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEF41FBEF5AE0043BFBB /* ActivityIndicatorCollectionViewCell.swift */; }; - 4565CEF71FBF3F400043BFBB /* UserDefaults+State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEF61FBF3F400043BFBB /* UserDefaults+State.swift */; }; - 4565CEF91FBF4FE60043BFBB /* CloudSourceViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEF81FBF4FE60043BFBB /* CloudSourceViewType.swift */; }; - 4565CEFB1FBF50010043BFBB /* CloudSourceDataSourceConsumer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4565CEFA1FBF50010043BFBB /* CloudSourceDataSourceConsumer.swift */; }; - 4568DCD01F9DFD7300F29923 /* ImagePickerUploadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4568DCCF1F9DFD7300F29923 /* ImagePickerUploadController.swift */; }; - 45690CE822A66E2800285F62 /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45690CE522A66E2800285F62 /* ZipArchive.framework */; }; - 45690CE922A66E2800285F62 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45690CE622A66E2800285F62 /* Alamofire.framework */; }; - 45690CEE22A672CF00285F62 /* FilestackSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45690CED22A672CE00285F62 /* FilestackSDK.framework */; }; - 45690CF322A673F700285F62 /* OHHTTPStubs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45690CE422A66E2800285F62 /* OHHTTPStubs.framework */; }; - 45690CF622A675CA00285F62 /* OHHTTPStubs.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 45690CE422A66E2800285F62 /* OHHTTPStubs.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 45690CF722A675DE00285F62 /* FilestackSDK.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 45690CED22A672CE00285F62 /* FilestackSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 45690CF822A675E800285F62 /* ZipArchive.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 45690CE522A66E2800285F62 /* ZipArchive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 45690CF922A675EF00285F62 /* Alamofire.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 45690CE622A66E2800285F62 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 4569C7851FB1B6C500DE990E /* SourceTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4569C7841FB1B6C500DE990E /* SourceTableViewController.swift */; }; - 4569C7881FB1C35600DE990E /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4569C7871FB1C35600DE990E /* Icons.xcassets */; }; - 4569C79D1FB1CFC000DE990E /* Picker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4569C79C1FB1CFC000DE990E /* Picker.storyboard */; }; - 4569C7A41FB1F84500DE990E /* CellDescriptibleSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4569C7A31FB1F84500DE990E /* CellDescriptibleSource.swift */; }; - 4569C7A61FB1F85800DE990E /* LocalSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4569C7A51FB1F85800DE990E /* LocalSource.swift */; }; - 4569C7A81FB1F86700DE990E /* CloudSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4569C7A71FB1F86700DE990E /* CloudSource.swift */; }; - 457085091F975C6C00991340 /* Filestack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 457084FF1F975C6C00991340 /* Filestack.framework */; }; - 457085101F975C6C00991340 /* Filestack.h in Headers */ = {isa = PBXBuildFile; fileRef = 457085021F975C6C00991340 /* Filestack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4575E09522CF34090025E357 /* ImageEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575E09422CF34090025E357 /* ImageEditorView.swift */; }; - 4575E09722CF41BC0025E357 /* ImageEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575E09622CF41BC0025E357 /* ImageEditor.swift */; }; - 4575E09922CF41EC0025E357 /* UIImage+CIImageTransformations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575E09822CF41EC0025E357 /* UIImage+CIImageTransformations.swift */; }; - 45786D5C1FB3202B00478545 /* PickerNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45786D5B1FB3202B00478545 /* PickerNavigationController.swift */; }; - 4587330D1FA32B66002DAA9D /* StoreRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4587330C1FA32B66002DAA9D /* StoreRequest.swift */; }; - 4597849922CE10E700181BFE /* ImageEditorCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4597849822CE10E700181BFE /* ImageEditorCommand.swift */; }; - 459ADA0A1FB9FB050087698A /* ActivityIndicatorTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459ADA091FB9FB050087698A /* ActivityIndicatorTableViewCell.swift */; }; - 459FF21823313A85003671EA /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 459FF21723313A85003671EA /* Colors.xcassets */; }; - 459FF21A23313DA2003671EA /* UIColor+Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459FF21923313DA2003671EA /* UIColor+Bundle.swift */; }; - 45A3C5A62331043600A60B5F /* URL+IsDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A3C5A52331043600A60B5F /* URL+IsDirectory.swift */; }; - 45A48C161FB311F000356BC6 /* PrefetchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A48C151FB311F000356BC6 /* PrefetchRequest.swift */; }; - 45A48C201FB317F100356BC6 /* Data+JSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A48C1F1FB317F100356BC6 /* Data+JSON.swift */; }; - 45A6102724B5A65800225738 /* AssetURLExtractorOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A6102624B5A65800225738 /* AssetURLExtractorOperation.swift */; }; - 45A92F161FA0BE3F00FEB611 /* CloudRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A92F151FA0BE3F00FEB611 /* CloudRequest.swift */; }; - 45A92F181FA0BE9600FEB611 /* FolderListRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A92F171FA0BE9600FEB611 /* FolderListRequest.swift */; }; - 45B603D31FC5B88A006775BF /* ImageURLExportPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45B603D21FC5B88A006775BF /* ImageURLExportPreset.swift */; }; - 45BFF68323290FA700944028 /* Client+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF68223290FA600944028 /* Client+Deprecated.swift */; }; - 45BFF6882329189800944028 /* StoreResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6872329189800944028 /* StoreResponse.swift */; }; - 45BFF68A2329192700944028 /* FolderListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6892329192700944028 /* FolderListResponse.swift */; }; - 45BFF68C2329197800944028 /* CloudResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF68B2329197800944028 /* CloudResponse.swift */; }; - 45BFF68E2329199D00944028 /* LogoutResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF68D2329199D00944028 /* LogoutResponse.swift */; }; - 45BFF69123291A1300944028 /* PrefetchResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF69023291A1300944028 /* PrefetchResponse.swift */; }; - 45BFF69C23291E3700944028 /* LocalProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF69B23291E3700944028 /* LocalProvider.swift */; }; - 45BFF69E2329201800944028 /* PhotoPicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 45BFF69D2329201800944028 /* PhotoPicker.storyboard */; }; - 45BFF6A12329216800944028 /* Client+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6A02329216800944028 /* Client+ObjC.swift */; }; - 45BFF6A323292E5800944028 /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6A223292E5800944028 /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */; }; - 45BFF6A623292F2300944028 /* PickerNavigationScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6A523292F2300944028 /* PickerNavigationScene.swift */; }; - 45BFF6A823292F5E00944028 /* CloudSourceBarTabScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6A723292F5E00944028 /* CloudSourceBarTabScene.swift */; }; - 45BFF6AD232931EC00944028 /* StylizerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6AC232931EC00944028 /* StylizerDelegate.swift */; }; - 45BFF6B12329372600944028 /* CompletionHandlers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BFF6B02329372600944028 /* CompletionHandlers.swift */; }; - 45C142E622CA4B25007B4EDA /* String+UTI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C142E522CA4B25007B4EDA /* String+UTI.swift */; }; - 45C47E741FB9B3DC009B8248 /* Array+SafeIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C47E731FB9B3DC009B8248 /* Array+SafeIndex.swift */; }; - 45C47E7E1FB9F08A009B8248 /* Storyboard+Scenes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C47E7D1FB9F08A009B8248 /* Storyboard+Scenes.swift */; }; - 45C47E801FB9F0C6009B8248 /* Scene+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C47E7F1FB9F0C6009B8248 /* Scene+Defaults.swift */; }; - 45C47E841FB9F0DF009B8248 /* Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C47E831FB9F0DF009B8248 /* Scene.swift */; }; - 45CBF4891FBF6D7700891BBD /* CloudItemTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CBF4881FBF6D7700891BBD /* CloudItemTableViewCell.swift */; }; - 45CF081322D745E500DA2884 /* UIImage+Resized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CF081222D745E500DA2884 /* UIImage+Resized.swift */; }; - 45DEBA551FBAF48000A267E7 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45DEBA541FBAF48000A267E7 /* Config.swift */; }; - 45DEBA571FBB05F600A267E7 /* UIImage+Squared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45DEBA561FBB05F600A267E7 /* UIImage+Squared.swift */; }; - 45E0AD0B24B46F5F00F6FEE6 /* TrackingProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E0AD0A24B46F5F00F6FEE6 /* TrackingProgress.swift */; }; - 45E2B7B11FC2FEB500448ED2 /* UIImage+HEIC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E2B7B01FC2FEB500448ED2 /* UIImage+HEIC.swift */; }; - 45E8D1971FBDA16700DC2111 /* CloudSourceDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E8D1961FBDA16700DC2111 /* CloudSourceDataSource.swift */; }; - 45E8D1A11FBDA21200DC2111 /* CloudSourceTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E8D1A01FBDA21200DC2111 /* CloudSourceTabBarController.swift */; }; - 45F26C9822D73475005BD09E /* SelectableElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F26C9722D73475005BD09E /* SelectableElement.swift */; }; - BC0D160A210DAED700A88F30 /* SelectionListViewController+UICollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1606210DAED700A88F30 /* SelectionListViewController+UICollectionView.swift */; }; - BC0D160B210DAED700A88F30 /* SelectionListViewController+FlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1607210DAED700A88F30 /* SelectionListViewController+FlowLayout.swift */; }; - BC0D160C210DAED700A88F30 /* SelectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1608210DAED700A88F30 /* SelectionCell.swift */; }; - BC0D160D210DAED700A88F30 /* SelectionListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1609210DAED700A88F30 /* SelectionListViewController.swift */; }; - BC0D1611210DAF6100A88F30 /* Math+Clamp.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D160E210DAF6000A88F30 /* Math+Clamp.swift */; }; - BC0D1612210DAF6100A88F30 /* UICollectionView+Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D160F210DAF6000A88F30 /* UICollectionView+Reusable.swift */; }; - BC0D1613210DAF6100A88F30 /* UIView+Constraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1610210DAF6000A88F30 /* UIView+Constraints.swift */; }; - BC0D1621210E7A2500A88F30 /* EditorToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1615210E7A2500A88F30 /* EditorToolbar.swift */; }; - BC0D1622210E7A2500A88F30 /* EditorViewController+ToolbarDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1617210E7A2500A88F30 /* EditorViewController+ToolbarDelegate.swift */; }; - BC0D1623210E7A2500A88F30 /* EditorViewController+ViewSetup.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1618210E7A2500A88F30 /* EditorViewController+ViewSetup.swift */; }; - BC0D1624210E7A2500A88F30 /* EditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1619210E7A2500A88F30 /* EditorViewController.swift */; }; - BC0D1625210E7A2500A88F30 /* EditorViewController+EditDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D161A210E7A2500A88F30 /* EditorViewController+EditDataSource.swift */; }; - BC0D1626210E7A2500A88F30 /* CropLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D161C210E7A2500A88F30 /* CropLayer.swift */; }; - BC0D1627210E7A2500A88F30 /* CircleLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D161D210E7A2500A88F30 /* CircleLayer.swift */; }; - BC0D1628210E7A2500A88F30 /* CropGesturesHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D161F210E7A2500A88F30 /* CropGesturesHandler.swift */; }; - BC0D1629210E7A2500A88F30 /* CircleGesturesHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1620210E7A2500A88F30 /* CircleGesturesHandler.swift */; }; - BC0D162B210E7A5F00A88F30 /* UIImage+Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D162A210E7A5F00A88F30 /* UIImage+Bundle.swift */; }; - BC0D1636210E81DD00A88F30 /* UIImage+Sanitize.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D162F210E81DD00A88F30 /* UIImage+Sanitize.swift */; }; - BC0D1637210E81DD00A88F30 /* UIImage+Rect.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1630210E81DD00A88F30 /* UIImage+Rect.swift */; }; - BC0D1638210E81DD00A88F30 /* CGRect+Scale.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1631210E81DD00A88F30 /* CGRect+Scale.swift */; }; - BC0D163A210E81DD00A88F30 /* CGPoint+Distance.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1633210E81DD00A88F30 /* CGPoint+Distance.swift */; }; - BC0D163E210F422400A88F30 /* Uploadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D163D210F422400A88F30 /* Uploadable.swift */; }; - BC0D164021108B3000A88F30 /* UIImage+Write.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D163F21108B3000A88F30 /* UIImage+Write.swift */; }; - BC0D16552113277D00A88F30 /* DurationNumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D16542113277D00A88F30 /* DurationNumberFormatter.swift */; }; - BC0D1657211329FE00A88F30 /* UploadableExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D1656211329FE00A88F30 /* UploadableExtractor.swift */; }; - BC0D165921132DD800A88F30 /* URLExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0D165821132DD800A88F30 /* URLExtractor.swift */; }; - BC1E4CA520B5B14D00345FF5 /* AlbumListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC1E4CA420B5B14D00345FF5 /* AlbumListViewController.swift */; }; - BC1E4CA720B5B1C300345FF5 /* PhotoPickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC1E4CA620B5B1C300345FF5 /* PhotoPickerController.swift */; }; - BC1E4CAC20B5E68700345FF5 /* AlbumCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC1E4CAB20B5E68700345FF5 /* AlbumCell.swift */; }; - BC27B70220C582C9009D7578 /* AssetCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC27B70120C582C9009D7578 /* AssetCollectionViewController.swift */; }; - BC27B71020C58B86009D7578 /* AssetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC27B70F20C58B86009D7578 /* AssetCell.swift */; }; - BC5A82A0211DC2C500960F4B /* UIColor+Predefined.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC5A829F211DC2C500960F4B /* UIColor+Predefined.swift */; }; - BC636BA920BD978A007F67B6 /* PhotosExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC636BA820BD978A007F67B6 /* PhotosExtensions.swift */; }; - BC85013A20BD5070000D96AE /* PhotoAlbumRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC85013920BD5070000D96AE /* PhotoAlbumRepository.swift */; }; - BCFFE954211C7E2200F7CB49 /* Stylizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCFFE953211C7E2200F7CB49 /* Stylizer.swift */; }; + 4540BB322535CF860053CDBB /* CloudSourceBarTabScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BA9E2535CF860053CDBB /* CloudSourceBarTabScene.swift */; }; + 4540BB332535CF860053CDBB /* PickerNavigationScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BA9F2535CF860053CDBB /* PickerNavigationScene.swift */; }; + 4540BB342535CF860053CDBB /* PhotoPickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA12535CF860053CDBB /* PhotoPickerController.swift */; }; + 4540BB352535CF860053CDBB /* AssetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA32535CF860053CDBB /* AssetCell.swift */; }; + 4540BB362535CF860053CDBB /* AssetCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA42535CF860053CDBB /* AssetCollectionViewController.swift */; }; + 4540BB372535CF860053CDBB /* PhotosExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA52535CF860053CDBB /* PhotosExtensions.swift */; }; + 4540BB382535CF860053CDBB /* AlbumListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA72535CF860053CDBB /* AlbumListViewController.swift */; }; + 4540BB392535CF860053CDBB /* AlbumCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA82535CF860053CDBB /* AlbumCell.swift */; }; + 4540BB3A2535CF860053CDBB /* PhotoAlbumRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAA92535CF860053CDBB /* PhotoAlbumRepository.swift */; }; + 4540BB3B2535CF860053CDBB /* CloudSourceViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAAB2535CF860053CDBB /* CloudSourceViewType.swift */; }; + 4540BB3C2535CF860053CDBB /* CollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAAD2535CF860053CDBB /* CollectionViewFlowLayout.swift */; }; + 4540BB3D2535CF860053CDBB /* CloudItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAAF2535CF860053CDBB /* CloudItem.swift */; }; + 4540BB3E2535CF860053CDBB /* UserDefaults+State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB12535CF860053CDBB /* UserDefaults+State.swift */; }; + 4540BB3F2535CF860053CDBB /* Storyboard+Scenes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB22535CF860053CDBB /* Storyboard+Scenes.swift */; }; + 4540BB402535CF860053CDBB /* Scene+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB32535CF860053CDBB /* Scene+Defaults.swift */; }; + 4540BB412535CF860053CDBB /* UIImage+Squared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB42535CF860053CDBB /* UIImage+Squared.swift */; }; + 4540BB422535CF860053CDBB /* ActivityIndicatorTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB62535CF860053CDBB /* ActivityIndicatorTableViewCell.swift */; }; + 4540BB432535CF860053CDBB /* CloudItemTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB72535CF860053CDBB /* CloudItemTableViewCell.swift */; }; + 4540BB442535CF860053CDBB /* DocumentPickerUploadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAB92535CF860053CDBB /* DocumentPickerUploadController.swift */; }; + 4540BB452535CF860053CDBB /* MonitorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABA2535CF860053CDBB /* MonitorViewController.swift */; }; + 4540BB462535CF860053CDBB /* SourceTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABB2535CF860053CDBB /* SourceTableViewController.swift */; }; + 4540BB472535CF860053CDBB /* CloudSourceTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABC2535CF860053CDBB /* CloudSourceTableViewController.swift */; }; + 4540BB482535CF860053CDBB /* ImagePickerUploadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABD2535CF860053CDBB /* ImagePickerUploadController.swift */; }; + 4540BB492535CF860053CDBB /* CloudSourceTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABE2535CF860053CDBB /* CloudSourceTabBarController.swift */; }; + 4540BB4A2535CF860053CDBB /* CloudSourceCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BABF2535CF860053CDBB /* CloudSourceCollectionViewController.swift */; }; + 4540BB4B2535CF860053CDBB /* EditorToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAC22535CF860053CDBB /* EditorToolbar.swift */; }; + 4540BB4C2535CF860053CDBB /* CropLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAC42535CF860053CDBB /* CropLayer.swift */; }; + 4540BB4D2535CF860053CDBB /* CircleLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAC52535CF860053CDBB /* CircleLayer.swift */; }; + 4540BB4E2535CF860053CDBB /* ImageEditorCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAC72535CF860053CDBB /* ImageEditorCommand.swift */; }; + 4540BB4F2535CF860053CDBB /* ImageEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAC82535CF860053CDBB /* ImageEditor.swift */; }; + 4540BB502535CF860053CDBB /* EditorViewController+ToolbarDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BACA2535CF860053CDBB /* EditorViewController+ToolbarDelegate.swift */; }; + 4540BB512535CF860053CDBB /* EditorViewController+ViewSetup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BACB2535CF860053CDBB /* EditorViewController+ViewSetup.swift */; }; + 4540BB522535CF860053CDBB /* EditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BACC2535CF860053CDBB /* EditorViewController.swift */; }; + 4540BB532535CF860053CDBB /* EditorViewController+EditDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BACD2535CF860053CDBB /* EditorViewController+EditDataSource.swift */; }; + 4540BB542535CF860053CDBB /* ImageEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BACF2535CF860053CDBB /* ImageEditorView.swift */; }; + 4540BB552535CF860053CDBB /* CropGesturesHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD12535CF860053CDBB /* CropGesturesHandler.swift */; }; + 4540BB562535CF860053CDBB /* CircleGesturesHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD22535CF860053CDBB /* CircleGesturesHandler.swift */; }; + 4540BB572535CF860053CDBB /* Uploadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD42535CF860053CDBB /* Uploadable.swift */; }; + 4540BB582535CF860053CDBB /* SelectableElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD52535CF860053CDBB /* SelectableElement.swift */; }; + 4540BB592535CF860053CDBB /* SelectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD62535CF860053CDBB /* SelectionCell.swift */; }; + 4540BB5A2535CF860053CDBB /* SelectionListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD72535CF860053CDBB /* SelectionListViewController.swift */; }; + 4540BB5B2535CF860053CDBB /* SelectionListViewController+UICollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD82535CF860053CDBB /* SelectionListViewController+UICollectionView.swift */; }; + 4540BB5C2535CF860053CDBB /* SelectionListViewController+FlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAD92535CF860053CDBB /* SelectionListViewController+FlowLayout.swift */; }; + 4540BB5D2535CF860053CDBB /* ActivityIndicatorCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BADB2535CF860053CDBB /* ActivityIndicatorCollectionViewCell.swift */; }; + 4540BB5E2535CF860053CDBB /* CloudItemCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BADC2535CF860053CDBB /* CloudItemCollectionViewCell.swift */; }; + 4540BB5F2535CF860053CDBB /* Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BADE2535CF860053CDBB /* Scene.swift */; }; + 4540BB602535CF860053CDBB /* CloudSourceDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BADF2535CF860053CDBB /* CloudSourceDataSource.swift */; }; + 4540BB612535CF860053CDBB /* CloudSourceDataSourceConsumer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE02535CF860053CDBB /* CloudSourceDataSourceConsumer.swift */; }; + 4540BB622535CF860053CDBB /* CellDescriptibleSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE12535CF860053CDBB /* CellDescriptibleSource.swift */; }; + 4540BB632535CF860053CDBB /* LocalProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE42535CF860053CDBB /* LocalProvider.swift */; }; + 4540BB642535CF860053CDBB /* LocalSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE62535CF860053CDBB /* LocalSource.swift */; }; + 4540BB652535CF860053CDBB /* Stylizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE72535CF860053CDBB /* Stylizer.swift */; }; + 4540BB662535CF860053CDBB /* CloudSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAE82535CF860053CDBB /* CloudSource.swift */; }; + 4540BB672535CF860053CDBB /* PickerNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAEA2535CF860053CDBB /* PickerNavigationController.swift */; }; + 4540BB682535CF860053CDBB /* StylizerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAEC2535CF860053CDBB /* StylizerDelegate.swift */; }; + 4540BB692535CF860053CDBB /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4540BAEE2535CF860053CDBB /* Colors.xcassets */; }; + 4540BB6A2535CF860053CDBB /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4540BAEF2535CF860053CDBB /* Icons.xcassets */; }; + 4540BB6B2535CF860053CDBB /* PhotoPicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4540BAF02535CF860053CDBB /* PhotoPicker.storyboard */; }; + 4540BB6C2535CF860053CDBB /* Picker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4540BAF12535CF860053CDBB /* Picker.storyboard */; }; + 4540BB6D2535CF860053CDBB /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAF32535CF860053CDBB /* Constants.swift */; }; + 4540BB6E2535CF860053CDBB /* TrackingProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAF42535CF860053CDBB /* TrackingProgress.swift */; }; + 4540BB6F2535CF860053CDBB /* DurationNumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAF62535CF860053CDBB /* DurationNumberFormatter.swift */; }; + 4540BB702535CF860053CDBB /* AssetURLExtractorOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAF82535CF860053CDBB /* AssetURLExtractorOperation.swift */; }; + 4540BB712535CF860053CDBB /* AVAsset+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFA2535CF860053CDBB /* AVAsset+Export.swift */; }; + 4540BB722535CF860053CDBB /* UICollectionView+Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFB2535CF860053CDBB /* UICollectionView+Reusable.swift */; }; + 4540BB732535CF860053CDBB /* UIColor+Predefined.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFC2535CF860053CDBB /* UIColor+Predefined.swift */; }; + 4540BB742535CF860053CDBB /* SessionManager+FilestackDefault.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFD2535CF860053CDBB /* SessionManager+FilestackDefault.swift */; }; + 4540BB752535CF860053CDBB /* Math+Clamp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFE2535CF860053CDBB /* Math+Clamp.swift */; }; + 4540BB762535CF860053CDBB /* String+UTI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BAFF2535CF860053CDBB /* String+UTI.swift */; }; + 4540BB772535CF860053CDBB /* UIImage+Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB002535CF860053CDBB /* UIImage+Bundle.swift */; }; + 4540BB782535CF860053CDBB /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB012535CF860053CDBB /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */; }; + 4540BB792535CF860053CDBB /* URL+Copy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB022535CF860053CDBB /* URL+Copy.swift */; }; + 4540BB7A2535CF860053CDBB /* UIImage+HEIC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB032535CF860053CDBB /* UIImage+HEIC.swift */; }; + 4540BB7B2535CF860053CDBB /* UIView+Constraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB042535CF860053CDBB /* UIView+Constraints.swift */; }; + 4540BB7C2535CF860053CDBB /* Data+JSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB052535CF860053CDBB /* Data+JSON.swift */; }; + 4540BB7D2535CF860053CDBB /* UIColor+Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB062535CF860053CDBB /* UIColor+Bundle.swift */; }; + 4540BB7E2535CF860053CDBB /* URL+IsDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB072535CF860053CDBB /* URL+IsDirectory.swift */; }; + 4540BB7F2535CF860053CDBB /* UIImage+Resized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB082535CF860053CDBB /* UIImage+Resized.swift */; }; + 4540BB802535CF860053CDBB /* Array+SafeIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB092535CF860053CDBB /* Array+SafeIndex.swift */; }; + 4540BB812535CF860053CDBB /* UIImage+CIImageTransformations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB0B2535CF860053CDBB /* UIImage+CIImageTransformations.swift */; }; + 4540BB822535CF860053CDBB /* UIImage+Sanitize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB0C2535CF860053CDBB /* UIImage+Sanitize.swift */; }; + 4540BB832535CF860053CDBB /* UIImage+Rect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB0D2535CF860053CDBB /* UIImage+Rect.swift */; }; + 4540BB842535CF860053CDBB /* CGRect+Scale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB0E2535CF860053CDBB /* CGRect+Scale.swift */; }; + 4540BB852535CF860053CDBB /* CGPoint+Distance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB0F2535CF860053CDBB /* CGPoint+Distance.swift */; }; + 4540BB862535CF860053CDBB /* UIImage+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB102535CF860053CDBB /* UIImage+Export.swift */; }; + 4540BB872535CF860053CDBB /* UIImage+Write.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB112535CF860053CDBB /* UIImage+Write.swift */; }; + 4540BB882535CF860053CDBB /* LogoutRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB132535CF860053CDBB /* LogoutRequest.swift */; }; + 4540BB892535CF860053CDBB /* StoreRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB142535CF860053CDBB /* StoreRequest.swift */; }; + 4540BB8A2535CF860053CDBB /* FolderListRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB152535CF860053CDBB /* FolderListRequest.swift */; }; + 4540BB8B2535CF860053CDBB /* PrefetchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB162535CF860053CDBB /* PrefetchRequest.swift */; }; + 4540BB8C2535CF860053CDBB /* UploadableExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB182535CF860053CDBB /* UploadableExtractor.swift */; }; + 4540BB8D2535CF860053CDBB /* URLExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB192535CF860053CDBB /* URLExtractor.swift */; }; + 4540BB8E2535CF860053CDBB /* CloudRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB1B2535CF860053CDBB /* CloudRequest.swift */; }; + 4540BB8F2535CF860053CDBB /* CloudService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB1D2535CF860053CDBB /* CloudService.swift */; }; + 4540BB902535CF860053CDBB /* Filestack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4540BB1E2535CF860053CDBB /* Filestack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4540BB912535CF860053CDBB /* CompletionHandlers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB202535CF860053CDBB /* CompletionHandlers.swift */; }; + 4540BB922535CF860053CDBB /* CloudProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB222535CF860053CDBB /* CloudProvider.swift */; }; + 4540BB932535CF860053CDBB /* ImageURLExportPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB232535CF860053CDBB /* ImageURLExportPreset.swift */; }; + 4540BB942535CF860053CDBB /* ClientError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB242535CF860053CDBB /* ClientError.swift */; }; + 4540BB952535CF860053CDBB /* LogoutResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB262535CF860053CDBB /* LogoutResponse.swift */; }; + 4540BB962535CF860053CDBB /* CloudResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB272535CF860053CDBB /* CloudResponse.swift */; }; + 4540BB972535CF860053CDBB /* FolderListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB282535CF860053CDBB /* FolderListResponse.swift */; }; + 4540BB982535CF860053CDBB /* PrefetchResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB292535CF860053CDBB /* PrefetchResponse.swift */; }; + 4540BB992535CF860053CDBB /* StoreResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB2A2535CF860053CDBB /* StoreResponse.swift */; }; + 4540BB9A2535CF860053CDBB /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB2C2535CF860053CDBB /* Config.swift */; }; + 4540BB9B2535CF860053CDBB /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB2D2535CF860053CDBB /* Client.swift */; }; + 4540BB9C2535CF860053CDBB /* Client+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB2F2535CF860053CDBB /* Client+ObjC.swift */; }; + 4540BB9D2535CF860053CDBB /* Client+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4540BB302535CF860053CDBB /* Client+Deprecated.swift */; }; + 4564B90D2535B3DA0045A3C7 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 4564B90C2535B3DA0045A3C7 /* Alamofire */; }; + 4564B9112535B3E70045A3C7 /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = 4564B9102535B3E70045A3C7 /* Zip */; }; + 4564B9152535B4030045A3C7 /* FilestackSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 4564B9142535B4030045A3C7 /* FilestackSDK */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 4570850A1F975C6C00991340 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 457084F61F975C6B00991340 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 457084FE1F975C6C00991340; - remoteInfo = Filestack; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 45690CF422A675BB00285F62 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 45690CF922A675EF00285F62 /* Alamofire.framework in CopyFiles */, - 45690CF822A675E800285F62 /* ZipArchive.framework in CopyFiles */, - 45690CF722A675DE00285F62 /* FilestackSDK.framework in CopyFiles */, - 45690CF622A675CA00285F62 /* OHHTTPStubs.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ - 4500C5721FC46A9200B17485 /* LogoutRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoutRequest.swift; sourceTree = ""; }; - 450225B822DC686600C91A91 /* URL+Copy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Copy.swift"; sourceTree = ""; }; 4518BDF51FC6DE0400FB7D9D /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 451F947C233137340045F718 /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; - 452B77BD1FB45EF9000F3FAE /* MonitorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MonitorViewController.swift; sourceTree = ""; }; - 452DCF6C1FA1E1E30033B75D /* CloudProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudProvider.swift; sourceTree = ""; }; - 454054731F98A30F00C12B2F /* Client.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Client.swift; sourceTree = ""; }; - 454662821FB5BBEB00260033 /* CloudSourceTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceTableViewController.swift; sourceTree = ""; }; - 4546628D1FB6063F00260033 /* CloudItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudItem.swift; sourceTree = ""; }; - 454775B422D7659D00C7F04D /* UIImage+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Export.swift"; sourceTree = ""; }; - 454775B622D7664D00C7F04D /* AVAsset+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AVAsset+Export.swift"; sourceTree = ""; }; - 454783C9232FCBDE00380144 /* ClientError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientError.swift; sourceTree = ""; }; - 455804A11F9F43A7007C694C /* CloudService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudService.swift; sourceTree = ""; }; - 455804A41F9F4420007C694C /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - 455804A91F9F448C007C694C /* SessionManager+FilestackDefault.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SessionManager+FilestackDefault.swift"; sourceTree = ""; }; - 45648CC11FD15DD400281653 /* DocumentPickerUploadController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentPickerUploadController.swift; sourceTree = ""; }; - 4565CEEC1FBEE5940043BFBB /* CloudSourceCollectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceCollectionViewController.swift; sourceTree = ""; }; - 4565CEF21FBEEC2F0043BFBB /* CloudItemCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudItemCollectionViewCell.swift; sourceTree = ""; }; - 4565CEF41FBEF5AE0043BFBB /* ActivityIndicatorCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorCollectionViewCell.swift; sourceTree = ""; }; - 4565CEF61FBF3F400043BFBB /* UserDefaults+State.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+State.swift"; sourceTree = ""; }; - 4565CEF81FBF4FE60043BFBB /* CloudSourceViewType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceViewType.swift; sourceTree = ""; }; - 4565CEFA1FBF50010043BFBB /* CloudSourceDataSourceConsumer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceDataSourceConsumer.swift; sourceTree = ""; }; - 4568DCCF1F9DFD7300F29923 /* ImagePickerUploadController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImagePickerUploadController.swift; sourceTree = ""; }; - 45690CE422A66E2800285F62 /* OHHTTPStubs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OHHTTPStubs.framework; path = Carthage/Build/iOS/OHHTTPStubs.framework; sourceTree = ""; }; - 45690CE522A66E2800285F62 /* ZipArchive.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZipArchive.framework; path = Carthage/Build/iOS/ZipArchive.framework; sourceTree = ""; }; - 45690CE622A66E2800285F62 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; - 45690CEB22A66E4300285F62 /* Cartfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Cartfile; sourceTree = ""; }; - 45690CED22A672CE00285F62 /* FilestackSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FilestackSDK.framework; path = Carthage/Build/iOS/FilestackSDK.framework; sourceTree = ""; }; - 4569C7841FB1B6C500DE990E /* SourceTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceTableViewController.swift; sourceTree = ""; }; - 4569C7871FB1C35600DE990E /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = ""; }; - 4569C79C1FB1CFC000DE990E /* Picker.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Picker.storyboard; sourceTree = ""; }; - 4569C7A31FB1F84500DE990E /* CellDescriptibleSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellDescriptibleSource.swift; sourceTree = ""; }; - 4569C7A51FB1F85800DE990E /* LocalSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalSource.swift; sourceTree = ""; }; - 4569C7A71FB1F86700DE990E /* CloudSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSource.swift; sourceTree = ""; }; + 4540BA9E2535CF860053CDBB /* CloudSourceBarTabScene.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceBarTabScene.swift; sourceTree = ""; }; + 4540BA9F2535CF860053CDBB /* PickerNavigationScene.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PickerNavigationScene.swift; sourceTree = ""; }; + 4540BAA12535CF860053CDBB /* PhotoPickerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoPickerController.swift; sourceTree = ""; }; + 4540BAA32535CF860053CDBB /* AssetCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AssetCell.swift; sourceTree = ""; }; + 4540BAA42535CF860053CDBB /* AssetCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AssetCollectionViewController.swift; sourceTree = ""; }; + 4540BAA52535CF860053CDBB /* PhotosExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotosExtensions.swift; sourceTree = ""; }; + 4540BAA72535CF860053CDBB /* AlbumListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlbumListViewController.swift; sourceTree = ""; }; + 4540BAA82535CF860053CDBB /* AlbumCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlbumCell.swift; sourceTree = ""; }; + 4540BAA92535CF860053CDBB /* PhotoAlbumRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoAlbumRepository.swift; sourceTree = ""; }; + 4540BAAB2535CF860053CDBB /* CloudSourceViewType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceViewType.swift; sourceTree = ""; }; + 4540BAAD2535CF860053CDBB /* CollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFlowLayout.swift; sourceTree = ""; }; + 4540BAAF2535CF860053CDBB /* CloudItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudItem.swift; sourceTree = ""; }; + 4540BAB12535CF860053CDBB /* UserDefaults+State.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserDefaults+State.swift"; sourceTree = ""; }; + 4540BAB22535CF860053CDBB /* Storyboard+Scenes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Storyboard+Scenes.swift"; sourceTree = ""; }; + 4540BAB32535CF860053CDBB /* Scene+Defaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Scene+Defaults.swift"; sourceTree = ""; }; + 4540BAB42535CF860053CDBB /* UIImage+Squared.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Squared.swift"; sourceTree = ""; }; + 4540BAB62535CF860053CDBB /* ActivityIndicatorTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorTableViewCell.swift; sourceTree = ""; }; + 4540BAB72535CF860053CDBB /* CloudItemTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudItemTableViewCell.swift; sourceTree = ""; }; + 4540BAB92535CF860053CDBB /* DocumentPickerUploadController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocumentPickerUploadController.swift; sourceTree = ""; }; + 4540BABA2535CF860053CDBB /* MonitorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MonitorViewController.swift; sourceTree = ""; }; + 4540BABB2535CF860053CDBB /* SourceTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SourceTableViewController.swift; sourceTree = ""; }; + 4540BABC2535CF860053CDBB /* CloudSourceTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceTableViewController.swift; sourceTree = ""; }; + 4540BABD2535CF860053CDBB /* ImagePickerUploadController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImagePickerUploadController.swift; sourceTree = ""; }; + 4540BABE2535CF860053CDBB /* CloudSourceTabBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceTabBarController.swift; sourceTree = ""; }; + 4540BABF2535CF860053CDBB /* CloudSourceCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceCollectionViewController.swift; sourceTree = ""; }; + 4540BAC22535CF860053CDBB /* EditorToolbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EditorToolbar.swift; sourceTree = ""; }; + 4540BAC42535CF860053CDBB /* CropLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CropLayer.swift; sourceTree = ""; }; + 4540BAC52535CF860053CDBB /* CircleLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircleLayer.swift; sourceTree = ""; }; + 4540BAC72535CF860053CDBB /* ImageEditorCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageEditorCommand.swift; sourceTree = ""; }; + 4540BAC82535CF860053CDBB /* ImageEditor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageEditor.swift; sourceTree = ""; }; + 4540BACA2535CF860053CDBB /* EditorViewController+ToolbarDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+ToolbarDelegate.swift"; sourceTree = ""; }; + 4540BACB2535CF860053CDBB /* EditorViewController+ViewSetup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+ViewSetup.swift"; sourceTree = ""; }; + 4540BACC2535CF860053CDBB /* EditorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EditorViewController.swift; sourceTree = ""; }; + 4540BACD2535CF860053CDBB /* EditorViewController+EditDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+EditDataSource.swift"; sourceTree = ""; }; + 4540BACF2535CF860053CDBB /* ImageEditorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageEditorView.swift; sourceTree = ""; }; + 4540BAD12535CF860053CDBB /* CropGesturesHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CropGesturesHandler.swift; sourceTree = ""; }; + 4540BAD22535CF860053CDBB /* CircleGesturesHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircleGesturesHandler.swift; sourceTree = ""; }; + 4540BAD42535CF860053CDBB /* Uploadable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Uploadable.swift; sourceTree = ""; }; + 4540BAD52535CF860053CDBB /* SelectableElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectableElement.swift; sourceTree = ""; }; + 4540BAD62535CF860053CDBB /* SelectionCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionCell.swift; sourceTree = ""; }; + 4540BAD72535CF860053CDBB /* SelectionListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionListViewController.swift; sourceTree = ""; }; + 4540BAD82535CF860053CDBB /* SelectionListViewController+UICollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SelectionListViewController+UICollectionView.swift"; sourceTree = ""; }; + 4540BAD92535CF860053CDBB /* SelectionListViewController+FlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SelectionListViewController+FlowLayout.swift"; sourceTree = ""; }; + 4540BADB2535CF860053CDBB /* ActivityIndicatorCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorCollectionViewCell.swift; sourceTree = ""; }; + 4540BADC2535CF860053CDBB /* CloudItemCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudItemCollectionViewCell.swift; sourceTree = ""; }; + 4540BADE2535CF860053CDBB /* Scene.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Scene.swift; sourceTree = ""; }; + 4540BADF2535CF860053CDBB /* CloudSourceDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceDataSource.swift; sourceTree = ""; }; + 4540BAE02535CF860053CDBB /* CloudSourceDataSourceConsumer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSourceDataSourceConsumer.swift; sourceTree = ""; }; + 4540BAE12535CF860053CDBB /* CellDescriptibleSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CellDescriptibleSource.swift; sourceTree = ""; }; + 4540BAE42535CF860053CDBB /* LocalProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalProvider.swift; sourceTree = ""; }; + 4540BAE62535CF860053CDBB /* LocalSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalSource.swift; sourceTree = ""; }; + 4540BAE72535CF860053CDBB /* Stylizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stylizer.swift; sourceTree = ""; }; + 4540BAE82535CF860053CDBB /* CloudSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudSource.swift; sourceTree = ""; }; + 4540BAEA2535CF860053CDBB /* PickerNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PickerNavigationController.swift; sourceTree = ""; }; + 4540BAEC2535CF860053CDBB /* StylizerDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StylizerDelegate.swift; sourceTree = ""; }; + 4540BAEE2535CF860053CDBB /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = ""; }; + 4540BAEF2535CF860053CDBB /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = ""; }; + 4540BAF02535CF860053CDBB /* PhotoPicker.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = PhotoPicker.storyboard; sourceTree = ""; }; + 4540BAF12535CF860053CDBB /* Picker.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Picker.storyboard; sourceTree = ""; }; + 4540BAF32535CF860053CDBB /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + 4540BAF42535CF860053CDBB /* TrackingProgress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TrackingProgress.swift; sourceTree = ""; }; + 4540BAF62535CF860053CDBB /* DurationNumberFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DurationNumberFormatter.swift; sourceTree = ""; }; + 4540BAF82535CF860053CDBB /* AssetURLExtractorOperation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AssetURLExtractorOperation.swift; sourceTree = ""; }; + 4540BAFA2535CF860053CDBB /* AVAsset+Export.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AVAsset+Export.swift"; sourceTree = ""; }; + 4540BAFB2535CF860053CDBB /* UICollectionView+Reusable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Reusable.swift"; sourceTree = ""; }; + 4540BAFC2535CF860053CDBB /* UIColor+Predefined.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Predefined.swift"; sourceTree = ""; }; + 4540BAFD2535CF860053CDBB /* SessionManager+FilestackDefault.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SessionManager+FilestackDefault.swift"; sourceTree = ""; }; + 4540BAFE2535CF860053CDBB /* Math+Clamp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Math+Clamp.swift"; sourceTree = ""; }; + 4540BAFF2535CF860053CDBB /* String+UTI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+UTI.swift"; sourceTree = ""; }; + 4540BB002535CF860053CDBB /* UIImage+Bundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Bundle.swift"; sourceTree = ""; }; + 4540BB012535CF860053CDBB /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift"; sourceTree = ""; }; + 4540BB022535CF860053CDBB /* URL+Copy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "URL+Copy.swift"; sourceTree = ""; }; + 4540BB032535CF860053CDBB /* UIImage+HEIC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+HEIC.swift"; sourceTree = ""; }; + 4540BB042535CF860053CDBB /* UIView+Constraints.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Constraints.swift"; sourceTree = ""; }; + 4540BB052535CF860053CDBB /* Data+JSON.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+JSON.swift"; sourceTree = ""; }; + 4540BB062535CF860053CDBB /* UIColor+Bundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Bundle.swift"; sourceTree = ""; }; + 4540BB072535CF860053CDBB /* URL+IsDirectory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "URL+IsDirectory.swift"; sourceTree = ""; }; + 4540BB082535CF860053CDBB /* UIImage+Resized.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Resized.swift"; sourceTree = ""; }; + 4540BB092535CF860053CDBB /* Array+SafeIndex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+SafeIndex.swift"; sourceTree = ""; }; + 4540BB0B2535CF860053CDBB /* UIImage+CIImageTransformations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+CIImageTransformations.swift"; sourceTree = ""; }; + 4540BB0C2535CF860053CDBB /* UIImage+Sanitize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Sanitize.swift"; sourceTree = ""; }; + 4540BB0D2535CF860053CDBB /* UIImage+Rect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Rect.swift"; sourceTree = ""; }; + 4540BB0E2535CF860053CDBB /* CGRect+Scale.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGRect+Scale.swift"; sourceTree = ""; }; + 4540BB0F2535CF860053CDBB /* CGPoint+Distance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGPoint+Distance.swift"; sourceTree = ""; }; + 4540BB102535CF860053CDBB /* UIImage+Export.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Export.swift"; sourceTree = ""; }; + 4540BB112535CF860053CDBB /* UIImage+Write.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Write.swift"; sourceTree = ""; }; + 4540BB132535CF860053CDBB /* LogoutRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogoutRequest.swift; sourceTree = ""; }; + 4540BB142535CF860053CDBB /* StoreRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreRequest.swift; sourceTree = ""; }; + 4540BB152535CF860053CDBB /* FolderListRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FolderListRequest.swift; sourceTree = ""; }; + 4540BB162535CF860053CDBB /* PrefetchRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefetchRequest.swift; sourceTree = ""; }; + 4540BB182535CF860053CDBB /* UploadableExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UploadableExtractor.swift; sourceTree = ""; }; + 4540BB192535CF860053CDBB /* URLExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLExtractor.swift; sourceTree = ""; }; + 4540BB1B2535CF860053CDBB /* CloudRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudRequest.swift; sourceTree = ""; }; + 4540BB1D2535CF860053CDBB /* CloudService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudService.swift; sourceTree = ""; }; + 4540BB1E2535CF860053CDBB /* Filestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Filestack.h; sourceTree = ""; }; + 4540BB202535CF860053CDBB /* CompletionHandlers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CompletionHandlers.swift; sourceTree = ""; }; + 4540BB222535CF860053CDBB /* CloudProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudProvider.swift; sourceTree = ""; }; + 4540BB232535CF860053CDBB /* ImageURLExportPreset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageURLExportPreset.swift; sourceTree = ""; }; + 4540BB242535CF860053CDBB /* ClientError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClientError.swift; sourceTree = ""; }; + 4540BB262535CF860053CDBB /* LogoutResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogoutResponse.swift; sourceTree = ""; }; + 4540BB272535CF860053CDBB /* CloudResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CloudResponse.swift; sourceTree = ""; }; + 4540BB282535CF860053CDBB /* FolderListResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FolderListResponse.swift; sourceTree = ""; }; + 4540BB292535CF860053CDBB /* PrefetchResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefetchResponse.swift; sourceTree = ""; }; + 4540BB2A2535CF860053CDBB /* StoreResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreResponse.swift; sourceTree = ""; }; + 4540BB2C2535CF860053CDBB /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; + 4540BB2D2535CF860053CDBB /* Client.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Client.swift; sourceTree = ""; }; + 4540BB2F2535CF860053CDBB /* Client+ObjC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Client+ObjC.swift"; sourceTree = ""; }; + 4540BB302535CF860053CDBB /* Client+Deprecated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Client+Deprecated.swift"; sourceTree = ""; }; + 4540BB312535CF860053CDBB /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 457084FF1F975C6C00991340 /* Filestack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Filestack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 457085021F975C6C00991340 /* Filestack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Filestack.h; sourceTree = ""; }; - 457085031F975C6C00991340 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 457085081F975C6C00991340 /* FilestackTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FilestackTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 4570850F1F975C6C00991340 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4575E09422CF34090025E357 /* ImageEditorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageEditorView.swift; sourceTree = ""; }; - 4575E09622CF41BC0025E357 /* ImageEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageEditor.swift; sourceTree = ""; }; - 4575E09822CF41EC0025E357 /* UIImage+CIImageTransformations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+CIImageTransformations.swift"; sourceTree = ""; }; - 45786D5B1FB3202B00478545 /* PickerNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerNavigationController.swift; sourceTree = ""; }; - 4587330C1FA32B66002DAA9D /* StoreRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreRequest.swift; sourceTree = ""; }; - 4597849822CE10E700181BFE /* ImageEditorCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageEditorCommand.swift; sourceTree = ""; }; - 459ADA091FB9FB050087698A /* ActivityIndicatorTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorTableViewCell.swift; sourceTree = ""; }; - 459FF21723313A85003671EA /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = ""; }; - 459FF21923313DA2003671EA /* UIColor+Bundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Bundle.swift"; sourceTree = ""; }; - 45A3C5A52331043600A60B5F /* URL+IsDirectory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+IsDirectory.swift"; sourceTree = ""; }; - 45A48C151FB311F000356BC6 /* PrefetchRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrefetchRequest.swift; sourceTree = ""; }; - 45A48C1F1FB317F100356BC6 /* Data+JSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+JSON.swift"; sourceTree = ""; }; - 45A6102624B5A65800225738 /* AssetURLExtractorOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetURLExtractorOperation.swift; sourceTree = ""; }; - 45A92F151FA0BE3F00FEB611 /* CloudRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudRequest.swift; sourceTree = ""; }; - 45A92F171FA0BE9600FEB611 /* FolderListRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderListRequest.swift; sourceTree = ""; }; - 45B603D21FC5B88A006775BF /* ImageURLExportPreset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageURLExportPreset.swift; sourceTree = ""; }; - 45BFF67823290AC700944028 /* Cartfile.resolved */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cartfile.resolved; sourceTree = ""; }; 45BFF67A23290B1E00944028 /* Filestack.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Filestack.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 45BFF67B23290B1E00944028 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 45BFF67C23290B1F00944028 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; 45BFF67D23290B1F00944028 /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = ""; }; - 45BFF68223290FA600944028 /* Client+Deprecated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Client+Deprecated.swift"; sourceTree = ""; }; - 45BFF6872329189800944028 /* StoreResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreResponse.swift; sourceTree = ""; }; - 45BFF6892329192700944028 /* FolderListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderListResponse.swift; sourceTree = ""; }; - 45BFF68B2329197800944028 /* CloudResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudResponse.swift; sourceTree = ""; }; - 45BFF68D2329199D00944028 /* LogoutResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoutResponse.swift; sourceTree = ""; }; - 45BFF69023291A1300944028 /* PrefetchResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrefetchResponse.swift; sourceTree = ""; }; - 45BFF69B23291E3700944028 /* LocalProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalProvider.swift; sourceTree = ""; }; - 45BFF69D2329201800944028 /* PhotoPicker.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = PhotoPicker.storyboard; sourceTree = ""; }; - 45BFF6A02329216800944028 /* Client+ObjC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Client+ObjC.swift"; sourceTree = ""; }; - 45BFF6A223292E5800944028 /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift"; sourceTree = ""; }; - 45BFF6A523292F2300944028 /* PickerNavigationScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerNavigationScene.swift; sourceTree = ""; }; - 45BFF6A723292F5E00944028 /* CloudSourceBarTabScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceBarTabScene.swift; sourceTree = ""; }; - 45BFF6AC232931EC00944028 /* StylizerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StylizerDelegate.swift; sourceTree = ""; }; - 45BFF6B02329372600944028 /* CompletionHandlers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletionHandlers.swift; sourceTree = ""; }; - 45C142E522CA4B25007B4EDA /* String+UTI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+UTI.swift"; sourceTree = ""; }; - 45C47E731FB9B3DC009B8248 /* Array+SafeIndex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+SafeIndex.swift"; sourceTree = ""; }; - 45C47E7D1FB9F08A009B8248 /* Storyboard+Scenes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Storyboard+Scenes.swift"; sourceTree = ""; }; - 45C47E7F1FB9F0C6009B8248 /* Scene+Defaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Scene+Defaults.swift"; sourceTree = ""; }; - 45C47E831FB9F0DF009B8248 /* Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scene.swift; sourceTree = ""; }; - 45CBF4881FBF6D7700891BBD /* CloudItemTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudItemTableViewCell.swift; sourceTree = ""; }; - 45CF081222D745E500DA2884 /* UIImage+Resized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Resized.swift"; sourceTree = ""; }; - 45DEBA541FBAF48000A267E7 /* Config.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; - 45DEBA561FBB05F600A267E7 /* UIImage+Squared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Squared.swift"; sourceTree = ""; }; - 45E0AD0A24B46F5F00F6FEE6 /* TrackingProgress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackingProgress.swift; sourceTree = ""; }; - 45E2B7B01FC2FEB500448ED2 /* UIImage+HEIC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+HEIC.swift"; sourceTree = ""; }; - 45E8D1961FBDA16700DC2111 /* CloudSourceDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceDataSource.swift; sourceTree = ""; }; - 45E8D1A01FBDA21200DC2111 /* CloudSourceTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudSourceTabBarController.swift; sourceTree = ""; }; - 45F26C9722D73475005BD09E /* SelectableElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectableElement.swift; sourceTree = ""; }; - BC0D1606210DAED700A88F30 /* SelectionListViewController+UICollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SelectionListViewController+UICollectionView.swift"; sourceTree = ""; }; - BC0D1607210DAED700A88F30 /* SelectionListViewController+FlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SelectionListViewController+FlowLayout.swift"; sourceTree = ""; }; - BC0D1608210DAED700A88F30 /* SelectionCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionCell.swift; sourceTree = ""; }; - BC0D1609210DAED700A88F30 /* SelectionListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectionListViewController.swift; sourceTree = ""; }; - BC0D160E210DAF6000A88F30 /* Math+Clamp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Math+Clamp.swift"; sourceTree = ""; }; - BC0D160F210DAF6000A88F30 /* UICollectionView+Reusable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Reusable.swift"; sourceTree = ""; }; - BC0D1610210DAF6000A88F30 /* UIView+Constraints.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Constraints.swift"; sourceTree = ""; }; - BC0D1615210E7A2500A88F30 /* EditorToolbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EditorToolbar.swift; sourceTree = ""; }; - BC0D1617210E7A2500A88F30 /* EditorViewController+ToolbarDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+ToolbarDelegate.swift"; sourceTree = ""; }; - BC0D1618210E7A2500A88F30 /* EditorViewController+ViewSetup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+ViewSetup.swift"; sourceTree = ""; }; - BC0D1619210E7A2500A88F30 /* EditorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EditorViewController.swift; sourceTree = ""; }; - BC0D161A210E7A2500A88F30 /* EditorViewController+EditDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorViewController+EditDataSource.swift"; sourceTree = ""; }; - BC0D161C210E7A2500A88F30 /* CropLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CropLayer.swift; sourceTree = ""; }; - BC0D161D210E7A2500A88F30 /* CircleLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircleLayer.swift; sourceTree = ""; }; - BC0D161F210E7A2500A88F30 /* CropGesturesHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CropGesturesHandler.swift; sourceTree = ""; }; - BC0D1620210E7A2500A88F30 /* CircleGesturesHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircleGesturesHandler.swift; sourceTree = ""; }; - BC0D162A210E7A5F00A88F30 /* UIImage+Bundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Bundle.swift"; sourceTree = ""; }; - BC0D162F210E81DD00A88F30 /* UIImage+Sanitize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Sanitize.swift"; sourceTree = ""; }; - BC0D1630210E81DD00A88F30 /* UIImage+Rect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Rect.swift"; sourceTree = ""; }; - BC0D1631210E81DD00A88F30 /* CGRect+Scale.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGRect+Scale.swift"; sourceTree = ""; }; - BC0D1633210E81DD00A88F30 /* CGPoint+Distance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGPoint+Distance.swift"; sourceTree = ""; }; - BC0D163D210F422400A88F30 /* Uploadable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Uploadable.swift; sourceTree = ""; }; - BC0D163F21108B3000A88F30 /* UIImage+Write.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Write.swift"; sourceTree = ""; }; - BC0D16542113277D00A88F30 /* DurationNumberFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DurationNumberFormatter.swift; sourceTree = ""; }; - BC0D1656211329FE00A88F30 /* UploadableExtractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadableExtractor.swift; sourceTree = ""; }; - BC0D165821132DD800A88F30 /* URLExtractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLExtractor.swift; sourceTree = ""; }; - BC1E4CA420B5B14D00345FF5 /* AlbumListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumListViewController.swift; sourceTree = ""; }; - BC1E4CA620B5B1C300345FF5 /* PhotoPickerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoPickerController.swift; sourceTree = ""; }; - BC1E4CAB20B5E68700345FF5 /* AlbumCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumCell.swift; sourceTree = ""; }; - BC27B70120C582C9009D7578 /* AssetCollectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetCollectionViewController.swift; sourceTree = ""; }; - BC27B70F20C58B86009D7578 /* AssetCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetCell.swift; sourceTree = ""; }; - BC5A829F211DC2C500960F4B /* UIColor+Predefined.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Predefined.swift"; sourceTree = ""; }; - BC636BA820BD978A007F67B6 /* PhotosExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotosExtensions.swift; sourceTree = ""; }; - BC85013920BD5070000D96AE /* PhotoAlbumRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoAlbumRepository.swift; sourceTree = ""; }; - BCFFE953211C7E2200F7CB49 /* Stylizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stylizer.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -283,535 +243,502 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 45690CE822A66E2800285F62 /* ZipArchive.framework in Frameworks */, - 45690CEE22A672CF00285F62 /* FilestackSDK.framework in Frameworks */, - 45690CE922A66E2800285F62 /* Alamofire.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 457085051F975C6C00991340 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 457085091F975C6C00991340 /* Filestack.framework in Frameworks */, - 45690CF322A673F700285F62 /* OHHTTPStubs.framework in Frameworks */, + 4564B9152535B4030045A3C7 /* FilestackSDK in Frameworks */, + 4564B90D2535B3DA0045A3C7 /* Alamofire in Frameworks */, + 4564B9112535B3E70045A3C7 /* Zip in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 451F947B2331371E0045F718 /* FlowLayouts */ = { + 4540BA992535CF860053CDBB /* Sources */ = { isa = PBXGroup; children = ( - 451F947C233137340045F718 /* CollectionViewFlowLayout.swift */, + 4540BA9A2535CF860053CDBB /* Filestack */, ); - path = FlowLayouts; + path = Sources; sourceTree = ""; }; - 452B6AD21FA8860400FFD490 /* Models */ = { + 4540BA9A2535CF860053CDBB /* Filestack */ = { isa = PBXGroup; children = ( - 454054731F98A30F00C12B2F /* Client.swift */, - 45DEBA541FBAF48000A267E7 /* Config.swift */, + 4540BA9B2535CF860053CDBB /* UI */, + 4540BAED2535CF860053CDBB /* Resources */, + 4540BAF22535CF860053CDBB /* Internal */, + 4540BB1E2535CF860053CDBB /* Filestack.h */, + 4540BB1F2535CF860053CDBB /* Public */, + 4540BB312535CF860053CDBB /* Info.plist */, ); - path = Models; + path = Filestack; sourceTree = ""; }; - 452DA7F91FB6235D0082E52D /* Extensions */ = { + 4540BA9B2535CF860053CDBB /* UI */ = { isa = PBXGroup; children = ( - 45C47E7F1FB9F0C6009B8248 /* Scene+Defaults.swift */, - 45C47E7D1FB9F08A009B8248 /* Storyboard+Scenes.swift */, - 45DEBA561FBB05F600A267E7 /* UIImage+Squared.swift */, - 4565CEF61FBF3F400043BFBB /* UserDefaults+State.swift */, + 4540BA9C2535CF860053CDBB /* Internal */, + 4540BAE22535CF860053CDBB /* Public */, ); - path = Extensions; + path = UI; sourceTree = ""; }; - 452DCF631FA1E1CA0033B75D /* Enums */ = { + 4540BA9C2535CF860053CDBB /* Internal */ = { isa = PBXGroup; children = ( - 454783C9232FCBDE00380144 /* ClientError.swift */, - 452DCF6C1FA1E1E30033B75D /* CloudProvider.swift */, - 45B603D21FC5B88A006775BF /* ImageURLExportPreset.swift */, + 4540BA9D2535CF860053CDBB /* Scenes */, + 4540BAA02535CF860053CDBB /* PhotoPicker */, + 4540BAAA2535CF860053CDBB /* Enums */, + 4540BAAC2535CF860053CDBB /* FlowLayouts */, + 4540BAAE2535CF860053CDBB /* Models */, + 4540BAB02535CF860053CDBB /* Extensions */, + 4540BAB52535CF860053CDBB /* Table View Cells */, + 4540BAB82535CF860053CDBB /* Controllers */, + 4540BAC02535CF860053CDBB /* PhotoEditor */, + 4540BADA2535CF860053CDBB /* Collection View Cells */, + 4540BADD2535CF860053CDBB /* Protocols */, ); - path = Enums; + path = Internal; sourceTree = ""; }; - 4546628C1FB6063500260033 /* Models */ = { + 4540BA9D2535CF860053CDBB /* Scenes */ = { isa = PBXGroup; children = ( - 4546628D1FB6063F00260033 /* CloudItem.swift */, + 4540BA9E2535CF860053CDBB /* CloudSourceBarTabScene.swift */, + 4540BA9F2535CF860053CDBB /* PickerNavigationScene.swift */, ); - path = Models; + path = Scenes; sourceTree = ""; }; - 455804981F9F438A007C694C /* Services */ = { + 4540BAA02535CF860053CDBB /* PhotoPicker */ = { isa = PBXGroup; children = ( - 455804A11F9F43A7007C694C /* CloudService.swift */, + 4540BAA12535CF860053CDBB /* PhotoPickerController.swift */, + 4540BAA22535CF860053CDBB /* AssetCollection */, + 4540BAA52535CF860053CDBB /* PhotosExtensions.swift */, + 4540BAA62535CF860053CDBB /* AlbumList */, + 4540BAA92535CF860053CDBB /* PhotoAlbumRepository.swift */, ); - path = Services; + path = PhotoPicker; sourceTree = ""; }; - 455AB6BD232FD27C001ABE81 /* Protocols */ = { + 4540BAA22535CF860053CDBB /* AssetCollection */ = { isa = PBXGroup; children = ( - 45A92F151FA0BE3F00FEB611 /* CloudRequest.swift */, + 4540BAA32535CF860053CDBB /* AssetCell.swift */, + 4540BAA42535CF860053CDBB /* AssetCollectionViewController.swift */, ); - path = Protocols; + path = AssetCollection; sourceTree = ""; }; - 4565CEF11FBEEC140043BFBB /* Collection View Cells */ = { + 4540BAA62535CF860053CDBB /* AlbumList */ = { isa = PBXGroup; children = ( - 4565CEF41FBEF5AE0043BFBB /* ActivityIndicatorCollectionViewCell.swift */, - 4565CEF21FBEEC2F0043BFBB /* CloudItemCollectionViewCell.swift */, + 4540BAA72535CF860053CDBB /* AlbumListViewController.swift */, + 4540BAA82535CF860053CDBB /* AlbumCell.swift */, ); - path = "Collection View Cells"; + path = AlbumList; sourceTree = ""; }; - 45690CFA22A6761300285F62 /* Frameworks */ = { + 4540BAAA2535CF860053CDBB /* Enums */ = { isa = PBXGroup; children = ( + 4540BAAB2535CF860053CDBB /* CloudSourceViewType.swift */, ); - name = Frameworks; + path = Enums; sourceTree = ""; }; - 4569C77B1FB1B6A100DE990E /* Controllers */ = { + 4540BAAC2535CF860053CDBB /* FlowLayouts */ = { isa = PBXGroup; children = ( - 4565CEEC1FBEE5940043BFBB /* CloudSourceCollectionViewController.swift */, - 45E8D1A01FBDA21200DC2111 /* CloudSourceTabBarController.swift */, - 454662821FB5BBEB00260033 /* CloudSourceTableViewController.swift */, - 45648CC11FD15DD400281653 /* DocumentPickerUploadController.swift */, - 4568DCCF1F9DFD7300F29923 /* ImagePickerUploadController.swift */, - 4569C7841FB1B6C500DE990E /* SourceTableViewController.swift */, - 452B77BD1FB45EF9000F3FAE /* MonitorViewController.swift */, + 4540BAAD2535CF860053CDBB /* CollectionViewFlowLayout.swift */, ); - path = Controllers; + path = FlowLayouts; sourceTree = ""; }; - 4569C7861FB1C33E00DE990E /* Resources */ = { + 4540BAAE2535CF860053CDBB /* Models */ = { isa = PBXGroup; children = ( - 459FF21723313A85003671EA /* Colors.xcassets */, - 4569C7871FB1C35600DE990E /* Icons.xcassets */, + 4540BAAF2535CF860053CDBB /* CloudItem.swift */, ); - path = Resources; + path = Models; sourceTree = ""; }; - 4569C78F1FB1CF1800DE990E /* UI */ = { + 4540BAB02535CF860053CDBB /* Extensions */ = { isa = PBXGroup; children = ( - 45BFF69723291D0600944028 /* Internal */, - 45BFF69623291D0000944028 /* Public */, - 45BFF69F2329202800944028 /* Storyboards */, + 4540BAB12535CF860053CDBB /* UserDefaults+State.swift */, + 4540BAB22535CF860053CDBB /* Storyboard+Scenes.swift */, + 4540BAB32535CF860053CDBB /* Scene+Defaults.swift */, + 4540BAB42535CF860053CDBB /* UIImage+Squared.swift */, ); - path = UI; + path = Extensions; sourceTree = ""; }; - 4569C7A11FB1F80A00DE990E /* Enums */ = { + 4540BAB52535CF860053CDBB /* Table View Cells */ = { isa = PBXGroup; children = ( - 4565CEF81FBF4FE60043BFBB /* CloudSourceViewType.swift */, + 4540BAB62535CF860053CDBB /* ActivityIndicatorTableViewCell.swift */, + 4540BAB72535CF860053CDBB /* CloudItemTableViewCell.swift */, ); - path = Enums; + path = "Table View Cells"; sourceTree = ""; }; - 4569C7A21FB1F81300DE990E /* Protocols */ = { + 4540BAB82535CF860053CDBB /* Controllers */ = { isa = PBXGroup; children = ( - 4569C7A31FB1F84500DE990E /* CellDescriptibleSource.swift */, - 45E8D1961FBDA16700DC2111 /* CloudSourceDataSource.swift */, - 4565CEFA1FBF50010043BFBB /* CloudSourceDataSourceConsumer.swift */, - 45C47E831FB9F0DF009B8248 /* Scene.swift */, + 4540BAB92535CF860053CDBB /* DocumentPickerUploadController.swift */, + 4540BABA2535CF860053CDBB /* MonitorViewController.swift */, + 4540BABB2535CF860053CDBB /* SourceTableViewController.swift */, + 4540BABC2535CF860053CDBB /* CloudSourceTableViewController.swift */, + 4540BABD2535CF860053CDBB /* ImagePickerUploadController.swift */, + 4540BABE2535CF860053CDBB /* CloudSourceTabBarController.swift */, + 4540BABF2535CF860053CDBB /* CloudSourceCollectionViewController.swift */, ); - path = Protocols; + path = Controllers; sourceTree = ""; }; - 457084F51F975C6B00991340 = { + 4540BAC02535CF860053CDBB /* PhotoEditor */ = { isa = PBXGroup; children = ( - 45BFF67B23290B1E00944028 /* LICENSE */, - 45BFF67D23290B1F00944028 /* VERSION */, - 45BFF67C23290B1F00944028 /* CHANGELOG.md */, - 4518BDF51FC6DE0400FB7D9D /* README.md */, - 45BFF67A23290B1E00944028 /* Filestack.podspec */, - 45759E491FA7588F008B0C03 /* Carthage Dependencies */, - 457085011F975C6C00991340 /* Filestack */, - 4570850C1F975C6C00991340 /* FilestackTests */, - 45690CFA22A6761300285F62 /* Frameworks */, - 457085001F975C6C00991340 /* Products */, + 4540BAC12535CF860053CDBB /* EditionController */, + 4540BAD32535CF860053CDBB /* SelectionList */, ); + path = PhotoEditor; sourceTree = ""; }; - 457085001F975C6C00991340 /* Products */ = { + 4540BAC12535CF860053CDBB /* EditionController */ = { isa = PBXGroup; children = ( - 457084FF1F975C6C00991340 /* Filestack.framework */, - 457085081F975C6C00991340 /* FilestackTests.xctest */, + 4540BAC22535CF860053CDBB /* EditorToolbar.swift */, + 4540BAC32535CF860053CDBB /* Layers */, + 4540BAC62535CF860053CDBB /* Enums */, + 4540BAC82535CF860053CDBB /* ImageEditor.swift */, + 4540BAC92535CF860053CDBB /* ViewController */, + 4540BACE2535CF860053CDBB /* Views */, + 4540BAD02535CF860053CDBB /* Handlers */, ); - name = Products; + path = EditionController; sourceTree = ""; }; - 457085011F975C6C00991340 /* Filestack */ = { + 4540BAC32535CF860053CDBB /* Layers */ = { isa = PBXGroup; children = ( - 457085021F975C6C00991340 /* Filestack.h */, - 457085031F975C6C00991340 /* Info.plist */, - 45BFF6842329183C00944028 /* Internal */, - 45BFF6852329184200944028 /* Public */, - 4569C7861FB1C33E00DE990E /* Resources */, - 4569C78F1FB1CF1800DE990E /* UI */, + 4540BAC42535CF860053CDBB /* CropLayer.swift */, + 4540BAC52535CF860053CDBB /* CircleLayer.swift */, ); - path = Filestack; + path = Layers; sourceTree = ""; }; - 4570850C1F975C6C00991340 /* FilestackTests */ = { + 4540BAC62535CF860053CDBB /* Enums */ = { isa = PBXGroup; children = ( - 4570850F1F975C6C00991340 /* Info.plist */, + 4540BAC72535CF860053CDBB /* ImageEditorCommand.swift */, ); - path = FilestackTests; + path = Enums; sourceTree = ""; }; - 45759E491FA7588F008B0C03 /* Carthage Dependencies */ = { + 4540BAC92535CF860053CDBB /* ViewController */ = { isa = PBXGroup; children = ( - 45690CEB22A66E4300285F62 /* Cartfile */, - 45BFF67823290AC700944028 /* Cartfile.resolved */, - 45690CE622A66E2800285F62 /* Alamofire.framework */, - 45690CED22A672CE00285F62 /* FilestackSDK.framework */, - 45690CE422A66E2800285F62 /* OHHTTPStubs.framework */, - 45690CE522A66E2800285F62 /* ZipArchive.framework */, + 4540BACA2535CF860053CDBB /* EditorViewController+ToolbarDelegate.swift */, + 4540BACB2535CF860053CDBB /* EditorViewController+ViewSetup.swift */, + 4540BACC2535CF860053CDBB /* EditorViewController.swift */, + 4540BACD2535CF860053CDBB /* EditorViewController+EditDataSource.swift */, ); - name = "Carthage Dependencies"; + path = ViewController; sourceTree = ""; }; - 4575E09322CF33FB0025E357 /* Views */ = { + 4540BACE2535CF860053CDBB /* Views */ = { isa = PBXGroup; children = ( - 4575E09422CF34090025E357 /* ImageEditorView.swift */, + 4540BACF2535CF860053CDBB /* ImageEditorView.swift */, ); path = Views; sourceTree = ""; }; - 4597849722CE10D900181BFE /* Enums */ = { + 4540BAD02535CF860053CDBB /* Handlers */ = { isa = PBXGroup; children = ( - 4597849822CE10E700181BFE /* ImageEditorCommand.swift */, + 4540BAD12535CF860053CDBB /* CropGesturesHandler.swift */, + 4540BAD22535CF860053CDBB /* CircleGesturesHandler.swift */, ); - path = Enums; - sourceTree = ""; - }; - 459ADA001FB9FAE50087698A /* Table View Cells */ = { - isa = PBXGroup; - children = ( - 459ADA091FB9FB050087698A /* ActivityIndicatorTableViewCell.swift */, - 45CBF4881FBF6D7700891BBD /* CloudItemTableViewCell.swift */, - ); - path = "Table View Cells"; + path = Handlers; sourceTree = ""; }; - 45A6102524B5A62300225738 /* Operations */ = { + 4540BAD32535CF860053CDBB /* SelectionList */ = { isa = PBXGroup; children = ( - 45A6102624B5A65800225738 /* AssetURLExtractorOperation.swift */, + 4540BAD42535CF860053CDBB /* Uploadable.swift */, + 4540BAD52535CF860053CDBB /* SelectableElement.swift */, + 4540BAD62535CF860053CDBB /* SelectionCell.swift */, + 4540BAD72535CF860053CDBB /* SelectionListViewController.swift */, + 4540BAD82535CF860053CDBB /* SelectionListViewController+UICollectionView.swift */, + 4540BAD92535CF860053CDBB /* SelectionListViewController+FlowLayout.swift */, ); - path = Operations; + path = SelectionList; sourceTree = ""; }; - 45A92F0C1FA0BE3500FEB611 /* Requests */ = { + 4540BADA2535CF860053CDBB /* Collection View Cells */ = { isa = PBXGroup; children = ( - 45A92F171FA0BE9600FEB611 /* FolderListRequest.swift */, - 4500C5721FC46A9200B17485 /* LogoutRequest.swift */, - 45A48C151FB311F000356BC6 /* PrefetchRequest.swift */, - 4587330C1FA32B66002DAA9D /* StoreRequest.swift */, + 4540BADB2535CF860053CDBB /* ActivityIndicatorCollectionViewCell.swift */, + 4540BADC2535CF860053CDBB /* CloudItemCollectionViewCell.swift */, ); - path = Requests; + path = "Collection View Cells"; sourceTree = ""; }; - 45BFF6842329183C00944028 /* Internal */ = { + 4540BADD2535CF860053CDBB /* Protocols */ = { isa = PBXGroup; children = ( - 455804A41F9F4420007C694C /* Constants.swift */, - 45E0AD0A24B46F5F00F6FEE6 /* TrackingProgress.swift */, - 45BFF69423291B9700944028 /* Extensions */, - 45BFF69223291ACF00944028 /* Extractors */, - 45BFF69323291AE100944028 /* Formatters */, - 45A6102524B5A62300225738 /* Operations */, - 455AB6BD232FD27C001ABE81 /* Protocols */, - 45A92F0C1FA0BE3500FEB611 /* Requests */, - 455804981F9F438A007C694C /* Services */, + 4540BADE2535CF860053CDBB /* Scene.swift */, + 4540BADF2535CF860053CDBB /* CloudSourceDataSource.swift */, + 4540BAE02535CF860053CDBB /* CloudSourceDataSourceConsumer.swift */, + 4540BAE12535CF860053CDBB /* CellDescriptibleSource.swift */, ); - path = Internal; + path = Protocols; sourceTree = ""; }; - 45BFF6852329184200944028 /* Public */ = { + 4540BAE22535CF860053CDBB /* Public */ = { isa = PBXGroup; children = ( - 45BFF6B02329372600944028 /* CompletionHandlers.swift */, - 452DCF631FA1E1CA0033B75D /* Enums */, - 45BFF69523291C0400944028 /* Extensions */, - 452B6AD21FA8860400FFD490 /* Models */, - 45BFF6862329188E00944028 /* Responses */, + 4540BAE32535CF860053CDBB /* Enums */, + 4540BAE52535CF860053CDBB /* Models */, + 4540BAE92535CF860053CDBB /* Controllers */, + 4540BAEB2535CF860053CDBB /* Protocols */, ); path = Public; sourceTree = ""; }; - 45BFF6862329188E00944028 /* Responses */ = { + 4540BAE32535CF860053CDBB /* Enums */ = { isa = PBXGroup; children = ( - 45BFF68B2329197800944028 /* CloudResponse.swift */, - 45BFF6892329192700944028 /* FolderListResponse.swift */, - 45BFF68D2329199D00944028 /* LogoutResponse.swift */, - 45BFF69023291A1300944028 /* PrefetchResponse.swift */, - 45BFF6872329189800944028 /* StoreResponse.swift */, + 4540BAE42535CF860053CDBB /* LocalProvider.swift */, ); - path = Responses; - sourceTree = ""; - }; - 45BFF69223291ACF00944028 /* Extractors */ = { - isa = PBXGroup; - children = ( - BC0D1656211329FE00A88F30 /* UploadableExtractor.swift */, - BC0D165821132DD800A88F30 /* URLExtractor.swift */, - ); - path = Extractors; + path = Enums; sourceTree = ""; }; - 45BFF69323291AE100944028 /* Formatters */ = { + 4540BAE52535CF860053CDBB /* Models */ = { isa = PBXGroup; children = ( - BC0D16542113277D00A88F30 /* DurationNumberFormatter.swift */, + 4540BAE62535CF860053CDBB /* LocalSource.swift */, + 4540BAE72535CF860053CDBB /* Stylizer.swift */, + 4540BAE82535CF860053CDBB /* CloudSource.swift */, ); - path = Formatters; + path = Models; sourceTree = ""; }; - 45BFF69423291B9700944028 /* Extensions */ = { + 4540BAE92535CF860053CDBB /* Controllers */ = { isa = PBXGroup; children = ( - 45C47E731FB9B3DC009B8248 /* Array+SafeIndex.swift */, - 454775B622D7664D00C7F04D /* AVAsset+Export.swift */, - 45A48C1F1FB317F100356BC6 /* Data+JSON.swift */, - 45BFF6A223292E5800944028 /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */, - BC0D160E210DAF6000A88F30 /* Math+Clamp.swift */, - 455804A91F9F448C007C694C /* SessionManager+FilestackDefault.swift */, - 45C142E522CA4B25007B4EDA /* String+UTI.swift */, - BC0D160F210DAF6000A88F30 /* UICollectionView+Reusable.swift */, - 459FF21923313DA2003671EA /* UIColor+Bundle.swift */, - BC5A829F211DC2C500960F4B /* UIColor+Predefined.swift */, - BC0D162A210E7A5F00A88F30 /* UIImage+Bundle.swift */, - 454775B422D7659D00C7F04D /* UIImage+Export.swift */, - 45E2B7B01FC2FEB500448ED2 /* UIImage+HEIC.swift */, - 45CF081222D745E500DA2884 /* UIImage+Resized.swift */, - BC0D163F21108B3000A88F30 /* UIImage+Write.swift */, - BC0D1610210DAF6000A88F30 /* UIView+Constraints.swift */, - 450225B822DC686600C91A91 /* URL+Copy.swift */, - 45A3C5A52331043600A60B5F /* URL+IsDirectory.swift */, - BC0D162E210E81DD00A88F30 /* ImageEdition */, + 4540BAEA2535CF860053CDBB /* PickerNavigationController.swift */, ); - path = Extensions; + path = Controllers; sourceTree = ""; }; - 45BFF69523291C0400944028 /* Extensions */ = { + 4540BAEB2535CF860053CDBB /* Protocols */ = { isa = PBXGroup; children = ( - 45BFF68223290FA600944028 /* Client+Deprecated.swift */, - 45BFF6A02329216800944028 /* Client+ObjC.swift */, + 4540BAEC2535CF860053CDBB /* StylizerDelegate.swift */, ); - path = Extensions; + path = Protocols; sourceTree = ""; }; - 45BFF69623291D0000944028 /* Public */ = { + 4540BAED2535CF860053CDBB /* Resources */ = { isa = PBXGroup; children = ( - 45BFF69823291D0D00944028 /* Controllers */, - 45BFF69A23291DFD00944028 /* Enums */, - 45BFF69923291D8900944028 /* Models */, - 45BFF6AB232931E100944028 /* Protocols */, + 4540BAEE2535CF860053CDBB /* Colors.xcassets */, + 4540BAEF2535CF860053CDBB /* Icons.xcassets */, + 4540BAF02535CF860053CDBB /* PhotoPicker.storyboard */, + 4540BAF12535CF860053CDBB /* Picker.storyboard */, ); - path = Public; + path = Resources; sourceTree = ""; }; - 45BFF69723291D0600944028 /* Internal */ = { + 4540BAF22535CF860053CDBB /* Internal */ = { isa = PBXGroup; children = ( - 4565CEF11FBEEC140043BFBB /* Collection View Cells */, - 4569C77B1FB1B6A100DE990E /* Controllers */, - 4569C7A11FB1F80A00DE990E /* Enums */, - 452DA7F91FB6235D0082E52D /* Extensions */, - 451F947B2331371E0045F718 /* FlowLayouts */, - 4546628C1FB6063500260033 /* Models */, - BC0D15F7210DAE6000A88F30 /* PhotoEditor */, - BC1E4C7520B5979100345FF5 /* PhotoPicker */, - 4569C7A21FB1F81300DE990E /* Protocols */, - 45BFF6A423292F1700944028 /* Scenes */, - 459ADA001FB9FAE50087698A /* Table View Cells */, + 4540BAF32535CF860053CDBB /* Constants.swift */, + 4540BAF42535CF860053CDBB /* TrackingProgress.swift */, + 4540BAF52535CF860053CDBB /* Formatters */, + 4540BAF72535CF860053CDBB /* Operations */, + 4540BAF92535CF860053CDBB /* Extensions */, + 4540BB122535CF860053CDBB /* Requests */, + 4540BB172535CF860053CDBB /* Extractors */, + 4540BB1A2535CF860053CDBB /* Protocols */, + 4540BB1C2535CF860053CDBB /* Services */, ); path = Internal; sourceTree = ""; }; - 45BFF69823291D0D00944028 /* Controllers */ = { + 4540BAF52535CF860053CDBB /* Formatters */ = { isa = PBXGroup; children = ( - 45786D5B1FB3202B00478545 /* PickerNavigationController.swift */, + 4540BAF62535CF860053CDBB /* DurationNumberFormatter.swift */, ); - path = Controllers; + path = Formatters; sourceTree = ""; }; - 45BFF69923291D8900944028 /* Models */ = { + 4540BAF72535CF860053CDBB /* Operations */ = { isa = PBXGroup; children = ( - 4569C7A71FB1F86700DE990E /* CloudSource.swift */, - 4569C7A51FB1F85800DE990E /* LocalSource.swift */, - BCFFE953211C7E2200F7CB49 /* Stylizer.swift */, + 4540BAF82535CF860053CDBB /* AssetURLExtractorOperation.swift */, ); - path = Models; + path = Operations; sourceTree = ""; }; - 45BFF69A23291DFD00944028 /* Enums */ = { + 4540BAF92535CF860053CDBB /* Extensions */ = { isa = PBXGroup; children = ( - 45BFF69B23291E3700944028 /* LocalProvider.swift */, + 4540BAFA2535CF860053CDBB /* AVAsset+Export.swift */, + 4540BAFB2535CF860053CDBB /* UICollectionView+Reusable.swift */, + 4540BAFC2535CF860053CDBB /* UIColor+Predefined.swift */, + 4540BAFD2535CF860053CDBB /* SessionManager+FilestackDefault.swift */, + 4540BAFE2535CF860053CDBB /* Math+Clamp.swift */, + 4540BAFF2535CF860053CDBB /* String+UTI.swift */, + 4540BB002535CF860053CDBB /* UIImage+Bundle.swift */, + 4540BB012535CF860053CDBB /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift */, + 4540BB022535CF860053CDBB /* URL+Copy.swift */, + 4540BB032535CF860053CDBB /* UIImage+HEIC.swift */, + 4540BB042535CF860053CDBB /* UIView+Constraints.swift */, + 4540BB052535CF860053CDBB /* Data+JSON.swift */, + 4540BB062535CF860053CDBB /* UIColor+Bundle.swift */, + 4540BB072535CF860053CDBB /* URL+IsDirectory.swift */, + 4540BB082535CF860053CDBB /* UIImage+Resized.swift */, + 4540BB092535CF860053CDBB /* Array+SafeIndex.swift */, + 4540BB0A2535CF860053CDBB /* ImageEdition */, + 4540BB102535CF860053CDBB /* UIImage+Export.swift */, + 4540BB112535CF860053CDBB /* UIImage+Write.swift */, ); - path = Enums; + path = Extensions; sourceTree = ""; }; - 45BFF69F2329202800944028 /* Storyboards */ = { + 4540BB0A2535CF860053CDBB /* ImageEdition */ = { isa = PBXGroup; children = ( - 45BFF69D2329201800944028 /* PhotoPicker.storyboard */, - 4569C79C1FB1CFC000DE990E /* Picker.storyboard */, + 4540BB0B2535CF860053CDBB /* UIImage+CIImageTransformations.swift */, + 4540BB0C2535CF860053CDBB /* UIImage+Sanitize.swift */, + 4540BB0D2535CF860053CDBB /* UIImage+Rect.swift */, + 4540BB0E2535CF860053CDBB /* CGRect+Scale.swift */, + 4540BB0F2535CF860053CDBB /* CGPoint+Distance.swift */, ); - path = Storyboards; + path = ImageEdition; sourceTree = ""; }; - 45BFF6A423292F1700944028 /* Scenes */ = { + 4540BB122535CF860053CDBB /* Requests */ = { isa = PBXGroup; children = ( - 45BFF6A723292F5E00944028 /* CloudSourceBarTabScene.swift */, - 45BFF6A523292F2300944028 /* PickerNavigationScene.swift */, + 4540BB132535CF860053CDBB /* LogoutRequest.swift */, + 4540BB142535CF860053CDBB /* StoreRequest.swift */, + 4540BB152535CF860053CDBB /* FolderListRequest.swift */, + 4540BB162535CF860053CDBB /* PrefetchRequest.swift */, ); - path = Scenes; + path = Requests; sourceTree = ""; }; - 45BFF6AB232931E100944028 /* Protocols */ = { + 4540BB172535CF860053CDBB /* Extractors */ = { isa = PBXGroup; children = ( - 45BFF6AC232931EC00944028 /* StylizerDelegate.swift */, + 4540BB182535CF860053CDBB /* UploadableExtractor.swift */, + 4540BB192535CF860053CDBB /* URLExtractor.swift */, ); - path = Protocols; + path = Extractors; sourceTree = ""; }; - BC08F22020C0344A0046FF3C /* AssetCollection */ = { + 4540BB1A2535CF860053CDBB /* Protocols */ = { isa = PBXGroup; children = ( - BC27B70120C582C9009D7578 /* AssetCollectionViewController.swift */, - BC27B70F20C58B86009D7578 /* AssetCell.swift */, + 4540BB1B2535CF860053CDBB /* CloudRequest.swift */, ); - path = AssetCollection; + path = Protocols; sourceTree = ""; }; - BC0D15F7210DAE6000A88F30 /* PhotoEditor */ = { + 4540BB1C2535CF860053CDBB /* Services */ = { isa = PBXGroup; children = ( - BC0D1614210E79A800A88F30 /* EditionController */, - BC0D1604210DAE7E00A88F30 /* SelectionList */, + 4540BB1D2535CF860053CDBB /* CloudService.swift */, ); - path = PhotoEditor; + path = Services; sourceTree = ""; }; - BC0D1604210DAE7E00A88F30 /* SelectionList */ = { + 4540BB1F2535CF860053CDBB /* Public */ = { isa = PBXGroup; children = ( - 45F26C9722D73475005BD09E /* SelectableElement.swift */, - BC0D1608210DAED700A88F30 /* SelectionCell.swift */, - BC0D1609210DAED700A88F30 /* SelectionListViewController.swift */, - BC0D1607210DAED700A88F30 /* SelectionListViewController+FlowLayout.swift */, - BC0D1606210DAED700A88F30 /* SelectionListViewController+UICollectionView.swift */, - BC0D163D210F422400A88F30 /* Uploadable.swift */, + 4540BB202535CF860053CDBB /* CompletionHandlers.swift */, + 4540BB212535CF860053CDBB /* Enums */, + 4540BB252535CF860053CDBB /* Responses */, + 4540BB2B2535CF860053CDBB /* Models */, + 4540BB2E2535CF860053CDBB /* Extensions */, ); - path = SelectionList; + path = Public; sourceTree = ""; }; - BC0D1614210E79A800A88F30 /* EditionController */ = { + 4540BB212535CF860053CDBB /* Enums */ = { isa = PBXGroup; children = ( - BC0D1615210E7A2500A88F30 /* EditorToolbar.swift */, - 4575E09622CF41BC0025E357 /* ImageEditor.swift */, - 4597849722CE10D900181BFE /* Enums */, - BC0D161E210E7A2500A88F30 /* Handlers */, - BC0D161B210E7A2500A88F30 /* Layers */, - BC0D1616210E7A2500A88F30 /* ViewController */, - 4575E09322CF33FB0025E357 /* Views */, + 4540BB222535CF860053CDBB /* CloudProvider.swift */, + 4540BB232535CF860053CDBB /* ImageURLExportPreset.swift */, + 4540BB242535CF860053CDBB /* ClientError.swift */, ); - path = EditionController; + path = Enums; sourceTree = ""; }; - BC0D1616210E7A2500A88F30 /* ViewController */ = { + 4540BB252535CF860053CDBB /* Responses */ = { isa = PBXGroup; children = ( - BC0D1619210E7A2500A88F30 /* EditorViewController.swift */, - BC0D161A210E7A2500A88F30 /* EditorViewController+EditDataSource.swift */, - BC0D1617210E7A2500A88F30 /* EditorViewController+ToolbarDelegate.swift */, - BC0D1618210E7A2500A88F30 /* EditorViewController+ViewSetup.swift */, + 4540BB262535CF860053CDBB /* LogoutResponse.swift */, + 4540BB272535CF860053CDBB /* CloudResponse.swift */, + 4540BB282535CF860053CDBB /* FolderListResponse.swift */, + 4540BB292535CF860053CDBB /* PrefetchResponse.swift */, + 4540BB2A2535CF860053CDBB /* StoreResponse.swift */, ); - path = ViewController; + path = Responses; sourceTree = ""; }; - BC0D161B210E7A2500A88F30 /* Layers */ = { + 4540BB2B2535CF860053CDBB /* Models */ = { isa = PBXGroup; children = ( - BC0D161C210E7A2500A88F30 /* CropLayer.swift */, - BC0D161D210E7A2500A88F30 /* CircleLayer.swift */, + 4540BB2C2535CF860053CDBB /* Config.swift */, + 4540BB2D2535CF860053CDBB /* Client.swift */, ); - path = Layers; + path = Models; sourceTree = ""; }; - BC0D161E210E7A2500A88F30 /* Handlers */ = { + 4540BB2E2535CF860053CDBB /* Extensions */ = { isa = PBXGroup; children = ( - BC0D161F210E7A2500A88F30 /* CropGesturesHandler.swift */, - BC0D1620210E7A2500A88F30 /* CircleGesturesHandler.swift */, + 4540BB2F2535CF860053CDBB /* Client+ObjC.swift */, + 4540BB302535CF860053CDBB /* Client+Deprecated.swift */, ); - path = Handlers; + path = Extensions; sourceTree = ""; }; - BC0D162E210E81DD00A88F30 /* ImageEdition */ = { + 45690CFA22A6761300285F62 /* Frameworks */ = { isa = PBXGroup; children = ( - BC0D1633210E81DD00A88F30 /* CGPoint+Distance.swift */, - BC0D1631210E81DD00A88F30 /* CGRect+Scale.swift */, - 4575E09822CF41EC0025E357 /* UIImage+CIImageTransformations.swift */, - BC0D1630210E81DD00A88F30 /* UIImage+Rect.swift */, - BC0D162F210E81DD00A88F30 /* UIImage+Sanitize.swift */, ); - path = ImageEdition; + name = Frameworks; sourceTree = ""; }; - BC1E4C7520B5979100345FF5 /* PhotoPicker */ = { + 457084F51F975C6B00991340 = { isa = PBXGroup; children = ( - BC08F22020C0344A0046FF3C /* AssetCollection */, - BC1E4CAA20B5E66F00345FF5 /* AlbumList */, - BC1E4CA620B5B1C300345FF5 /* PhotoPickerController.swift */, - BC85013920BD5070000D96AE /* PhotoAlbumRepository.swift */, - BC636BA820BD978A007F67B6 /* PhotosExtensions.swift */, + 45BFF67B23290B1E00944028 /* LICENSE */, + 45BFF67D23290B1F00944028 /* VERSION */, + 45BFF67C23290B1F00944028 /* CHANGELOG.md */, + 4518BDF51FC6DE0400FB7D9D /* README.md */, + 45BFF67A23290B1E00944028 /* Filestack.podspec */, + 45690CFA22A6761300285F62 /* Frameworks */, + 457085001F975C6C00991340 /* Products */, + 4540BA992535CF860053CDBB /* Sources */, ); - path = PhotoPicker; sourceTree = ""; }; - BC1E4CAA20B5E66F00345FF5 /* AlbumList */ = { + 457085001F975C6C00991340 /* Products */ = { isa = PBXGroup; children = ( - BC1E4CA420B5B14D00345FF5 /* AlbumListViewController.swift */, - BC1E4CAB20B5E68700345FF5 /* AlbumCell.swift */, + 457084FF1F975C6C00991340 /* Filestack.framework */, ); - path = AlbumList; + name = Products; sourceTree = ""; }; /* End PBXGroup section */ @@ -821,7 +748,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 457085101F975C6C00991340 /* Filestack.h in Headers */, + 4540BB902535CF860053CDBB /* Filestack.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -843,29 +770,15 @@ dependencies = ( ); name = Filestack; + packageProductDependencies = ( + 4564B90C2535B3DA0045A3C7 /* Alamofire */, + 4564B9102535B3E70045A3C7 /* Zip */, + 4564B9142535B4030045A3C7 /* FilestackSDK */, + ); productName = Filestack; productReference = 457084FF1F975C6C00991340 /* Filestack.framework */; productType = "com.apple.product-type.framework"; }; - 457085071F975C6C00991340 /* FilestackTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 457085161F975C6C00991340 /* Build configuration list for PBXNativeTarget "FilestackTests" */; - buildPhases = ( - 457085041F975C6C00991340 /* Sources */, - 457085051F975C6C00991340 /* Frameworks */, - 457085061F975C6C00991340 /* Resources */, - 45690CF422A675BB00285F62 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - 4570850B1F975C6C00991340 /* PBXTargetDependency */, - ); - name = FilestackTests; - productName = FilestackTests; - productReference = 457085081F975C6C00991340 /* FilestackTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -873,7 +786,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 0940; + LastUpgradeCheck = 1200; ORGANIZATIONNAME = Filestack; TargetAttributes = { 457084FE1F975C6C00991340 = { @@ -881,11 +794,6 @@ LastSwiftMigration = 1100; ProvisioningStyle = Automatic; }; - 457085071F975C6C00991340 = { - CreatedOnToolsVersion = 9.0.1; - LastSwiftMigration = 0920; - ProvisioningStyle = Automatic; - }; }; }; buildConfigurationList = 457084F91F975C6B00991340 /* Build configuration list for PBXProject "Filestack" */; @@ -897,12 +805,17 @@ Base, ); mainGroup = 457084F51F975C6B00991340; + packageReferences = ( + 4564B90B2535B3DA0045A3C7 /* XCRemoteSwiftPackageReference "Alamofire" */, + 4564B90F2535B3E70045A3C7 /* XCRemoteSwiftPackageReference "Zip" */, + 4564B9132535B4030045A3C7 /* XCRemoteSwiftPackageReference "filestack-swift" */, + 4564B91A2535B4670045A3C7 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, + ); productRefGroup = 457085001F975C6C00991340 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 457084FE1F975C6C00991340 /* Filestack */, - 457085071F975C6C00991340 /* FilestackTests */, ); }; /* End PBXProject section */ @@ -912,17 +825,10 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4569C7881FB1C35600DE990E /* Icons.xcassets in Resources */, - 4569C79D1FB1CFC000DE990E /* Picker.storyboard in Resources */, - 459FF21823313A85003671EA /* Colors.xcassets in Resources */, - 45BFF69E2329201800944028 /* PhotoPicker.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 457085061F975C6C00991340 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( + 4540BB6A2535CF860053CDBB /* Icons.xcassets in Resources */, + 4540BB692535CF860053CDBB /* Colors.xcassets in Resources */, + 4540BB6C2535CF860053CDBB /* Picker.storyboard in Resources */, + 4540BB6B2535CF860053CDBB /* PhotoPicker.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -950,129 +856,114 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BC0D1638210E81DD00A88F30 /* CGRect+Scale.swift in Sources */, - BC27B70220C582C9009D7578 /* AssetCollectionViewController.swift in Sources */, - 45CF081322D745E500DA2884 /* UIImage+Resized.swift in Sources */, - 454775B722D7664D00C7F04D /* AVAsset+Export.swift in Sources */, - 452B77BE1FB45EF9000F3FAE /* MonitorViewController.swift in Sources */, - 45A92F161FA0BE3F00FEB611 /* CloudRequest.swift in Sources */, - 45A6102724B5A65800225738 /* AssetURLExtractorOperation.swift in Sources */, - 4565CEFB1FBF50010043BFBB /* CloudSourceDataSourceConsumer.swift in Sources */, - 454783CA232FCBDE00380144 /* ClientError.swift in Sources */, - 454775B522D7659D00C7F04D /* UIImage+Export.swift in Sources */, - 45BFF6A623292F2300944028 /* PickerNavigationScene.swift in Sources */, - 45BFF68C2329197800944028 /* CloudResponse.swift in Sources */, - BC0D164021108B3000A88F30 /* UIImage+Write.swift in Sources */, - 45C47E841FB9F0DF009B8248 /* Scene.swift in Sources */, - 4597849922CE10E700181BFE /* ImageEditorCommand.swift in Sources */, - BC0D1612210DAF6100A88F30 /* UICollectionView+Reusable.swift in Sources */, - 45BFF6B12329372600944028 /* CompletionHandlers.swift in Sources */, - BC0D160D210DAED700A88F30 /* SelectionListViewController.swift in Sources */, - 45E8D1971FBDA16700DC2111 /* CloudSourceDataSource.swift in Sources */, - 4565CEF71FBF3F400043BFBB /* UserDefaults+State.swift in Sources */, - 4568DCD01F9DFD7300F29923 /* ImagePickerUploadController.swift in Sources */, - BC0D1657211329FE00A88F30 /* UploadableExtractor.swift in Sources */, - BC0D1629210E7A2500A88F30 /* CircleGesturesHandler.swift in Sources */, - 4569C7851FB1B6C500DE990E /* SourceTableViewController.swift in Sources */, - BC0D1623210E7A2500A88F30 /* EditorViewController+ViewSetup.swift in Sources */, - BC0D1624210E7A2500A88F30 /* EditorViewController.swift in Sources */, - 451F947D233137340045F718 /* CollectionViewFlowLayout.swift in Sources */, - 45E2B7B11FC2FEB500448ED2 /* UIImage+HEIC.swift in Sources */, - BC0D165921132DD800A88F30 /* URLExtractor.swift in Sources */, - 45E8D1A11FBDA21200DC2111 /* CloudSourceTabBarController.swift in Sources */, - 45BFF68A2329192700944028 /* FolderListResponse.swift in Sources */, - 455804A51F9F4420007C694C /* Constants.swift in Sources */, - 45A48C161FB311F000356BC6 /* PrefetchRequest.swift in Sources */, - 455804AA1F9F448C007C694C /* SessionManager+FilestackDefault.swift in Sources */, - BC0D1625210E7A2500A88F30 /* EditorViewController+EditDataSource.swift in Sources */, - 45C47E801FB9F0C6009B8248 /* Scene+Defaults.swift in Sources */, - 45E0AD0B24B46F5F00F6FEE6 /* TrackingProgress.swift in Sources */, - BC0D1628210E7A2500A88F30 /* CropGesturesHandler.swift in Sources */, - 45A3C5A62331043600A60B5F /* URL+IsDirectory.swift in Sources */, - 459ADA0A1FB9FB050087698A /* ActivityIndicatorTableViewCell.swift in Sources */, - BC5A82A0211DC2C500960F4B /* UIColor+Predefined.swift in Sources */, - 45BFF6A823292F5E00944028 /* CloudSourceBarTabScene.swift in Sources */, - 4575E09722CF41BC0025E357 /* ImageEditor.swift in Sources */, - 4575E09522CF34090025E357 /* ImageEditorView.swift in Sources */, - BC0D160A210DAED700A88F30 /* SelectionListViewController+UICollectionView.swift in Sources */, - 4587330D1FA32B66002DAA9D /* StoreRequest.swift in Sources */, - 45C142E622CA4B25007B4EDA /* String+UTI.swift in Sources */, - BC0D160B210DAED700A88F30 /* SelectionListViewController+FlowLayout.swift in Sources */, - 4569C7A61FB1F85800DE990E /* LocalSource.swift in Sources */, - 4565CEF51FBEF5AE0043BFBB /* ActivityIndicatorCollectionViewCell.swift in Sources */, - BC0D1636210E81DD00A88F30 /* UIImage+Sanitize.swift in Sources */, - BC0D1637210E81DD00A88F30 /* UIImage+Rect.swift in Sources */, - 45A48C201FB317F100356BC6 /* Data+JSON.swift in Sources */, - 450225B922DC686600C91A91 /* URL+Copy.swift in Sources */, - BC0D1621210E7A2500A88F30 /* EditorToolbar.swift in Sources */, - 4565CEF31FBEEC2F0043BFBB /* CloudItemCollectionViewCell.swift in Sources */, - 45BFF6A12329216800944028 /* Client+ObjC.swift in Sources */, - 45BFF68323290FA700944028 /* Client+Deprecated.swift in Sources */, - BC1E4CA720B5B1C300345FF5 /* PhotoPickerController.swift in Sources */, - BC1E4CA520B5B14D00345FF5 /* AlbumListViewController.swift in Sources */, - BC0D16552113277D00A88F30 /* DurationNumberFormatter.swift in Sources */, - 45C47E741FB9B3DC009B8248 /* Array+SafeIndex.swift in Sources */, - 45BFF69C23291E3700944028 /* LocalProvider.swift in Sources */, - BC0D1626210E7A2500A88F30 /* CropLayer.swift in Sources */, - 452DCF6D1FA1E1E30033B75D /* CloudProvider.swift in Sources */, - 45BFF6AD232931EC00944028 /* StylizerDelegate.swift in Sources */, - BC0D163E210F422400A88F30 /* Uploadable.swift in Sources */, - 45F26C9822D73475005BD09E /* SelectableElement.swift in Sources */, - 45BFF6A323292E5800944028 /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift in Sources */, - 4500C5731FC46A9200B17485 /* LogoutRequest.swift in Sources */, - BC1E4CAC20B5E68700345FF5 /* AlbumCell.swift in Sources */, - BC636BA920BD978A007F67B6 /* PhotosExtensions.swift in Sources */, - BC27B71020C58B86009D7578 /* AssetCell.swift in Sources */, - 4546628E1FB6063F00260033 /* CloudItem.swift in Sources */, - 45786D5C1FB3202B00478545 /* PickerNavigationController.swift in Sources */, - BC0D1622210E7A2500A88F30 /* EditorViewController+ToolbarDelegate.swift in Sources */, - BC0D163A210E81DD00A88F30 /* CGPoint+Distance.swift in Sources */, - BC0D1611210DAF6100A88F30 /* Math+Clamp.swift in Sources */, - BC85013A20BD5070000D96AE /* PhotoAlbumRepository.swift in Sources */, - 45CBF4891FBF6D7700891BBD /* CloudItemTableViewCell.swift in Sources */, - 45DEBA571FBB05F600A267E7 /* UIImage+Squared.swift in Sources */, - BC0D160C210DAED700A88F30 /* SelectionCell.swift in Sources */, - BCFFE954211C7E2200F7CB49 /* Stylizer.swift in Sources */, - 45BFF68E2329199D00944028 /* LogoutResponse.swift in Sources */, - 4565CEED1FBEE5940043BFBB /* CloudSourceCollectionViewController.swift in Sources */, - 454054741F98A30F00C12B2F /* Client.swift in Sources */, - 45DEBA551FBAF48000A267E7 /* Config.swift in Sources */, - 4569C7A81FB1F86700DE990E /* CloudSource.swift in Sources */, - 455804A21F9F43A7007C694C /* CloudService.swift in Sources */, - 4575E09922CF41EC0025E357 /* UIImage+CIImageTransformations.swift in Sources */, - 459FF21A23313DA2003671EA /* UIColor+Bundle.swift in Sources */, - BC0D162B210E7A5F00A88F30 /* UIImage+Bundle.swift in Sources */, - 45B603D31FC5B88A006775BF /* ImageURLExportPreset.swift in Sources */, - 45C47E7E1FB9F08A009B8248 /* Storyboard+Scenes.swift in Sources */, - 4569C7A41FB1F84500DE990E /* CellDescriptibleSource.swift in Sources */, - 4565CEF91FBF4FE60043BFBB /* CloudSourceViewType.swift in Sources */, - 45BFF69123291A1300944028 /* PrefetchResponse.swift in Sources */, - BC0D1627210E7A2500A88F30 /* CircleLayer.swift in Sources */, - 45A92F181FA0BE9600FEB611 /* FolderListRequest.swift in Sources */, - BC0D1613210DAF6100A88F30 /* UIView+Constraints.swift in Sources */, - 454662831FB5BBEB00260033 /* CloudSourceTableViewController.swift in Sources */, - 45BFF6882329189800944028 /* StoreResponse.swift in Sources */, - 45648CC21FD15DD400281653 /* DocumentPickerUploadController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 457085041F975C6C00991340 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( + 4540BB4B2535CF860053CDBB /* EditorToolbar.swift in Sources */, + 4540BB5D2535CF860053CDBB /* ActivityIndicatorCollectionViewCell.swift in Sources */, + 4540BB422535CF860053CDBB /* ActivityIndicatorTableViewCell.swift in Sources */, + 4540BB872535CF860053CDBB /* UIImage+Write.swift in Sources */, + 4540BB8B2535CF860053CDBB /* PrefetchRequest.swift in Sources */, + 4540BB832535CF860053CDBB /* UIImage+Rect.swift in Sources */, + 4540BB3D2535CF860053CDBB /* CloudItem.swift in Sources */, + 4540BB602535CF860053CDBB /* CloudSourceDataSource.swift in Sources */, + 4540BB482535CF860053CDBB /* ImagePickerUploadController.swift in Sources */, + 4540BB942535CF860053CDBB /* ClientError.swift in Sources */, + 4540BB532535CF860053CDBB /* EditorViewController+EditDataSource.swift in Sources */, + 4540BB802535CF860053CDBB /* Array+SafeIndex.swift in Sources */, + 4540BB522535CF860053CDBB /* EditorViewController.swift in Sources */, + 4540BB412535CF860053CDBB /* UIImage+Squared.swift in Sources */, + 4540BB7A2535CF860053CDBB /* UIImage+HEIC.swift in Sources */, + 4540BB772535CF860053CDBB /* UIImage+Bundle.swift in Sources */, + 4540BB662535CF860053CDBB /* CloudSource.swift in Sources */, + 4540BB492535CF860053CDBB /* CloudSourceTabBarController.swift in Sources */, + 4540BB8F2535CF860053CDBB /* CloudService.swift in Sources */, + 4540BB952535CF860053CDBB /* LogoutResponse.swift in Sources */, + 4540BB572535CF860053CDBB /* Uploadable.swift in Sources */, + 4540BB8C2535CF860053CDBB /* UploadableExtractor.swift in Sources */, + 4540BB932535CF860053CDBB /* ImageURLExportPreset.swift in Sources */, + 4540BB912535CF860053CDBB /* CompletionHandlers.swift in Sources */, + 4540BB4A2535CF860053CDBB /* CloudSourceCollectionViewController.swift in Sources */, + 4540BB882535CF860053CDBB /* LogoutRequest.swift in Sources */, + 4540BB752535CF860053CDBB /* Math+Clamp.swift in Sources */, + 4540BB632535CF860053CDBB /* LocalProvider.swift in Sources */, + 4540BB7B2535CF860053CDBB /* UIView+Constraints.swift in Sources */, + 4540BB8A2535CF860053CDBB /* FolderListRequest.swift in Sources */, + 4540BB442535CF860053CDBB /* DocumentPickerUploadController.swift in Sources */, + 4540BB3E2535CF860053CDBB /* UserDefaults+State.swift in Sources */, + 4540BB842535CF860053CDBB /* CGRect+Scale.swift in Sources */, + 4540BB9D2535CF860053CDBB /* Client+Deprecated.swift in Sources */, + 4540BB742535CF860053CDBB /* SessionManager+FilestackDefault.swift in Sources */, + 4540BB6E2535CF860053CDBB /* TrackingProgress.swift in Sources */, + 4540BB782535CF860053CDBB /* ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift in Sources */, + 4540BB592535CF860053CDBB /* SelectionCell.swift in Sources */, + 4540BB9A2535CF860053CDBB /* Config.swift in Sources */, + 4540BB372535CF860053CDBB /* PhotosExtensions.swift in Sources */, + 4540BB9B2535CF860053CDBB /* Client.swift in Sources */, + 4540BB3A2535CF860053CDBB /* PhotoAlbumRepository.swift in Sources */, + 4540BB822535CF860053CDBB /* UIImage+Sanitize.swift in Sources */, + 4540BB4D2535CF860053CDBB /* CircleLayer.swift in Sources */, + 4540BB5B2535CF860053CDBB /* SelectionListViewController+UICollectionView.swift in Sources */, + 4540BB8E2535CF860053CDBB /* CloudRequest.swift in Sources */, + 4540BB382535CF860053CDBB /* AlbumListViewController.swift in Sources */, + 4540BB5A2535CF860053CDBB /* SelectionListViewController.swift in Sources */, + 4540BB5F2535CF860053CDBB /* Scene.swift in Sources */, + 4540BB7C2535CF860053CDBB /* Data+JSON.swift in Sources */, + 4540BB622535CF860053CDBB /* CellDescriptibleSource.swift in Sources */, + 4540BB472535CF860053CDBB /* CloudSourceTableViewController.swift in Sources */, + 4540BB552535CF860053CDBB /* CropGesturesHandler.swift in Sources */, + 4540BB9C2535CF860053CDBB /* Client+ObjC.swift in Sources */, + 4540BB4E2535CF860053CDBB /* ImageEditorCommand.swift in Sources */, + 4540BB6F2535CF860053CDBB /* DurationNumberFormatter.swift in Sources */, + 4540BB5C2535CF860053CDBB /* SelectionListViewController+FlowLayout.swift in Sources */, + 4540BB862535CF860053CDBB /* UIImage+Export.swift in Sources */, + 4540BB342535CF860053CDBB /* PhotoPickerController.swift in Sources */, + 4540BB852535CF860053CDBB /* CGPoint+Distance.swift in Sources */, + 4540BB5E2535CF860053CDBB /* CloudItemCollectionViewCell.swift in Sources */, + 4540BB392535CF860053CDBB /* AlbumCell.swift in Sources */, + 4540BB792535CF860053CDBB /* URL+Copy.swift in Sources */, + 4540BB7F2535CF860053CDBB /* UIImage+Resized.swift in Sources */, + 4540BB502535CF860053CDBB /* EditorViewController+ToolbarDelegate.swift in Sources */, + 4540BB7E2535CF860053CDBB /* URL+IsDirectory.swift in Sources */, + 4540BB762535CF860053CDBB /* String+UTI.swift in Sources */, + 4540BB332535CF860053CDBB /* PickerNavigationScene.swift in Sources */, + 4540BB682535CF860053CDBB /* StylizerDelegate.swift in Sources */, + 4540BB402535CF860053CDBB /* Scene+Defaults.swift in Sources */, + 4540BB722535CF860053CDBB /* UICollectionView+Reusable.swift in Sources */, + 4540BB922535CF860053CDBB /* CloudProvider.swift in Sources */, + 4540BB352535CF860053CDBB /* AssetCell.swift in Sources */, + 4540BB812535CF860053CDBB /* UIImage+CIImageTransformations.swift in Sources */, + 4540BB4C2535CF860053CDBB /* CropLayer.swift in Sources */, + 4540BB452535CF860053CDBB /* MonitorViewController.swift in Sources */, + 4540BB6D2535CF860053CDBB /* Constants.swift in Sources */, + 4540BB432535CF860053CDBB /* CloudItemTableViewCell.swift in Sources */, + 4540BB3C2535CF860053CDBB /* CollectionViewFlowLayout.swift in Sources */, + 4540BB612535CF860053CDBB /* CloudSourceDataSourceConsumer.swift in Sources */, + 4540BB562535CF860053CDBB /* CircleGesturesHandler.swift in Sources */, + 4540BB972535CF860053CDBB /* FolderListResponse.swift in Sources */, + 4540BB892535CF860053CDBB /* StoreRequest.swift in Sources */, + 4540BB992535CF860053CDBB /* StoreResponse.swift in Sources */, + 4540BB4F2535CF860053CDBB /* ImageEditor.swift in Sources */, + 4540BB322535CF860053CDBB /* CloudSourceBarTabScene.swift in Sources */, + 4540BB702535CF860053CDBB /* AssetURLExtractorOperation.swift in Sources */, + 4540BB652535CF860053CDBB /* Stylizer.swift in Sources */, + 4540BB642535CF860053CDBB /* LocalSource.swift in Sources */, + 4540BB712535CF860053CDBB /* AVAsset+Export.swift in Sources */, + 4540BB962535CF860053CDBB /* CloudResponse.swift in Sources */, + 4540BB582535CF860053CDBB /* SelectableElement.swift in Sources */, + 4540BB542535CF860053CDBB /* ImageEditorView.swift in Sources */, + 4540BB672535CF860053CDBB /* PickerNavigationController.swift in Sources */, + 4540BB982535CF860053CDBB /* PrefetchResponse.swift in Sources */, + 4540BB7D2535CF860053CDBB /* UIColor+Bundle.swift in Sources */, + 4540BB462535CF860053CDBB /* SourceTableViewController.swift in Sources */, + 4540BB732535CF860053CDBB /* UIColor+Predefined.swift in Sources */, + 4540BB512535CF860053CDBB /* EditorViewController+ViewSetup.swift in Sources */, + 4540BB8D2535CF860053CDBB /* URLExtractor.swift in Sources */, + 4540BB362535CF860053CDBB /* AssetCollectionViewController.swift in Sources */, + 4540BB3B2535CF860053CDBB /* CloudSourceViewType.swift in Sources */, + 4540BB3F2535CF860053CDBB /* Storyboard+Scenes.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 4570850B1F975C6C00991340 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 457084FE1F975C6C00991340 /* Filestack */; - targetProxy = 4570850A1F975C6C00991340 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin XCBuildConfiguration section */ 457085111F975C6C00991340 /* Debug */ = { isa = XCBuildConfiguration; @@ -1099,6 +990,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1161,6 +1053,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1183,7 +1076,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.2; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1203,15 +1097,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( + INFOPLIST_FILE = "$(SRCROOT)/Sources/Filestack/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - INFOPLIST_FILE = Filestack/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LLVM_LTO = YES_THIN; - OTHER_SWIFT_FLAGS = "-DUseCarthage"; PRODUCT_BUNDLE_IDENTIFIER = com.filestack.Filestack; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; @@ -1232,15 +1125,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( + INFOPLIST_FILE = "$(SRCROOT)/Sources/Filestack/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - INFOPLIST_FILE = Filestack/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LLVM_LTO = YES_THIN; - OTHER_SWIFT_FLAGS = "-DUseCarthage"; PRODUCT_BUNDLE_IDENTIFIER = com.filestack.Filestack; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; @@ -1249,44 +1141,6 @@ }; name = Release; }; - 457085171F975C6C00991340 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = FilestackTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.filestack.FilestackTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 457085181F975C6C00991340 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = FilestackTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.filestack.FilestackTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1308,16 +1162,60 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 457085161F975C6C00991340 /* Build configuration list for PBXNativeTarget "FilestackTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 457085171F975C6C00991340 /* Debug */, - 457085181F975C6C00991340 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 4564B90B2535B3DA0045A3C7 /* XCRemoteSwiftPackageReference "Alamofire" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/Alamofire/Alamofire.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.9.1; + }; + }; + 4564B90F2535B3E70045A3C7 /* XCRemoteSwiftPackageReference "Zip" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/marmelroy/Zip.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.1.1; + }; + }; + 4564B9132535B4030045A3C7 /* XCRemoteSwiftPackageReference "filestack-swift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/filestack/filestack-swift.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.4.1; + }; + }; + 4564B91A2535B4670045A3C7 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/AliSoftware/OHHTTPStubs.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 9.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 4564B90C2535B3DA0045A3C7 /* Alamofire */ = { + isa = XCSwiftPackageProductDependency; + package = 4564B90B2535B3DA0045A3C7 /* XCRemoteSwiftPackageReference "Alamofire" */; + productName = Alamofire; + }; + 4564B9102535B3E70045A3C7 /* Zip */ = { + isa = XCSwiftPackageProductDependency; + package = 4564B90F2535B3E70045A3C7 /* XCRemoteSwiftPackageReference "Zip" */; + productName = Zip; + }; + 4564B9142535B4030045A3C7 /* FilestackSDK */ = { + isa = XCSwiftPackageProductDependency; + package = 4564B9132535B4030045A3C7 /* XCRemoteSwiftPackageReference "filestack-swift" */; + productName = FilestackSDK; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 457084F61F975C6B00991340 /* Project object */; } diff --git a/Filestack.xcodeproj/xcshareddata/xcschemes/Filestack.xcscheme b/Filestack.xcodeproj/xcshareddata/xcschemes/Filestack.xcscheme index 6cac76ef..44eaf94c 100644 --- a/Filestack.xcodeproj/xcshareddata/xcschemes/Filestack.xcscheme +++ b/Filestack.xcodeproj/xcshareddata/xcschemes/Filestack.xcscheme @@ -1,6 +1,6 @@ - - - - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 00000000..b18b57d2 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,34 @@ +{ + "object": { + "pins": [ + { + "package": "Alamofire", + "repositoryURL": "https://github.com/Alamofire/Alamofire", + "state": { + "branch": null, + "revision": "747c8db8d57b68d5e35275f10c92d55f982adbd4", + "version": "4.9.1" + } + }, + { + "package": "FilestackSDK", + "repositoryURL": "https://github.com/filestack/filestack-swift", + "state": { + "branch": null, + "revision": "5652c2dbbc957e068346ac503893140ae41b19d8", + "version": "2.4.1" + } + }, + { + "package": "Zip", + "repositoryURL": "https://github.com/marmelroy/Zip", + "state": { + "branch": null, + "revision": "bd19d974e8a38cc8d3a88c90c8a107386c3b8ccf", + "version": "2.1.1" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..873ad584 --- /dev/null +++ b/Package.swift @@ -0,0 +1,29 @@ +// swift-tools-version:5.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Filestack", + platforms: [.iOS(.v11)], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "Filestack", + targets: ["Filestack"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + .package(url: "https://github.com/Alamofire/Alamofire", from: "4.9.1"), + .package(name: "FilestackSDK", url: "https://github.com/filestack/filestack-swift", from: "2.4.1"), + .package(url: "https://github.com/marmelroy/Zip", from: "2.1.1") + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "Filestack", + dependencies: ["Alamofire", "FilestackSDK", "Zip"], + exclude: ["Filestack.h", "Info.plist"]) + ] +) diff --git a/README.md b/README.md index c1f99381..562d59f0 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ This is the official Swift iOS for Filestack — API and content management syst ## Requirements -* Xcode 11 or later -* Swift 4.2 up to 5.2 / Objective-C -* iOS 11 or later +* Xcode 11+ (*Xcode 12+ required for SPM support*) +* Swift 4.2+ / Objective-C +* iOS 11.0+ ## Installing @@ -31,7 +31,7 @@ platform :ios, '11.0' use_frameworks! target '' do - pod 'Filestack', '~> 2.3.2' + pod 'Filestack', '~> 2.4.0' end ``` @@ -52,9 +52,21 @@ $ brew install carthage To integrate Filestack into your Xcode project using Carthage, specify it in your `Cartfile`: -`github "filestack/filestack-ios" ~> 2.3.2` +`github "filestack/filestack-ios" ~> 2.4.0` -Run `carthage update` to build the framework and drag the built `Filestack.framework` into your Xcode project. Additionally, add `Filestack.framework`, `FilestackSDK.framework`, `Alamofire.framework`, and `ZipArchive.framework` to the embedded frameworks build phase of your app's target. +Run `carthage update` to build the framework and drag the built `Filestack.framework` into your Xcode project. Additionally, add `Filestack.framework`, `FilestackSDK.framework`, `Alamofire.framework`, and `Zip.framework` to the embedded frameworks build phase of your app's target. + +### Swift Package Manager + +Add `https://github.com/filestack/filestack-ios.git` as a [Swift Package Manager](https://swift.org/package-manager/) dependency to your Xcode project. + +Alternatively, if you are adding `Filestack` to your own Swift Package, declare the dependency in your `Package.swift`: + +```swift +dependencies: [ + .package(name: "Filestack", url: "https://github.com/filestack/filestack-ios.git", .upToNextMajor(from: "2.4.0")) +] +``` ### Manually @@ -70,7 +82,7 @@ Add Filestack and its dependencies as git submodules by running the following co $ git submodule add https://github.com/filestack/filestack-ios.git $ git submodule add https://github.com/filestack/filestack-swift.git $ git submodule add https://github.com/Alamofire/Alamofire.git -$ git submodule add https://github.com/ZipArchive/ZipArchive.git +$ git submodule add https://github.com/marmelroy/Zip.git ``` Open the new `filestack-ios` folder, and drag the `Filestack.xcodeproj` into the Project Navigator of your application's Xcode project. @@ -84,7 +96,7 @@ In the tab bar at the top of that window, open the "General" panel. Click on the + button under the "Embedded Binaries" section and choose the `Filestack.framework` for iOS. -Repeat the same process for adding `Alamofire`, `FilestackSDK`, and `ZipArchive` dependent frameworks. +Repeat the same process for adding `Alamofire`, `FilestackSDK`, and `Zip` dependent frameworks. ## Usage diff --git a/Filestack/Filestack.h b/Sources/Filestack/Filestack.h similarity index 100% rename from Filestack/Filestack.h rename to Sources/Filestack/Filestack.h diff --git a/Filestack/Info.plist b/Sources/Filestack/Info.plist similarity index 100% rename from Filestack/Info.plist rename to Sources/Filestack/Info.plist diff --git a/Filestack/Internal/Constants.swift b/Sources/Filestack/Internal/Constants.swift similarity index 100% rename from Filestack/Internal/Constants.swift rename to Sources/Filestack/Internal/Constants.swift diff --git a/Filestack/Internal/Extensions/AVAsset+Export.swift b/Sources/Filestack/Internal/Extensions/AVAsset+Export.swift similarity index 100% rename from Filestack/Internal/Extensions/AVAsset+Export.swift rename to Sources/Filestack/Internal/Extensions/AVAsset+Export.swift diff --git a/Filestack/Internal/Extensions/Array+SafeIndex.swift b/Sources/Filestack/Internal/Extensions/Array+SafeIndex.swift similarity index 100% rename from Filestack/Internal/Extensions/Array+SafeIndex.swift rename to Sources/Filestack/Internal/Extensions/Array+SafeIndex.swift diff --git a/Filestack/Internal/Extensions/Data+JSON.swift b/Sources/Filestack/Internal/Extensions/Data+JSON.swift similarity index 100% rename from Filestack/Internal/Extensions/Data+JSON.swift rename to Sources/Filestack/Internal/Extensions/Data+JSON.swift diff --git a/Filestack/Internal/Extensions/ImageEdition/CGPoint+Distance.swift b/Sources/Filestack/Internal/Extensions/ImageEdition/CGPoint+Distance.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageEdition/CGPoint+Distance.swift rename to Sources/Filestack/Internal/Extensions/ImageEdition/CGPoint+Distance.swift diff --git a/Filestack/Internal/Extensions/ImageEdition/CGRect+Scale.swift b/Sources/Filestack/Internal/Extensions/ImageEdition/CGRect+Scale.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageEdition/CGRect+Scale.swift rename to Sources/Filestack/Internal/Extensions/ImageEdition/CGRect+Scale.swift diff --git a/Filestack/Internal/Extensions/ImageEdition/UIImage+CIImageTransformations.swift b/Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+CIImageTransformations.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageEdition/UIImage+CIImageTransformations.swift rename to Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+CIImageTransformations.swift diff --git a/Filestack/Internal/Extensions/ImageEdition/UIImage+Rect.swift b/Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+Rect.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageEdition/UIImage+Rect.swift rename to Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+Rect.swift diff --git a/Filestack/Internal/Extensions/ImageEdition/UIImage+Sanitize.swift b/Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+Sanitize.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageEdition/UIImage+Sanitize.swift rename to Sources/Filestack/Internal/Extensions/ImageEdition/UIImage+Sanitize.swift diff --git a/Filestack/Internal/Extensions/ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift b/Sources/Filestack/Internal/Extensions/ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift similarity index 100% rename from Filestack/Internal/Extensions/ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift rename to Sources/Filestack/Internal/Extensions/ImageURLExportPreset+asImagePickerControllerImageURLExportPreset.swift diff --git a/Filestack/Internal/Extensions/Math+Clamp.swift b/Sources/Filestack/Internal/Extensions/Math+Clamp.swift similarity index 100% rename from Filestack/Internal/Extensions/Math+Clamp.swift rename to Sources/Filestack/Internal/Extensions/Math+Clamp.swift diff --git a/Filestack/Internal/Extensions/SessionManager+FilestackDefault.swift b/Sources/Filestack/Internal/Extensions/SessionManager+FilestackDefault.swift similarity index 100% rename from Filestack/Internal/Extensions/SessionManager+FilestackDefault.swift rename to Sources/Filestack/Internal/Extensions/SessionManager+FilestackDefault.swift diff --git a/Filestack/Internal/Extensions/String+UTI.swift b/Sources/Filestack/Internal/Extensions/String+UTI.swift similarity index 100% rename from Filestack/Internal/Extensions/String+UTI.swift rename to Sources/Filestack/Internal/Extensions/String+UTI.swift diff --git a/Filestack/Internal/Extensions/UICollectionView+Reusable.swift b/Sources/Filestack/Internal/Extensions/UICollectionView+Reusable.swift similarity index 100% rename from Filestack/Internal/Extensions/UICollectionView+Reusable.swift rename to Sources/Filestack/Internal/Extensions/UICollectionView+Reusable.swift diff --git a/Filestack/Internal/Extensions/UIColor+Bundle.swift b/Sources/Filestack/Internal/Extensions/UIColor+Bundle.swift similarity index 100% rename from Filestack/Internal/Extensions/UIColor+Bundle.swift rename to Sources/Filestack/Internal/Extensions/UIColor+Bundle.swift diff --git a/Filestack/Internal/Extensions/UIColor+Predefined.swift b/Sources/Filestack/Internal/Extensions/UIColor+Predefined.swift similarity index 100% rename from Filestack/Internal/Extensions/UIColor+Predefined.swift rename to Sources/Filestack/Internal/Extensions/UIColor+Predefined.swift diff --git a/Filestack/Internal/Extensions/UIImage+Bundle.swift b/Sources/Filestack/Internal/Extensions/UIImage+Bundle.swift similarity index 100% rename from Filestack/Internal/Extensions/UIImage+Bundle.swift rename to Sources/Filestack/Internal/Extensions/UIImage+Bundle.swift diff --git a/Filestack/Internal/Extensions/UIImage+Export.swift b/Sources/Filestack/Internal/Extensions/UIImage+Export.swift similarity index 100% rename from Filestack/Internal/Extensions/UIImage+Export.swift rename to Sources/Filestack/Internal/Extensions/UIImage+Export.swift diff --git a/Filestack/Internal/Extensions/UIImage+HEIC.swift b/Sources/Filestack/Internal/Extensions/UIImage+HEIC.swift similarity index 100% rename from Filestack/Internal/Extensions/UIImage+HEIC.swift rename to Sources/Filestack/Internal/Extensions/UIImage+HEIC.swift diff --git a/Filestack/Internal/Extensions/UIImage+Resized.swift b/Sources/Filestack/Internal/Extensions/UIImage+Resized.swift similarity index 100% rename from Filestack/Internal/Extensions/UIImage+Resized.swift rename to Sources/Filestack/Internal/Extensions/UIImage+Resized.swift diff --git a/Filestack/Internal/Extensions/UIImage+Write.swift b/Sources/Filestack/Internal/Extensions/UIImage+Write.swift similarity index 98% rename from Filestack/Internal/Extensions/UIImage+Write.swift rename to Sources/Filestack/Internal/Extensions/UIImage+Write.swift index ea1bb640..eba34eef 100644 --- a/Filestack/Internal/Extensions/UIImage+Write.swift +++ b/Sources/Filestack/Internal/Extensions/UIImage+Write.swift @@ -6,7 +6,7 @@ // Copyright © 2018 Filestack. All rights reserved. // -import Foundation +import UIKit extension UIImage { func with(written text: String, atPoint point: CGPoint) -> UIImage { diff --git a/Filestack/Internal/Extensions/UIView+Constraints.swift b/Sources/Filestack/Internal/Extensions/UIView+Constraints.swift similarity index 100% rename from Filestack/Internal/Extensions/UIView+Constraints.swift rename to Sources/Filestack/Internal/Extensions/UIView+Constraints.swift diff --git a/Filestack/Internal/Extensions/URL+Copy.swift b/Sources/Filestack/Internal/Extensions/URL+Copy.swift similarity index 100% rename from Filestack/Internal/Extensions/URL+Copy.swift rename to Sources/Filestack/Internal/Extensions/URL+Copy.swift diff --git a/Filestack/Internal/Extensions/URL+IsDirectory.swift b/Sources/Filestack/Internal/Extensions/URL+IsDirectory.swift similarity index 100% rename from Filestack/Internal/Extensions/URL+IsDirectory.swift rename to Sources/Filestack/Internal/Extensions/URL+IsDirectory.swift diff --git a/Filestack/Internal/Extractors/URLExtractor.swift b/Sources/Filestack/Internal/Extractors/URLExtractor.swift similarity index 99% rename from Filestack/Internal/Extractors/URLExtractor.swift rename to Sources/Filestack/Internal/Extractors/URLExtractor.swift index ab5aed1c..2f72217b 100644 --- a/Filestack/Internal/Extractors/URLExtractor.swift +++ b/Sources/Filestack/Internal/Extractors/URLExtractor.swift @@ -6,8 +6,8 @@ // Copyright © 2018 Filestack. All rights reserved. // -import Foundation import Photos +import UIKit class URLExtractor { // MARK: - Private Properties diff --git a/Filestack/Internal/Extractors/UploadableExtractor.swift b/Sources/Filestack/Internal/Extractors/UploadableExtractor.swift similarity index 100% rename from Filestack/Internal/Extractors/UploadableExtractor.swift rename to Sources/Filestack/Internal/Extractors/UploadableExtractor.swift diff --git a/Filestack/Internal/Formatters/DurationNumberFormatter.swift b/Sources/Filestack/Internal/Formatters/DurationNumberFormatter.swift similarity index 100% rename from Filestack/Internal/Formatters/DurationNumberFormatter.swift rename to Sources/Filestack/Internal/Formatters/DurationNumberFormatter.swift diff --git a/Filestack/Internal/Operations/AssetURLExtractorOperation.swift b/Sources/Filestack/Internal/Operations/AssetURLExtractorOperation.swift similarity index 99% rename from Filestack/Internal/Operations/AssetURLExtractorOperation.swift rename to Sources/Filestack/Internal/Operations/AssetURLExtractorOperation.swift index 9b48ef67..c641e269 100644 --- a/Filestack/Internal/Operations/AssetURLExtractorOperation.swift +++ b/Sources/Filestack/Internal/Operations/AssetURLExtractorOperation.swift @@ -6,9 +6,9 @@ // Copyright © 2020 Filestack. All rights reserved. // -import Foundation import FilestackSDK import Photos +import UIKit class AssetURLExtractorOperation: BaseOperation<[URL]>, ProgressReporting { // MARK: - Internal Properties diff --git a/Filestack/Internal/Protocols/CloudRequest.swift b/Sources/Filestack/Internal/Protocols/CloudRequest.swift similarity index 100% rename from Filestack/Internal/Protocols/CloudRequest.swift rename to Sources/Filestack/Internal/Protocols/CloudRequest.swift diff --git a/Filestack/Internal/Requests/FolderListRequest.swift b/Sources/Filestack/Internal/Requests/FolderListRequest.swift similarity index 100% rename from Filestack/Internal/Requests/FolderListRequest.swift rename to Sources/Filestack/Internal/Requests/FolderListRequest.swift diff --git a/Filestack/Internal/Requests/LogoutRequest.swift b/Sources/Filestack/Internal/Requests/LogoutRequest.swift similarity index 100% rename from Filestack/Internal/Requests/LogoutRequest.swift rename to Sources/Filestack/Internal/Requests/LogoutRequest.swift diff --git a/Filestack/Internal/Requests/PrefetchRequest.swift b/Sources/Filestack/Internal/Requests/PrefetchRequest.swift similarity index 100% rename from Filestack/Internal/Requests/PrefetchRequest.swift rename to Sources/Filestack/Internal/Requests/PrefetchRequest.swift diff --git a/Filestack/Internal/Requests/StoreRequest.swift b/Sources/Filestack/Internal/Requests/StoreRequest.swift similarity index 100% rename from Filestack/Internal/Requests/StoreRequest.swift rename to Sources/Filestack/Internal/Requests/StoreRequest.swift diff --git a/Filestack/Internal/Services/CloudService.swift b/Sources/Filestack/Internal/Services/CloudService.swift similarity index 100% rename from Filestack/Internal/Services/CloudService.swift rename to Sources/Filestack/Internal/Services/CloudService.swift diff --git a/Filestack/Internal/TrackingProgress.swift b/Sources/Filestack/Internal/TrackingProgress.swift similarity index 100% rename from Filestack/Internal/TrackingProgress.swift rename to Sources/Filestack/Internal/TrackingProgress.swift diff --git a/Filestack/Public/CompletionHandlers.swift b/Sources/Filestack/Public/CompletionHandlers.swift similarity index 100% rename from Filestack/Public/CompletionHandlers.swift rename to Sources/Filestack/Public/CompletionHandlers.swift diff --git a/Filestack/Public/Enums/ClientError.swift b/Sources/Filestack/Public/Enums/ClientError.swift similarity index 100% rename from Filestack/Public/Enums/ClientError.swift rename to Sources/Filestack/Public/Enums/ClientError.swift diff --git a/Filestack/Public/Enums/CloudProvider.swift b/Sources/Filestack/Public/Enums/CloudProvider.swift similarity index 100% rename from Filestack/Public/Enums/CloudProvider.swift rename to Sources/Filestack/Public/Enums/CloudProvider.swift diff --git a/Filestack/Public/Enums/ImageURLExportPreset.swift b/Sources/Filestack/Public/Enums/ImageURLExportPreset.swift similarity index 100% rename from Filestack/Public/Enums/ImageURLExportPreset.swift rename to Sources/Filestack/Public/Enums/ImageURLExportPreset.swift diff --git a/Filestack/Public/Extensions/Client+Deprecated.swift b/Sources/Filestack/Public/Extensions/Client+Deprecated.swift similarity index 99% rename from Filestack/Public/Extensions/Client+Deprecated.swift rename to Sources/Filestack/Public/Extensions/Client+Deprecated.swift index fd4d23f3..482336f0 100644 --- a/Filestack/Public/Extensions/Client+Deprecated.swift +++ b/Sources/Filestack/Public/Extensions/Client+Deprecated.swift @@ -7,7 +7,7 @@ // import FilestackSDK -import Foundation +import UIKit extension Client { // MARK: - Deprecated diff --git a/Filestack/Public/Extensions/Client+ObjC.swift b/Sources/Filestack/Public/Extensions/Client+ObjC.swift similarity index 100% rename from Filestack/Public/Extensions/Client+ObjC.swift rename to Sources/Filestack/Public/Extensions/Client+ObjC.swift diff --git a/Filestack/Public/Models/Client.swift b/Sources/Filestack/Public/Models/Client.swift similarity index 100% rename from Filestack/Public/Models/Client.swift rename to Sources/Filestack/Public/Models/Client.swift diff --git a/Filestack/Public/Models/Config.swift b/Sources/Filestack/Public/Models/Config.swift similarity index 100% rename from Filestack/Public/Models/Config.swift rename to Sources/Filestack/Public/Models/Config.swift diff --git a/Filestack/Public/Responses/CloudResponse.swift b/Sources/Filestack/Public/Responses/CloudResponse.swift similarity index 100% rename from Filestack/Public/Responses/CloudResponse.swift rename to Sources/Filestack/Public/Responses/CloudResponse.swift diff --git a/Filestack/Public/Responses/FolderListResponse.swift b/Sources/Filestack/Public/Responses/FolderListResponse.swift similarity index 100% rename from Filestack/Public/Responses/FolderListResponse.swift rename to Sources/Filestack/Public/Responses/FolderListResponse.swift diff --git a/Filestack/Public/Responses/LogoutResponse.swift b/Sources/Filestack/Public/Responses/LogoutResponse.swift similarity index 100% rename from Filestack/Public/Responses/LogoutResponse.swift rename to Sources/Filestack/Public/Responses/LogoutResponse.swift diff --git a/Filestack/Public/Responses/PrefetchResponse.swift b/Sources/Filestack/Public/Responses/PrefetchResponse.swift similarity index 100% rename from Filestack/Public/Responses/PrefetchResponse.swift rename to Sources/Filestack/Public/Responses/PrefetchResponse.swift diff --git a/Filestack/Public/Responses/StoreResponse.swift b/Sources/Filestack/Public/Responses/StoreResponse.swift similarity index 100% rename from Filestack/Public/Responses/StoreResponse.swift rename to Sources/Filestack/Public/Responses/StoreResponse.swift diff --git a/Filestack/Resources/Colors.xcassets/Contents.json b/Sources/Filestack/Resources/Colors.xcassets/Contents.json similarity index 100% rename from Filestack/Resources/Colors.xcassets/Contents.json rename to Sources/Filestack/Resources/Colors.xcassets/Contents.json diff --git a/Filestack/Resources/Colors.xcassets/SelectionCellBorderColor.colorset/Contents.json b/Sources/Filestack/Resources/Colors.xcassets/SelectionCellBorderColor.colorset/Contents.json similarity index 100% rename from Filestack/Resources/Colors.xcassets/SelectionCellBorderColor.colorset/Contents.json rename to Sources/Filestack/Resources/Colors.xcassets/SelectionCellBorderColor.colorset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/clear-pattern.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/clear-pattern.png b/Sources/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/clear-pattern.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/clear-pattern.imageset/clear-pattern.png rename to Sources/Filestack/Resources/Icons.xcassets/clear-pattern.imageset/clear-pattern.png diff --git a/Filestack/Resources/Icons.xcassets/file.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/file.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/file.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/file.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/file.imageset/file.png b/Sources/Filestack/Resources/Icons.xcassets/file.imageset/file.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/file.imageset/file.png rename to Sources/Filestack/Resources/Icons.xcassets/file.imageset/file.png diff --git a/Filestack/Resources/Icons.xcassets/file.imageset/file@2x.png b/Sources/Filestack/Resources/Icons.xcassets/file.imageset/file@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/file.imageset/file@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/file.imageset/file@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-box.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-box.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box.png b/Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box.png diff --git a/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-box.imageset/icon-box@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-camera.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-camera.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera.png b/Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera.png diff --git a/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-camera.imageset/icon-camera@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-circle.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-circle.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-circle.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-circle.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-circle.imageset/circle_icon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-circle.imageset/circle_icon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-circle.imageset/circle_icon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-circle.imageset/circle_icon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive.png b/Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive.png diff --git a/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-clouddrive.imageset/icon-clouddrive@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-crop.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-crop.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-crop.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-crop.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-crop.imageset/crop_icon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-crop.imageset/crop_icon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-crop.imageset/crop_icon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-crop.imageset/crop_icon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-customsource.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource.png b/Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource.png diff --git a/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-customsource.imageset/icon-customsource@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-documents.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-documents.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents.png b/Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents.png diff --git a/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-documents.imageset/documents@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox.png b/Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox.png diff --git a/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-dropbox.imageset/icon-dropbox@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-edit.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-edit.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-edit.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-edit.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-edit.imageset/icon-pencil.png b/Sources/Filestack/Resources/Icons.xcassets/icon-edit.imageset/icon-pencil.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-edit.imageset/icon-pencil.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-edit.imageset/icon-pencil.png diff --git a/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-facebook.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook.png b/Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook.png diff --git a/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-facebook.imageset/icon-facebook@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-image.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/icon-image.png b/Sources/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/icon-image.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-image.imageset/icon-image.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-image.imageset/icon-image.png diff --git a/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/icon-file-pdf.png b/Sources/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/icon-file-pdf.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/icon-file-pdf.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-pdf.imageset/icon-file-pdf.png diff --git a/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/icon-file-unknown.png b/Sources/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/icon-file-unknown.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/icon-file-unknown.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-unknown.imageset/icon-file-unknown.png diff --git a/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-video.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/icon-video-camera.png b/Sources/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/icon-video-camera.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-file-video.imageset/icon-video-camera.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-file-video.imageset/icon-video-camera.png diff --git a/Filestack/Resources/Icons.xcassets/icon-github.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-github.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github.png b/Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github.png diff --git a/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-github.imageset/icon-github@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-gmail.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail.png b/Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail.png diff --git a/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-gmail.imageset/icon-gmail@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive.png b/Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive.png diff --git a/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-googledrive.imageset/icon-googledrive@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-grid.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-grid.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid.png b/Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid.png diff --git a/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@3x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@3x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@3x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-grid.imageset/icon-grid@3x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-image.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-image.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-image.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-image.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-image.imageset/icon-image.png b/Sources/Filestack/Resources/Icons.xcassets/icon-image.imageset/icon-image.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-image.imageset/icon-image.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-image.imageset/icon-image.png diff --git a/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-instagram.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram.png b/Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram.png diff --git a/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-instagram.imageset/icon-instagram@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-list.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-list.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list.png b/Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list.png diff --git a/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@3x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@3x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@3x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-list.imageset/icon-list@3x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-logout.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-logout.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout.png b/Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout.png diff --git a/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@3x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@3x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@3x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-logout.imageset/icon-logout@3x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive.png b/Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive.png diff --git a/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-onedrive.imageset/icon-skydrive@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums.png b/Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums.png diff --git a/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-photolibrary.imageset/icon-albums@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-picasa.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa.png b/Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa.png diff --git a/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-picasa.imageset/icon-picasa@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-redo.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-redo.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-redo.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-redo.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-redo.imageset/redo_icon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-redo.imageset/redo_icon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-redo.imageset/redo_icon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-redo.imageset/redo_icon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-rotate.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/rotate_icon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/rotate_icon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-rotate.imageset/rotate_icon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-rotate.imageset/rotate_icon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-selected.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-selected.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-1.png b/Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-1.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-1.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-1.png diff --git a/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-2.png b/Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-2.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-2.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon-2.png diff --git a/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-selected.imageset/photoIcon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-tick.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-tick.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-tick.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-tick.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-tick.imageset/checkmark-solid.png b/Sources/Filestack/Resources/Icons.xcassets/icon-tick.imageset/checkmark-solid.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-tick.imageset/checkmark-solid.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-tick.imageset/checkmark-solid.png diff --git a/Filestack/Resources/Icons.xcassets/icon-undo.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-undo.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-undo.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-undo.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-undo.imageset/undo_icon.png b/Sources/Filestack/Resources/Icons.xcassets/icon-undo.imageset/undo_icon.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-undo.imageset/undo_icon.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-undo.imageset/undo_icon.png diff --git a/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash.png b/Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash.png diff --git a/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash@2x.png b/Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash@2x.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash@2x.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-unsplash.imageset/icon-unsplash@2x.png diff --git a/Filestack/Resources/Icons.xcassets/icon-upload.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/icon-upload.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-upload.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/icon-upload.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/icon-upload.imageset/icon_upload.png b/Sources/Filestack/Resources/Icons.xcassets/icon-upload.imageset/icon_upload.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/icon-upload.imageset/icon_upload.png rename to Sources/Filestack/Resources/Icons.xcassets/icon-upload.imageset/icon_upload.png diff --git a/Filestack/Resources/Icons.xcassets/placeholder.imageset/Contents.json b/Sources/Filestack/Resources/Icons.xcassets/placeholder.imageset/Contents.json similarity index 100% rename from Filestack/Resources/Icons.xcassets/placeholder.imageset/Contents.json rename to Sources/Filestack/Resources/Icons.xcassets/placeholder.imageset/Contents.json diff --git a/Filestack/Resources/Icons.xcassets/placeholder.imageset/placeholder.png b/Sources/Filestack/Resources/Icons.xcassets/placeholder.imageset/placeholder.png similarity index 100% rename from Filestack/Resources/Icons.xcassets/placeholder.imageset/placeholder.png rename to Sources/Filestack/Resources/Icons.xcassets/placeholder.imageset/placeholder.png diff --git a/Filestack/UI/Storyboards/PhotoPicker.storyboard b/Sources/Filestack/Resources/PhotoPicker.storyboard similarity index 97% rename from Filestack/UI/Storyboards/PhotoPicker.storyboard rename to Sources/Filestack/Resources/PhotoPicker.storyboard index 39293527..4f3d2ad1 100644 --- a/Filestack/UI/Storyboards/PhotoPicker.storyboard +++ b/Sources/Filestack/Resources/PhotoPicker.storyboard @@ -1,9 +1,10 @@ - + - + + @@ -31,7 +32,7 @@ + + + diff --git a/Filestack/UI/Storyboards/Picker.storyboard b/Sources/Filestack/Resources/Picker.storyboard similarity index 100% rename from Filestack/UI/Storyboards/Picker.storyboard rename to Sources/Filestack/Resources/Picker.storyboard diff --git a/Filestack/UI/Internal/Collection View Cells/ActivityIndicatorCollectionViewCell.swift b/Sources/Filestack/UI/Internal/Collection View Cells/ActivityIndicatorCollectionViewCell.swift similarity index 100% rename from Filestack/UI/Internal/Collection View Cells/ActivityIndicatorCollectionViewCell.swift rename to Sources/Filestack/UI/Internal/Collection View Cells/ActivityIndicatorCollectionViewCell.swift diff --git a/Filestack/UI/Internal/Collection View Cells/CloudItemCollectionViewCell.swift b/Sources/Filestack/UI/Internal/Collection View Cells/CloudItemCollectionViewCell.swift similarity index 100% rename from Filestack/UI/Internal/Collection View Cells/CloudItemCollectionViewCell.swift rename to Sources/Filestack/UI/Internal/Collection View Cells/CloudItemCollectionViewCell.swift diff --git a/Filestack/UI/Internal/Controllers/CloudSourceCollectionViewController.swift b/Sources/Filestack/UI/Internal/Controllers/CloudSourceCollectionViewController.swift similarity index 100% rename from Filestack/UI/Internal/Controllers/CloudSourceCollectionViewController.swift rename to Sources/Filestack/UI/Internal/Controllers/CloudSourceCollectionViewController.swift diff --git a/Filestack/UI/Internal/Controllers/CloudSourceTabBarController.swift b/Sources/Filestack/UI/Internal/Controllers/CloudSourceTabBarController.swift similarity index 100% rename from Filestack/UI/Internal/Controllers/CloudSourceTabBarController.swift rename to Sources/Filestack/UI/Internal/Controllers/CloudSourceTabBarController.swift diff --git a/Filestack/UI/Internal/Controllers/CloudSourceTableViewController.swift b/Sources/Filestack/UI/Internal/Controllers/CloudSourceTableViewController.swift similarity index 100% rename from Filestack/UI/Internal/Controllers/CloudSourceTableViewController.swift rename to Sources/Filestack/UI/Internal/Controllers/CloudSourceTableViewController.swift diff --git a/Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift b/Sources/Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift similarity index 84% rename from Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift rename to Sources/Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift index f6e1d8ae..6d9bed05 100644 --- a/Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift +++ b/Sources/Filestack/UI/Internal/Controllers/DocumentPickerUploadController.swift @@ -7,13 +7,8 @@ // import FilestackSDK -import Foundation - -#if UseCarthage - import ZipArchive -#else - import SSZipArchive -#endif +import UIKit +import Zip class DocumentPickerUploadController: NSObject, Cancellable, Monitorizable { let uploader: Uploader & DeferredAdd @@ -60,12 +55,9 @@ extension DocumentPickerUploadController { } private func zipURL(from url: URL) -> URL? { - guard let tmpFileURL = tempZipURL(filename: url.lastPathComponent), - SSZipArchive.createZipFile(atPath: tmpFileURL.path, - withContentsOfDirectory: url.path, - keepParentDirectory: true) else { return nil } - - return tmpFileURL + let fileName = url.lastPathComponent + + return try? Zip.quickZipFiles([url], fileName: fileName) } private func tempZipURL(filename: String) -> URL? { diff --git a/Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift b/Sources/Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift similarity index 99% rename from Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift rename to Sources/Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift index 811911ca..decd4467 100644 --- a/Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift +++ b/Sources/Filestack/UI/Internal/Controllers/ImagePickerUploadController.swift @@ -8,8 +8,8 @@ import AVFoundation.AVAssetExportSession import FilestackSDK -import Foundation import Photos +import UIKit class ImagePickerUploadController: NSObject, Cancellable, Monitorizable { let uploader: Uploader & DeferredAdd diff --git a/Filestack/UI/Internal/Controllers/MonitorViewController.swift b/Sources/Filestack/UI/Internal/Controllers/MonitorViewController.swift similarity index 99% rename from Filestack/UI/Internal/Controllers/MonitorViewController.swift rename to Sources/Filestack/UI/Internal/Controllers/MonitorViewController.swift index 639da0dc..cac5cbbc 100644 --- a/Filestack/UI/Internal/Controllers/MonitorViewController.swift +++ b/Sources/Filestack/UI/Internal/Controllers/MonitorViewController.swift @@ -7,7 +7,7 @@ // import FilestackSDK -import Foundation +import UIKit final class MonitorViewController: UIViewController { // MARK: - Private Properties diff --git a/Filestack/UI/Internal/Controllers/SourceTableViewController.swift b/Sources/Filestack/UI/Internal/Controllers/SourceTableViewController.swift similarity index 100% rename from Filestack/UI/Internal/Controllers/SourceTableViewController.swift rename to Sources/Filestack/UI/Internal/Controllers/SourceTableViewController.swift diff --git a/Filestack/UI/Internal/Enums/CloudSourceViewType.swift b/Sources/Filestack/UI/Internal/Enums/CloudSourceViewType.swift similarity index 100% rename from Filestack/UI/Internal/Enums/CloudSourceViewType.swift rename to Sources/Filestack/UI/Internal/Enums/CloudSourceViewType.swift diff --git a/Filestack/UI/Internal/Extensions/Scene+Defaults.swift b/Sources/Filestack/UI/Internal/Extensions/Scene+Defaults.swift similarity index 100% rename from Filestack/UI/Internal/Extensions/Scene+Defaults.swift rename to Sources/Filestack/UI/Internal/Extensions/Scene+Defaults.swift diff --git a/Filestack/UI/Internal/Extensions/Storyboard+Scenes.swift b/Sources/Filestack/UI/Internal/Extensions/Storyboard+Scenes.swift similarity index 100% rename from Filestack/UI/Internal/Extensions/Storyboard+Scenes.swift rename to Sources/Filestack/UI/Internal/Extensions/Storyboard+Scenes.swift diff --git a/Filestack/UI/Internal/Extensions/UIImage+Squared.swift b/Sources/Filestack/UI/Internal/Extensions/UIImage+Squared.swift similarity index 100% rename from Filestack/UI/Internal/Extensions/UIImage+Squared.swift rename to Sources/Filestack/UI/Internal/Extensions/UIImage+Squared.swift diff --git a/Filestack/UI/Internal/Extensions/UserDefaults+State.swift b/Sources/Filestack/UI/Internal/Extensions/UserDefaults+State.swift similarity index 100% rename from Filestack/UI/Internal/Extensions/UserDefaults+State.swift rename to Sources/Filestack/UI/Internal/Extensions/UserDefaults+State.swift diff --git a/Filestack/UI/Internal/FlowLayouts/CollectionViewFlowLayout.swift b/Sources/Filestack/UI/Internal/FlowLayouts/CollectionViewFlowLayout.swift similarity index 100% rename from Filestack/UI/Internal/FlowLayouts/CollectionViewFlowLayout.swift rename to Sources/Filestack/UI/Internal/FlowLayouts/CollectionViewFlowLayout.swift diff --git a/Filestack/UI/Internal/Models/CloudItem.swift b/Sources/Filestack/UI/Internal/Models/CloudItem.swift similarity index 100% rename from Filestack/UI/Internal/Models/CloudItem.swift rename to Sources/Filestack/UI/Internal/Models/CloudItem.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/EditorToolbar.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/EditorToolbar.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/EditorToolbar.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/EditorToolbar.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift similarity index 94% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift index bf00b8aa..1cc3cf73 100644 --- a/Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift +++ b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Enums/ImageEditorCommand.swift @@ -6,7 +6,7 @@ // Copyright © 2019 Filestack. All rights reserved. // -import Foundation +import UIKit enum ImageEditorCommand { case rotate(clockwise: Bool) diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CircleGesturesHandler.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CircleGesturesHandler.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CircleGesturesHandler.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CircleGesturesHandler.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CropGesturesHandler.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CropGesturesHandler.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CropGesturesHandler.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Handlers/CropGesturesHandler.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/ImageEditor.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ImageEditor.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/ImageEditor.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ImageEditor.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CircleLayer.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CircleLayer.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CircleLayer.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CircleLayer.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CropLayer.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CropLayer.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CropLayer.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Layers/CropLayer.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+EditDataSource.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+EditDataSource.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+EditDataSource.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+EditDataSource.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ToolbarDelegate.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ToolbarDelegate.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ToolbarDelegate.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ToolbarDelegate.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ViewSetup.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ViewSetup.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ViewSetup.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController+ViewSetup.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/ViewController/EditorViewController.swift diff --git a/Filestack/UI/Internal/PhotoEditor/EditionController/Views/ImageEditorView.swift b/Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Views/ImageEditorView.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/EditionController/Views/ImageEditorView.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/EditionController/Views/ImageEditorView.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectableElement.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectableElement.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/SelectableElement.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectableElement.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionCell.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionCell.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionCell.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionCell.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+FlowLayout.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+FlowLayout.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+FlowLayout.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+FlowLayout.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+UICollectionView.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+UICollectionView.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+UICollectionView.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController+UICollectionView.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/SelectionListViewController.swift diff --git a/Filestack/UI/Internal/PhotoEditor/SelectionList/Uploadable.swift b/Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/Uploadable.swift similarity index 100% rename from Filestack/UI/Internal/PhotoEditor/SelectionList/Uploadable.swift rename to Sources/Filestack/UI/Internal/PhotoEditor/SelectionList/Uploadable.swift diff --git a/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift b/Sources/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift similarity index 98% rename from Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift index 90c2f777..08613414 100644 --- a/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift +++ b/Sources/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumCell.swift @@ -6,8 +6,8 @@ // Copyright © 2018 Filestack. All rights reserved. // -import Foundation import Photos +import UIKit class AlbumCell: UITableViewCell { @IBOutlet var coverImage: UIImageView! diff --git a/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumListViewController.swift b/Sources/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumListViewController.swift similarity index 100% rename from Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumListViewController.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/AlbumList/AlbumListViewController.swift diff --git a/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift b/Sources/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift similarity index 99% rename from Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift index d965aaec..485888d2 100644 --- a/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift +++ b/Sources/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCell.swift @@ -7,6 +7,7 @@ // import Photos +import UIKit class AssetCell: UICollectionViewCell { @IBOutlet var image: UIImageView! diff --git a/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCollectionViewController.swift b/Sources/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCollectionViewController.swift similarity index 100% rename from Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCollectionViewController.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/AssetCollection/AssetCollectionViewController.swift diff --git a/Filestack/UI/Internal/PhotoPicker/PhotoAlbumRepository.swift b/Sources/Filestack/UI/Internal/PhotoPicker/PhotoAlbumRepository.swift similarity index 100% rename from Filestack/UI/Internal/PhotoPicker/PhotoAlbumRepository.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/PhotoAlbumRepository.swift diff --git a/Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift b/Sources/Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift similarity index 99% rename from Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift index 37ac87c1..43f41f8d 100644 --- a/Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift +++ b/Sources/Filestack/UI/Internal/PhotoPicker/PhotoPickerController.swift @@ -7,6 +7,7 @@ // import Photos +import UIKit protocol PhotoPickerControllerDelegate: class { func photoPickerControllerDidCancel(controller: UINavigationController) diff --git a/Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift b/Sources/Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift similarity index 99% rename from Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift rename to Sources/Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift index 53a4144d..a86ddb23 100644 --- a/Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift +++ b/Sources/Filestack/UI/Internal/PhotoPicker/PhotosExtensions.swift @@ -7,6 +7,7 @@ // import Photos +import UIKit // MARK: - PHAsset Public Properties diff --git a/Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift b/Sources/Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift similarity index 95% rename from Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift rename to Sources/Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift index decd3edd..e492c05c 100644 --- a/Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift +++ b/Sources/Filestack/UI/Internal/Protocols/CellDescriptibleSource.swift @@ -6,7 +6,7 @@ // Copyright © 2017 Filestack. All rights reserved. // -import Foundation +import UIKit protocol CellDescriptibleSource { var iconImage: UIImage { get } diff --git a/Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift b/Sources/Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift similarity index 98% rename from Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift rename to Sources/Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift index e0633c92..38db1a7a 100644 --- a/Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift +++ b/Sources/Filestack/UI/Internal/Protocols/CloudSourceDataSource.swift @@ -7,8 +7,8 @@ // import FilestackSDK -import Foundation import MobileCoreServices.UTType +import UIKit protocol CloudSourceDataSource: AnyObject { var client: Client! { get } diff --git a/Filestack/UI/Internal/Protocols/CloudSourceDataSourceConsumer.swift b/Sources/Filestack/UI/Internal/Protocols/CloudSourceDataSourceConsumer.swift similarity index 100% rename from Filestack/UI/Internal/Protocols/CloudSourceDataSourceConsumer.swift rename to Sources/Filestack/UI/Internal/Protocols/CloudSourceDataSourceConsumer.swift diff --git a/Filestack/UI/Internal/Protocols/Scene.swift b/Sources/Filestack/UI/Internal/Protocols/Scene.swift similarity index 100% rename from Filestack/UI/Internal/Protocols/Scene.swift rename to Sources/Filestack/UI/Internal/Protocols/Scene.swift diff --git a/Filestack/UI/Internal/Scenes/CloudSourceBarTabScene.swift b/Sources/Filestack/UI/Internal/Scenes/CloudSourceBarTabScene.swift similarity index 100% rename from Filestack/UI/Internal/Scenes/CloudSourceBarTabScene.swift rename to Sources/Filestack/UI/Internal/Scenes/CloudSourceBarTabScene.swift diff --git a/Filestack/UI/Internal/Scenes/PickerNavigationScene.swift b/Sources/Filestack/UI/Internal/Scenes/PickerNavigationScene.swift similarity index 100% rename from Filestack/UI/Internal/Scenes/PickerNavigationScene.swift rename to Sources/Filestack/UI/Internal/Scenes/PickerNavigationScene.swift diff --git a/Filestack/UI/Internal/Table View Cells/ActivityIndicatorTableViewCell.swift b/Sources/Filestack/UI/Internal/Table View Cells/ActivityIndicatorTableViewCell.swift similarity index 100% rename from Filestack/UI/Internal/Table View Cells/ActivityIndicatorTableViewCell.swift rename to Sources/Filestack/UI/Internal/Table View Cells/ActivityIndicatorTableViewCell.swift diff --git a/Filestack/UI/Internal/Table View Cells/CloudItemTableViewCell.swift b/Sources/Filestack/UI/Internal/Table View Cells/CloudItemTableViewCell.swift similarity index 100% rename from Filestack/UI/Internal/Table View Cells/CloudItemTableViewCell.swift rename to Sources/Filestack/UI/Internal/Table View Cells/CloudItemTableViewCell.swift diff --git a/Filestack/UI/Public/Controllers/PickerNavigationController.swift b/Sources/Filestack/UI/Public/Controllers/PickerNavigationController.swift similarity index 99% rename from Filestack/UI/Public/Controllers/PickerNavigationController.swift rename to Sources/Filestack/UI/Public/Controllers/PickerNavigationController.swift index a213cb75..5f9f5655 100644 --- a/Filestack/UI/Public/Controllers/PickerNavigationController.swift +++ b/Sources/Filestack/UI/Public/Controllers/PickerNavigationController.swift @@ -7,7 +7,7 @@ // import FilestackSDK -import Foundation +import UIKit /// This class represents a navigation controller containing UI elements that allow picking files from local and cloud /// sources. diff --git a/Filestack/UI/Public/Enums/LocalProvider.swift b/Sources/Filestack/UI/Public/Enums/LocalProvider.swift similarity index 100% rename from Filestack/UI/Public/Enums/LocalProvider.swift rename to Sources/Filestack/UI/Public/Enums/LocalProvider.swift diff --git a/Filestack/UI/Public/Models/CloudSource.swift b/Sources/Filestack/UI/Public/Models/CloudSource.swift similarity index 99% rename from Filestack/UI/Public/Models/CloudSource.swift rename to Sources/Filestack/UI/Public/Models/CloudSource.swift index c25715fe..ac7f6d1c 100644 --- a/Filestack/UI/Public/Models/CloudSource.swift +++ b/Sources/Filestack/UI/Public/Models/CloudSource.swift @@ -6,7 +6,7 @@ // Copyright © 2017 Filestack. All rights reserved. // -import Foundation +import UIKit /// Represents a type of cloud source to be used in the picker. @objc(FSCloudSource) public class CloudSource: NSObject, CellDescriptibleSource { diff --git a/Filestack/UI/Public/Models/LocalSource.swift b/Sources/Filestack/UI/Public/Models/LocalSource.swift similarity index 99% rename from Filestack/UI/Public/Models/LocalSource.swift rename to Sources/Filestack/UI/Public/Models/LocalSource.swift index 8dd28bb1..f4deee50 100644 --- a/Filestack/UI/Public/Models/LocalSource.swift +++ b/Sources/Filestack/UI/Public/Models/LocalSource.swift @@ -6,7 +6,7 @@ // Copyright © 2017 Filestack. All rights reserved. // -import Foundation +import UIKit /// Represents a type of local source to be used in the picker. @objc(FSLocalSource) public class LocalSource: NSObject, CellDescriptibleSource { diff --git a/Filestack/UI/Public/Models/Stylizer.swift b/Sources/Filestack/UI/Public/Models/Stylizer.swift similarity index 99% rename from Filestack/UI/Public/Models/Stylizer.swift rename to Sources/Filestack/UI/Public/Models/Stylizer.swift index 4b126b72..b8c4587f 100644 --- a/Filestack/UI/Public/Models/Stylizer.swift +++ b/Sources/Filestack/UI/Public/Models/Stylizer.swift @@ -6,7 +6,7 @@ // Copyright © 2018 Filestack. All rights reserved. // -import Foundation +import UIKit /// Object used to pass set colors, fonts and defaults style of Picker. @objc(FSStylizer) public class Stylizer: NSObject { diff --git a/Filestack/UI/Public/Protocols/StylizerDelegate.swift b/Sources/Filestack/UI/Public/Protocols/StylizerDelegate.swift similarity index 100% rename from Filestack/UI/Public/Protocols/StylizerDelegate.swift rename to Sources/Filestack/UI/Public/Protocols/StylizerDelegate.swift diff --git a/VERSION b/VERSION index f90b1afc..197c4d5c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.2 +2.4.0 diff --git a/bin/generate-and-deploy-docs.sh b/bin/generate-and-deploy-docs.sh index 8ea1b05f..e92faf0c 100755 --- a/bin/generate-and-deploy-docs.sh +++ b/bin/generate-and-deploy-docs.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash set -o errexit #abort if any command fails -jazzy + +./bin/generate-docs.sh + GIT_DEPLOY_DIR=docs GIT_DEPLOY_BRANCH=gh-pages GIT_DEPLOY_REPO=git@github.com:filestack/filestack-ios.git ./bin/deploy-docs.sh diff --git a/bin/generate-docs.sh b/bin/generate-docs.sh new file mode 100755 index 00000000..fa4eac2b --- /dev/null +++ b/bin/generate-docs.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -o errexit #abort if any command fails + +jazzy --build-tool-arguments -Xswiftc,-sdk,-Xswiftc,$(xcrun --sdk iphonesimulator --show-sdk-path),-Xswiftc,-target,-Xswiftc,"x86_64-apple-ios11.0-simulator"