Skip to content

OneDrive provider updated, Swift 4 compatibility

Compare
Choose a tag to compare
@amosavian amosavian released this 27 Oct 06:29
· 128 commits to master since this release

This is the last pod which will work with Swift 3. If you are using Swift 3 in your project, please use swift-3 (will be created soon) branch directly using other installation methods. I will maintain code for Swift 3 as far as possible.

OneDrive provider is updated to latest version according to Microsoft documentations. You can use OneDriveProvider.Route enum to determine which root should be used to access files, use .me to access your own files or other options to access enterprise and shared files.

-Important: storageProperties() method signature has been changed and you have to rectify it manually.

contents(path:, progressHandler:) method added to allow fetch data of remote file progressively. This allows buffering and showing files while downloading.

Other improvements:

  • storageProperties() method now returns VolumeObject instance in completion handler, which contains volume size and other informations.
  • Added progressive downloading method contents(path:, progressHandler:) for HTTP-based providers
  • Removed currentPath property.
  • Code is Swift 4 compatible now.
  • copy(path:toLocalURL) and copy(localURL:to:) reading and writing to local url are coordinated now.
  • refactored paginated listing. (Dropbox, OneDrive and GoogleDrive in future)
  • Added HEIF thumbnail and properties generators. (iOS 11.0, macOS 10.13)

Bugs fixed:

  • Cloud provider misbehaves in subdirectories.
  • OneDrive download progress was not available due to Transfer-Encoding: chunked.
  • Overwrite flag didn't work in HTTP-based providers.
  • url(of:) crash when path is empty.
  • Progress returned didn't parented correctly.
  • Improved compilation speed.