NetFSMountURLSync 无法使用自定义安装点?

2024-02-17

我正在尝试以编程方式挂载一些 WebDAV 和 SMB 共享,并且我想为卷指定除默认名称之外的特定名称。例如,如果我安装

https://my.sharepoint.school.edu/personal/grigutis https://my.sharepoint.school.edu/personal/grigutis

我希望它在 Finder 中显示为

/卷/我的 SharePoint 网站
or
~/桌面/我的 SharePoint 网站

代替

/卷/grigutis
or
〜/桌面/grigutis

我可以使用 mount_webdav 命令来执行此操作:

$ mkdir /Volumes/My\ SharePoint\ Site
$ mount_webdav -s -i https://my.sharepoint.school.edu/personal/grigutis /Volumes/My\ SharePoint\ Site
or
$ mkdir ~/Desktop/My\ SharePoint\ Site
$ mount_webdav -s -i https://my.sharepoint.school.edu/personal/grigutis ~/Desktop/My\ SharePoint\ Site

但我无法使用 NetFSMountURLSync 来实现此功能(假设我已经创建了该目录):

NSURL *url = [NSURL URLWithString:@"https://my.sharepoint.school.edu/personal/grigutis"];

NSURL *mountpath = [NSURL fileURLWithPath:@"/Volumes/My SharePoint Site" isDirectory:YES];
or
NSURL *mountpath = [NSURL fileURLWithPath:[@"~/Desktop/My SharePoint Site" stringByExpandingTildeInPath] isDirectory:YES];

CFArrayRef mountpoints = NULL;
int result = 0;
result = NetFSMountURLSync((__bridge CFURLRef)url,
    (__bridge CFURLRef)mountpath,
    CFSTR("Kerberos"),
    CFSTR("NoPassword"),
    NULL,
    NULL,
    &mountpoints);

如果我尝试安装到 /Volumes/My SharePoint Site,我会看到 Finder 对话框:

'连接到服务器“my.sharepoint.school.edu”时出现问题。您没有访问此服务器的权限。”

该函数返回结果 13(权限被拒绝)。

如果我尝试安装到 ~/Desktop/My SharePoint Site,那么它会像这样安装

~/桌面/我的 SharePoint 站点/grigutis

这不是我想要的。我已备案错误报告 http://openradar.appspot.com/12788358对这个。有任何想法吗?如果可能的话我想避免 NSTask 。


预先创建挂载点,并启用kNetFSMountAtMountDirKey在安装选项中起作用:

CFMutableDictionaryRef mountOpts = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(mountOpts, kNetFSMountAtMountDirKey, CFSTR("true"));
int ret = NetFSMountURLSync(
    (__bridge CFURLRef) url,
    (__bridge CFURLRef) mountPath,
    NULL,
    NULL,
    0,
    mountOpts,
    &mountPoints
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NetFSMountURLSync 无法使用自定义安装点? 的相关文章

  • 分段错误:当我运行 Pygame 时为 11

    有人问过类似的问题here https stackoverflow com questions 34278488 pygame display causing segmentation fault 11 但没有得到答复 我有 Python
  • 从 Java 执行 .app 文件夹?

    有没有一种合理的方法可以直接从 Java 执行 app 目录 而不是深入查找二进制文件 我有一个带有一些首选项的应用程序 其中包括用于打开各种内容的外部程序 如果在 OSX 上用户可以只选择 app 文件夹 那就太好了 我可以查找 app
  • 为什么 struct tm 中的 tm_year 成员相对于 1900 而不是 macOS 上 C 中的 1970?

    当我遇到这个问题时 我正在尝试专家 C 编程中的示例 我的程序基本上做一件事 使用标准gmtime运行一下 看看自 1970 年以来已经过去了多少年 这是我的程序 include
  • 无法使 csshX 在 Mac OS Big Sur 上运行

    csshX不适用于 Mac Big Sur 未实现 POSIX tmpnam 在 System Library Perl 5 28 darwin thread multi 2level POSIX pm 第 185 行使用 File Tem
  • 如何从 os x 终端启动屏幕保护程序(并锁定屏幕)?

    有没有办法从 bash 脚本启动屏幕保护程序 并锁定屏幕 你试过这个吗 System Library Frameworks ScreenSaver framework Resources ScreenSaverEngine app Cont
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • 如何在不卸载应用程序的情况下删除木桶?

    我最近安装了一个带有 homebrew cask 的应用程序 但我想自己处理它的更新 而不是通过brew cask upgrade 是否有命令或选项可以从本地列表中删除木桶而不卸载它 如果我使用brew cask remove or bre
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 无法连接到 macOS 上的 Docker 守护进程

    我通常更喜欢使用brew 来管理我的OSX 上的应用程序 我能够安装 docker docker compose 和 docker machine docker version Docker version 17 05 0 ce build
  • Codesign:什么是未密封内容?

    我刚刚升级到 XCode 6 并尝试构建我的开发者 ID 签名的 Mac 应用程序 但是 我现在收到以下协同设计错误 unsealed contents present in the root directory of an embedde
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 下载Xcode? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我刚刚升级到 OS X Mavericks 我很高兴能够使用所有新的 Mavericks 技术 我只有
  • XCode 4.2.1 在 Lion 10.7.2 上启动时崩溃

    这周我买了大约 10 年来的第一台 Mac 是的 这是一台二手 Mac Pro 2x2GHz 双核 Xeon 2GB RAM 它全新安装了 Mac OS X Lion 10 7 2 我只安装了 OmniOutlner Pro Textmat
  • 错误:执行 gem 时... (Gem::FilePermissionError)

    我检查了所有其他类似的答案 没有一个与我的完全一样 这些解决方案也不适合我 gem environment and sudo gem environment给出相同的结果 RubyGems Environment RUBYGEMS VERS
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession

    我正在尝试实施新的ASWebAuthenticationSession在 MacOS 10 15 中 我对callbackURLScheme 头文件为ASWebAuthenticationSession says 回调 URL 通常具有自定
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • xcode 4 垃圾收集已删除?

    我正在学习 Xcode 和 Objective C 但是我正在阅读的书使用的是旧版本 3 2 的 Xcode 其中一章完全致力于内存和泄漏 说我需要通过 项目设置 gt 构建 打开垃圾收集 但是 我找不到垃圾收集设置 它已被删除还是我只是错

随机推荐