在我的摄像机应用程序中,我想检查用户手机上是否有足够的存储空间来录制视频,然后再允许他们录制。就像youtube一样。
This is what happens when you do it on YouTube
我怎么能
1)在录制视频之前,检查用户手机上是否有足够的可用空间。
2)如果用户的手机上没有足够的可用空间,请向用户显示警告。
谢谢
答案 0 :(得分:0)
我需要类似的功能,因此我创建了返回空闲MB数量的函数。我测试了当空间已满时会发生什么,并发现iOS大约在120MB后开始显示有关剩余空间的通知,并且当相机停止工作时。但是我的应用程序可以保存其他文件,直到达到大约30MB的可用空间为止。 因此可以肯定的是,建议您在从此函数中获取价值时,检查它是否至少为200(MB),然后允许用户进行保存。 我在iPhone X和6s上的Xcode 11.0中测试了这两个功能(针对Swift 5.0和Objective C),并且效果很好。
在Swift 5.0中,还可以与较低的Swift版本一起使用(根据版本的不同会有细微的变化)
db_conn.execute(f"""select count (*) from table""")
output = db_conn.fetchone()[0]
在目标C中:
func getFreeSpace() -> CLongLong // return free space in MB
{
var totalFreeSpaceInBytes: CLongLong = 0; //total free space in bytes
do{
let spaceFree: CLongLong = try FileManager.default.attributesOfFileSystem(forPath: NSHomeDirectory())[FileAttributeKey.systemFreeSize] as! CLongLong;
totalFreeSpaceInBytes = spaceFree;
}catch let error{ // Catch error that may be thrown by FileManager
print("Error is ", error);
}
let totalBytes: CLongLong = 1 * CLongLong(totalFreeSpaceInBytes);
let totalMb: CLongLong = totalBytes / (1024 * 1024);
return totalMb;
}