Mac OSX Deprecated API - FSRef ref;
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。
相关文章:
- 对RValue对象调用的LValue ref限定成员函数
- 将Ref对象作为类成员
- 为什么我的 std::ref 无法按预期工作?
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- 如何@ref同一方法的不同变体?
- 使用带有 ref 参数的成员函数创建线程时出现编译错误
- std::bind 是否实现了 std::ref 和 std::cref 来消除函数调用的歧义?
- 为什么要用 ref-qualifier 和
- 将 ArrayXd 传递给 const VectorXd& 和 const Ref<const VectorXd>&
- 返回 Eigen::Ref 合法吗?
- 将对象传递给函数而不将其包装到 std::ref 中,而参数被指定为 const 引用
- 使用 const char* 初始化 const ref 字符串成员时幕后会发生什么
- 为什么添加析构函数(甚至是空的)会破坏我的结构,该结构使用 ref 转发和折叠来保存 ref 或值的副本?
- 在与Odint组合的类中使用特征矩阵Ref
- const-ref传递的模板化参数是否经过优化,以便在足够小时按值传递
- 带有自定义deleter的std::unique_ptr对象的大小(一个由ref捕获的lambda)
- 正在通过const-ref未定义的行为捕获新构造的对象
- C++将包含的库 (ref DLL) 从根目录更改为另一个位置
- 无法修改其他线程中 ref 传递的值
- Mac OSX Deprecated API - FSRef ref;