[英]Save file in iOS application directory
我在Android和iOS上都有一个应用程序,该应用程序应该通过单击按钮下载并在设备上保存一些文件。 我在Android中管理目录,并使用以下命令指定文件的url:
Environment.getExternalStorageDirectory().getPath() + "/appDirectory/" + fileName
我想问一下在Objective c和iOS中用什么类似的方式指定它。
现在我在Objective-C中使用它:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask,YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@%@", documentDirectory, @"/myfile.mp4"];
filePath将返回如下内容:
/var/mobile/Applications/CFEDE74F0A493-499B/Library/Documentation/myfile.mp4
这是正确的方法吗?
非常感谢
在大多数情况下,您都有正确的想法。 Apple建议使用基于NSURL的文件系统方法,因此请记住以下几点:
NSError *error = nil;
NSURL *documentDirectory = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:&error];
if (!documentDirectory) {
// Check error
}
NSURL *fileURL = [documentDirectory URLByAppendingPathComponent:@"myfile.mp4"];
如果需要基于NSString的方法,则应使用内置方法来添加路径组件,而不要使用stringWithFormat:
NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *fileURL = [documentDirectory stringByAppendingPathComponent:@"myfile.mp4"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.