Releases: amosavian/FileProvider
Better FTP Handling, Enhanced ExtendedLocalFileProvider
- Better handling of FTPS (explicit mode)
- Fixed FTP login problem (#54)
- Enhanced PDF meta-information:
- included
Producer
andKeywords
meta-informations. - Boolean pdf properties like
Allows printing
are now really boolean instead ofYes
/No
string. - Dates (
Creation date
/Modified date
) are now correctly handled and parsed for all types of PDF files.
- included
Note: the library has been renamed to FilesProvider
, in case you missed it
Renamed project to FilesProvider
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
WebDAV OAuth authentication, LocalOperationHandle.inProgress working now
- Introduced new protocol
FileProviderSharing
, containspublicLink()
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
Also:
- Fixed macOS build error
- Changed
DropboxFileProvider.type
constant to “Dropbox”
Fixed FTP Uploading, Fixed url initializing
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
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
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
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
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.