gpt4 book ai didi

ios - 如何从 Icloud Swift 上的文件中获取数据

转载 作者:可可西里 更新时间:2023-10-31 23:14:13 29 4
gpt4 key购买 nike

我正在创建一个从 Icloud 获取文件并将其转换为 b64 格式字符串的应用程序,但我遇到了一个问题:

我真的不知道如何从这个文件中获取数据。我认为从 ICloud 导入的文件中打开路径可能很容易,但是当我尝试访问该路径时它返回 nil。

我的代码示例在这里,如您所见,我有临时路由 :( (file:///.../Aplication/xxx-xxx-xxx-xx/temp/com.domain.AppName/Carolina。证书):

extension KeyViewController: UIDocumentMenuDelegate {

func documentMenu(documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
documentPicker.delegate = self
print ("documentMenu")
self.presentViewController(documentPicker, animated: true, completion: nil)
}
}
extension KeyViewController: UIDocumentPickerDelegate {

func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) {
print("url string")
print(String(url))
//prints file:///.../Aplication/xxx-xxx-xxx-xx/temp/com.domain.AppName/Carolina.cer

if controller.documentPickerMode == UIDocumentPickerMode.Import {
if (NSFileManager.defaultManager().fileExistsAtPath(String(url))){
print("exists")
}
else{
print("not exists")
}
dispatch_async(dispatch_get_main_queue()) {
if let fileName = url.lastPathComponent {
var fileNameArray = fileName.componentsSeparatedByString(".")
print ("fileNameArray")
print (fileNameArray)
if ((fileNameArray[1] != "cer") && (fileNameArray[1] != "key")) {
self.alertMessage = "Not a valid selection, choose .cer or .key Files"
self.showAlertMessage(self.alertMessage)
}
else{
//saving the name
if (fileNameArray[1]=="cer")
{
NSUserDefaults.standardUserDefaults().setObject(fileName, forKey: "temporalCerFile")
}
else{
//saving the name
NSUserDefaults.standardUserDefaults().setObject(fileName, forKey: "temporalKeyFile")
}
NSUserDefaults.standardUserDefaults().synchronize()
}

}

}

}
}
}

如何获取文件中的内容?拜托,希望你能帮助我

最佳答案

您的代码无法正常工作,因为您向 fileExistsAtPath: 传递了错误的值。

将文件 NSURL 转换为文件字符串的正确方法是使用 path() 方法。

if (NSFileManager.defaultManager().fileExistsAtPath(url.path())) {

它可能是 url.path 而不是 url.path()。我不确定旧的 Swift 语法。在 Swift 3 中它将是:

if FileManager.default.fileExists(atPath: url.path) {

一旦您知道它存在,就可以通过多种方式加载该文件。这完全取决于您需要用它做什么。但第一个要求是将文件从给定的 url 移动到应用程序沙箱内的某个位置。至少如果您需要该文件以在下次使用您的应用程序时继续使用。如果您只需要查看一次文件,则不需要此步骤。

关于ios - 如何从 Icloud Swift 上的文件中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40009281/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com