gpt4 book ai didi

ios - 文件存在于主线程上,但后台线程表示不存在(iOS)

转载 作者:行者123 更新时间:2023-11-30 12:12:19 27 4
gpt4 key购买 nike

我正在将 AVMutableComposition 视频导出到临时位置,然后成功将其传输到相机胶卷中。导出后,我在主线程上检查存储为 let videoPath 的返回相机胶卷 URL 是否存在:

if FileManager.default.fileExists(atPath: videoPath) {
print("FILE AVAILABLE")
} else {
print("FILE NOT AVAILABLE")
}

确实如此。所以我把它放在 AVPlayer 中,它播放得很好。然后我想将其上传到我的网络服务器,因此我将相同的 URL 转换为后台线程中的 Data 对象的内容,在此之前我运行相同的 FileManager.default.fileExists ,这次控制台显示 FILE NOT AVAILABLE ,这显然使 Data 尝试构造函数失败

在调用后台线程函数之前,我什至检查主线程文件是否存在,并且存在,但在后台却显示不存在

现在最奇怪的部分是什么,为什么我来到这里是因为在这个初始文件检查失败后,我移动到一个不同的 View ,它可以运行相同的后台函数,并且在第二次(第一次失败后的所有后续时间) )控制台显示FILE AVAILABLE并执行其操作。

这是怎么回事?

最佳答案

好的,如果其他人也有这个问题,我通过以下方式解决了它:

我不是在后台线程中检查 videoPath 并创建 Data 对象(并且冒着由于我之外的原因而无法检测到它的风险),我只是导出时在主线程上创建了Data对象,并将创建的Data对象传递给上传函数。简单并解决了问题!

有时最好的解决方案不是弄清楚系统,而是击败它。

关于ios - 文件存在于主线程上,但后台线程表示不存在(iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45896199/

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