Skip to content

Releases: amosavian/FileProvider

Better FTP Handling, Enhanced ExtendedLocalFileProvider

17 Jul 01:17
Compare
Choose a tag to compare
  • Better handling of FTPS (explicit mode)
  • Fixed FTP login problem (#54)
  • Enhanced PDF meta-information:
    • included Producer and Keywords meta-informations.
    • Boolean pdf properties like Allows printing are now really boolean instead of Yes/No string.
    • Dates (Creation date/Modified date) are now correctly handled and parsed for all types of PDF files.

Note: the library has been renamed to FilesProvider, in case you missed it

Renamed project to FilesProvider

01 Jul 09:55
Compare
Choose a tag to compare

To avoid conflict with new introduced intrinsic framework in iOS 11, macOS 10.13 and tvOS 11, this project has renamed to FilesProvider you may have to update your project settings see #53 for more information.

FTP Active mode

27 Jun 09:36
Compare
Choose a tag to compare

FTP Active mode has been implemented but not tested.

Bugs fixed:

  • Better FTP error handling and description
  • Fixed WebDAV provider colon in file name issue (#49)
  • FTPS bugfix
  • Probable fix for #47 and #51

WebDAV OAuth authentication, LocalOperationHandle.inProgress working now

05 May 10:56
Compare
Choose a tag to compare
  • Introduced new protocol FileProviderSharing, contains publicLink() method for Dropbox, OneDrive and iCloud providers.
  • Added WebDAV OAuth support by changing WebDAVFileProvider.credentialType property.
  • Now LocalOperationHandle.inProgress property is usable and determines either local file operation is in progress or not.
  • Fixed bug: problem in LocalFileProvider baseURL assignment.
  • Fixed bug: creating percent-encoded folder in WebDAV provider.
  • Fixed bug: Listing FTP directory when server doesn't support RFC3657 (MLST)

Fixed Dropbox thumbnail issue

15 Apr 17:06
Compare
Choose a tag to compare

Also:

  • Fixed macOS build error
  • Changed DropboxFileProvider.type constant to “Dropbox”

Fixed FTP Uploading, Fixed url initializing

14 Apr 14:33
Compare
Choose a tag to compare

This is a patch indeed, but because FileObject.url is now a non-optional, which is source breaking change, I had to increase minor version instead of patch.

In scenarios which there is no url for FileObject e.g. Dropbox, it will return percent encoded path.

Bugs fixed in this release:

  • FTP uploading (#36) which caused crash when uploading files and data larger than 64kb (chunked).
  • url initializing were sometimes nil because path/string were not percent encoded.

Fixed Dropbox didn't call completion handlers

14 Apr 06:46
Compare
Choose a tag to compare

Also fixed some issues if FTP

  • Known issue: Uploading a file to FTP can be corrupted is some cases

Added FTP Recursive listing, Implemented ftp search and recursive rmdir

11 Apr 18:03
Compare
Choose a tag to compare

Also:

  • Fixed relativePath(of:) bug, made it overridable
  • Fixed FileProviderStreamTask.taskDescription crashing bug
  • Implemented FTP full directory remove
  • Fixed FTP STOR bug (uploaded files was omitted)
  • Implemented relativePath(of:) for FTP
  • Initial implementation of FTP active mode

Fixed WebDAVProvider.contents() bug

09 Apr 09:52
Compare
Choose a tag to compare

Fixed issue #32 which caused WebDAVProvider.contents(path:) to not work correctly.

Also:

  • Throwing error when trying to upload a directory.
  • Refactored FTP Error handling.
  • Made SessionDelegate.init() public.
  • Add Documentation.

Added progress for content(path:) method

03 Apr 14:31
Compare
Choose a tag to compare

session property now can be set by developer. Note that it's delegate must be an instance of SessionDelegate class. You can create a session with background configuration and replace main session like this:

let sessionDelegate = SessionDelegate(fileProvider: fileProvider, credential: fileProvider.credential)
let backgroundconfig = URLSessionConfiguration.background(withIdentifier: "com.company.myapp")
fileProvider.session = URLSession(configuration: backgroundconfig, delegate: sessionDelegate as URLSessionDelegate?, delegateQueue: fileProvider.operation_queue)
  • Note: setting session after calling a function may have unpreceded result.

Also:

  • Fixed issue with colliding handlers between sessions.