[英]Mac OSX Deprecated API - FSRef ref;
我有以下代码可以在 Pre OSX 10.13 机器上编译
FSRef ref;
OSType folderType = kApplicationSupportFolderType;
char path_c[PATH_MAX];
FSFindFolder(kUserDomain, folderType, kCreateFolder, &ref);
FSRefMakePath( &ref, (UInt8*)&path_c, PATH_MAX);
我需要它来处理最新版本。 我怎样才能改变这个? 它目前说这样的 API 不存在
现代版本需要 Objective-C(++) 或 Swift。 在 Objective-C 中,它将是:
NSFileManager *fm = [NSFileManager new];
NSURL *url = [fm URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create:YES
error:NULL];
char path_c[PATH_MAX];
[url getFileSystemRepresentation:path_c maxLength:sizeof(path_c)];
我不知道你将如何使用path_c
。 如果您只需要一个指向路径的 C 字符串的指针,并且在url
对象被释放后它不会被使用,您可以改用url.fileSystemRepresentation
。 更好的是,在可能的情况下,改用采用 URL 而不是路径字符串的 API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.