Chr*_*ris 29 ftp cocoa objective-c ios
我一直收到这个错误.我通过ftp上传到服务器.它工作正常并在模拟器中运行时完全上传,但是当我在iPhone上配置它时,它说:
Error Occurred. Upload failed: The operation couldn’t be completed. (Cocoa error 260.)
有什么建议?我已经进行了数小时的调试和研究,无法解决这个问题.我试过清理目标,重置设备,重置xcode.
我缩小的一件事是:
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.filePath error:&attributesError];
if (attributesError) {
[self failWithError:attributesError];
return;
}
Run Code Online (Sandbox Code Playgroud)
在设备中,attributesError为true,在模拟器中为false
Pet*_*sey 57
我试过清理目标,重置设备,重置xcode.
盲目冲击随机目标永远不是一个好的调试技术.充其量,你将解决问题而不知道如何解决问题.在最坏的情况下,你会打破别的东西.
相反,找出问题所在.对于"Cocoa错误",您需要查看FoundationErrors.h和CoreDataErrors.h(以及未针对Cocoa Touch时的AppKitErrors.h).前一个文件给出了Cocoa错误260的名称:
NSFileReadNoSuchFileError = 260, // Read error (no such file)
Run Code Online (Sandbox Code Playgroud)
您无法获取该文件的属性,因为它不存在(在您的设备上).
您可能希望编辑问题以包含创建存储路径的代码self.filePath
.
我知道Peter Hosey已经解决了这个问题,但我想补充一点.如果要快速查找错误,可以在终端中使用简单命令找到它的定义:
ief2s-iMac:Frameworks ief2$ cd /System/Library/Frameworks
ief2s-iMac:Frameworks ief2$ grep '260' $(find . -name "*Errors.h" )
Run Code Online (Sandbox Code Playgroud)
使用您想要的错误代码更改"260".以上命令返回以下内容:
ief2s-iMac:Frameworks ief2$ grep '260' $(find . -name "*Errors.h" )
./CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h: midiDupIDErr = -260, /*duplicate client ID*/
./CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h: kECONNREFUSEDErr = -3260, /* Connection refused */
./Foundation.framework/Versions/C/Headers/FoundationErrors.h: NSFileReadNoSuchFileError = 260, // Read error (no such file)
ief2s-iMac:Frameworks ief2$
Run Code Online (Sandbox Code Playgroud)
您当然可以通过在'Error = 260'上执行grep来更好地指定它:
ief2s-iMac:Frameworks ief2$ grep 'Error = 260' `find . -name "*Errors.h"`
./Foundation.framework/Versions/C/Headers/FoundationErrors.h: NSFileReadNoSuchFileError = 260, // Read error (no such file)
ief2s-iMac:Frameworks ief2$
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你进一步发展,ief2