Ios 什么是;它没有';t返回0,错误号设置为22“;指示?

Ios 什么是;它没有';t返回0,错误号设置为22“;指示?,ios,swift,Ios,Swift,我到处寻找errno 22的含义,但没有找到任何关于它的信息: 020-062411:0943111-0600 MyAPP [1773:78844]基金会称为MKDIR(“/Mobile / Value/Loope/LoViStudio/COM.Apple文件系统.USEFSD/MyUSB //MyOrthys/MyiPix/imgy2302.jpg,SB-Db06FE8E-O0FER”),它没有返回0,ErrNO设置为22。 照片数据的结束副本=IMG_2302.JPG的673587字节 我在

我到处寻找errno 22的含义,但没有找到任何关于它的信息:

020-062411:0943111-0600 MyAPP [1773:78844]基金会称为MKDIR(“/Mobile / Value/Loope/LoViStudio/COM.Apple文件系统.USEFSD/MyUSB //MyOrthys/MyiPix/imgy2302.jpg,SB-Db06FE8E-O0FER”),它没有返回0,ErrNO设置为22。 照片数据的结束副本=IMG_2302.JPG的673587字节

我在循环通过一系列相集并将它们复制到外部驱动器时看到了这一点。第一张~2000张照片的效果都很好,然后突然所有的照片都在本报告发布后22号

我已尝试使用try/catch捕捉有关此错误的更多详细信息,但从未捕捉到任何信息。那么,我猜想它来自于某个基金会的某个地方还是什么?

内存使用率保持较低,相当稳定,约为40MB

errno 22表示存在什么问题

我正在复制的循环的相关部分如下所示。无论是使用data.write还是Filemanager.default.createfile,都会出现相同的问题:

_ = autoreleasepool {
            PHImageManager.default().requestImageDataAndOrientation(
                for: mediaFile,
                options: options) { (data, dataUTI, orientation, info) in
                    
                    if data != nil {
                        self.imgData = data!
                    }
            }
        }
        
        let toFileNameURL = destinationPathURL.appendingPathComponent(currentFileName)
            
        let completed = FileManager.default.createFile(atPath: toFileNameURL.path, contents: imgData, attributes: nil)
        print("copy worked?  \(completed)")
        //try self.imgData.write(to: toFileNameURL, options: .atomic)

错误本身对您有一点价值。它来自于代码> sys /Ern.H./C>,深林中。这是一个标准的C文件,你可以在网上找到它的许多副本(例如)。您的特定错误如下所示:

#define EINVAL      22      /* Invalid argument */
错误可能来自,但即使这样也帮不了你多少忙

因此,相反,看看是什么导致了它。最大的线索是,它只发生在2000个文件之后。OOM、USB上的空间或超出某些其他限制是最大的嫌疑


第二个问题是,当您复制文件时,为什么它会抱怨
mkdir

错误本身对您有一点价值。它来自于代码> sys /Ern.H./C>,深林中。这是一个标准的C文件,你可以在网上找到它的许多副本(例如)。您的特定错误如下所示:

#define EINVAL      22      /* Invalid argument */
错误可能来自,但即使这样也帮不了你多少忙

因此,相反,看看是什么导致了它。最大的线索是,它只发生在2000个文件之后。OOM、USB上的空间或超出某些其他限制是最大的嫌疑


第二个问题是,为什么它在复制文件时抱怨
mkdir

感谢您的回复和info@Kiril。关于它为什么抱怨mkdir的好问题。我喜欢你关于OOM、USB空间等的建议。我会深入研究,也会接受你们的答案,因为你们回答了错误22的意思。经过进一步分析,这似乎是USB驱动器的硬件问题。使用其他驱动器不存在此问题。显然,我没有按照故障排除101进行操作。:-)提供给sys/errno.h文件的链接@Kirik非常有用。感谢您的回复和@Kiril的信息。关于它为什么抱怨mkdir的好问题。我喜欢你关于OOM、USB空间等的建议。我会深入研究,也会接受你们的答案,因为你们回答了错误22的意思。经过进一步分析,这似乎是USB驱动器的硬件问题。使用其他驱动器不存在此问题。显然,我没有按照故障排除101进行操作。:-)提供给sys/errno.h文件的@Kirik链接非常有用。