mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Try to fix compile error
This commit is contained in:
@@ -6,15 +6,7 @@ import System
|
|||||||
var urlMaps: [CInt: URL] = [:]
|
var urlMaps: [CInt: URL] = [:]
|
||||||
|
|
||||||
func openFile(result: FlutterResult, url: URL, readOnly: Bool, writeOnly: Bool, append: Bool, isSecure: Bool) {
|
func openFile(result: FlutterResult, url: URL, readOnly: Bool, writeOnly: Bool, append: Bool, isSecure: Bool) {
|
||||||
let mode = if readOnly && writeOnly {
|
let mode = readOnly && writeOnly ? FileDescriptor.AccessMode.readWrite : readOnly ? FileDescriptor.AccessMode.readOnly : writeOnly ? FileDescriptor.AccessMode.writeOnly : FileDescriptor.AccessMode.readWrite;
|
||||||
FileDescriptor.AccessMode.readWrite
|
|
||||||
} else if readOnly {
|
|
||||||
FileDescriptor.AccessMode.readOnly
|
|
||||||
} else if writeOnly {
|
|
||||||
FileDescriptor.AccessMode.writeOnly
|
|
||||||
} else {
|
|
||||||
FileDescriptor.AccessMode.readWrite
|
|
||||||
}
|
|
||||||
var opts = FileDescriptor.OpenOptions.init()
|
var opts = FileDescriptor.OpenOptions.init()
|
||||||
if writeOnly {
|
if writeOnly {
|
||||||
opts.insert(FileDescriptor.OpenOptions.create)
|
opts.insert(FileDescriptor.OpenOptions.create)
|
||||||
@@ -25,7 +17,6 @@ func openFile(result: FlutterResult, url: URL, readOnly: Bool, writeOnly: Bool,
|
|||||||
if append {
|
if append {
|
||||||
opts.insert(FileDescriptor.OpenOptions.append)
|
opts.insert(FileDescriptor.OpenOptions.append)
|
||||||
}
|
}
|
||||||
let permissions = FilePermissions(rawValue: 0o644);
|
|
||||||
let uPath = if #available(iOS 16.0, *) {
|
let uPath = if #available(iOS 16.0, *) {
|
||||||
url.path(percentEncoded: false)
|
url.path(percentEncoded: false)
|
||||||
} else {
|
} else {
|
||||||
@@ -33,7 +24,7 @@ func openFile(result: FlutterResult, url: URL, readOnly: Bool, writeOnly: Bool,
|
|||||||
}
|
}
|
||||||
let path = FilePath(stringLiteral: uPath);
|
let path = FilePath(stringLiteral: uPath);
|
||||||
do {
|
do {
|
||||||
let fd = try FileDescriptor.open(path, mode, options: opts, permissions: permissions)
|
let fd = try FileDescriptor.open(path, mode, options: opts, permissions: FilePermissions(rawValue: 0o644))
|
||||||
result(NSNumber(value: fd.rawValue))
|
result(NSNumber(value: fd.rawValue))
|
||||||
if isSecure {
|
if isSecure {
|
||||||
urlMaps[fd.rawValue] = url
|
urlMaps[fd.rawValue] = url
|
||||||
@@ -140,36 +131,36 @@ class FilePickerDelegate: NSObject, UIDocumentPickerDelegate {
|
|||||||
let writeOnly = args[4] as? NSNumber,
|
let writeOnly = args[4] as? NSNumber,
|
||||||
let append = args[5] as? NSNumber,
|
let append = args[5] as? NSNumber,
|
||||||
let saveAs = args[6] as? NSNumber {
|
let saveAs = args[6] as? NSNumber {
|
||||||
let ext = extFromMimetype(mimeType: mimeType)
|
let ext = extFromMimetype(mimeType: mimeType)
|
||||||
if saveAs.boolValue {
|
if saveAs.boolValue {
|
||||||
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last
|
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last
|
||||||
if path == nil {
|
if path == nil {
|
||||||
result(FlutterError(code: "FAILED_TO_GET_CACHE_DIRERCTORY", message: nil, details: nil))
|
result(FlutterError(code: "FAILED_TO_GET_CACHE_DIRERCTORY", message: nil, details: nil))
|
||||||
return
|
return
|
||||||
}
|
|
||||||
let dUrl = if #available(iOS 16.0, *) {
|
|
||||||
URL.init(filePath: path!)
|
|
||||||
} else {
|
|
||||||
URL.init(fileURLWithPath: path!)
|
|
||||||
}
|
|
||||||
let url = dUrl.appendingPathComponent(fileName + (ext ?? ""))
|
|
||||||
let uPath = if #available(iOS 16.0, *) {
|
|
||||||
url.path(percentEncoded: false)
|
|
||||||
} else {
|
|
||||||
url.path
|
|
||||||
}
|
|
||||||
if !FileManager.default.createFile(atPath: uPath, contents: Data.init()) {
|
|
||||||
result(FlutterError(code: "FAILED_TO_CREATE_FILE", message: nil, details: nil))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
self.filePickerDelegate = FilePickerDelegate(readOnly: readOnly.boolValue, writeOnly: writeOnly.boolValue, append: append.boolValue, url: url, result: result)
|
|
||||||
self.filePickerDelegate!.pickFile()
|
|
||||||
} else {
|
|
||||||
result(FlutterMethodNotImplemented)
|
|
||||||
}
|
}
|
||||||
} else {
|
let dUrl = if #available(iOS 16.0, *) {
|
||||||
result(FlutterError(code: "INVALID_ARGUMENTS", message: nil, details: nil))
|
URL.init(filePath: path!)
|
||||||
}
|
} else {
|
||||||
|
URL.init(fileURLWithPath: path!)
|
||||||
|
}
|
||||||
|
let url = dUrl.appendingPathComponent(fileName + (ext ?? ""))
|
||||||
|
let uPath = if #available(iOS 16.0, *) {
|
||||||
|
url.path(percentEncoded: false)
|
||||||
|
} else {
|
||||||
|
url.path
|
||||||
|
}
|
||||||
|
if !FileManager.default.createFile(atPath: uPath, contents: Data.init()) {
|
||||||
|
result(FlutterError(code: "FAILED_TO_CREATE_FILE", message: nil, details: nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
self.filePickerDelegate = FilePickerDelegate(readOnly: readOnly.boolValue, writeOnly: writeOnly.boolValue, append: append.boolValue, url: url, result: result)
|
||||||
|
self.filePickerDelegate!.pickFile()
|
||||||
|
} else {
|
||||||
|
result(FlutterMethodNotImplemented)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result(FlutterError(code: "INVALID_ARGUMENTS", message: nil, details: nil))
|
||||||
|
}
|
||||||
case "writeFile":
|
case "writeFile":
|
||||||
if let args = call.arguments as? Array<Any>,
|
if let args = call.arguments as? Array<Any>,
|
||||||
let fd = args[0] as? NSNumber,
|
let fd = args[0] as? NSNumber,
|
||||||
|
|||||||
Reference in New Issue
Block a user