gpt4 book ai didi

objective-c - 检查 Directory 是否是 OSX 中 Objective C 中的挂载点

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:22 25 4
gpt4 key购买 nike

我正在用 Objective C 编写一个小命令行实用程序,它将检查给定路径是否为挂载点,如果不是,则将网络共享挂载到它。我打算用 bash 写这个,但选择尝试学习 Objective C。我正在寻找 Objective C 等价物:

mount | grep some_path

基本上是一个我可以用来测试给定路径当前是否用作挂载点的函数。任何帮助,将不胜感激。谢谢!

最佳答案

经过一些研究,我最终使用了这段代码,以防将来有人需要它:

        NSArray * keys = [NSArray arrayWithObjects:NSURLVolumeURLForRemountingKey, nil];
NSArray * mountPaths = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:keys options:0];

NSError * error;
NSURL * remount;

for (NSURL * mountPath in mountPaths) {
[mountPath getResourceValue:&remount forKey:NSURLVolumeURLForRemountingKey error:&error];
if(remount){
if ([[[NSURL URLWithString:share] host] isEqualToString:[remount host]] && [[[NSURL URLWithString:share] path] isEqualToString:[remount path]]) {
printf("Already mounted at %s\n", [[mountPath path] UTF8String]);
return 0;
}
}
}

请注意,NSURL 共享作为远程共享的路径传递到函数中。按重新挂载键过滤可为您提供远程文件系统的挂载点列表,因为本地文件系统没有设置该键。

关于objective-c - 检查 Directory 是否是 OSX 中 Objective C 中的挂载点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18995802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com