繁体   English   中英

将文件保存在iOS应用程序目录中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM