Macos 让我的应用程序在启动时启动网络卷
从ObjC和Xcode开始 我希望我的应用程序在启动时连接/装载AFP网络卷。凭据已保存到计算机的密钥链中。我意识到我需要将此代码放在这里: voidApplicationdFinishLaunching:NSNotification*通知{ XXX } 除了我不太确定这里需要什么 我了解到FSMountVolume现在已被弃用,它希望看到NSURL,但我不知道如何实现它-我是如此的新,以至于我很难理解如何阅读和实现Xcode文档Macos 让我的应用程序在启动时启动网络卷,macos,cocoa,Macos,Cocoa,从ObjC和Xcode开始 我希望我的应用程序在启动时连接/装载AFP网络卷。凭据已保存到计算机的密钥链中。我意识到我需要将此代码放在这里: voidApplicationdFinishLaunching:NSNotification*通知{ XXX } 除了我不太确定这里需要什么 我了解到FSMountVolume现在已被弃用,它希望看到NSURL,但我不知道如何实现它-我是如此的新,以至于我很难理解如何阅读和实现Xcode文档 有人知道一种快速而肮脏的方法吗?这里有一个小程序,可以安装驱动器
有人知道一种快速而肮脏的方法吗?这里有一个小程序,可以安装驱动器。它在我的计算机上编译并工作,但我的afp路径中没有任何空格。让我知道这是否有效:
#import <Foundation/Foundation.h>
#include <NetFS/NetFS.h>
int main(int argc, const char * argv[]){
@autoreleasepool {
NSURL * share = [NSURL URLWithString: @"afp://user@server_ip/share"];
NSURL * path = [NSURL URLWithString: @"/path/to/mount/point/"];
CFURLRef share2 = (__bridge CFURLRef) share;
CFURLRef path2 = (__bridge CFURLRef) path;
CFArrayRef mountpoints = NULL;
NetFSMountURLSync(share2, path2, NULL, NULL, NULL, NULL, &mountpoints);
}
return 0;
}
我猜DADiskMount或DADiskMount with Arguments from the DiskArbitration Framework是指定的继承者,但除了一些头文件之外,似乎没有太多信息:我可以用afp交换smb吗?嘿,Bogdan。。。这就是我在尝试使用建议时遇到的错误:架构x86的未定义符号\u 64:\u NetFSMountURLSync,引用自:-[AppDelegate ApplicationIDFinishLaunching:]在AppDelegate.o ld:symbols not found for architecture x86_64 clang:错误:链接器命令失败,退出代码为1使用-v查看调用我导入到头文件中的唯一框架是以下内容:导入默认导入按您的建议导入有何建议?我也需要导入CoreFoundation吗?取消那个。。。我想我只需要添加netFS框架!现在看来效果更好了。谢谢你的帮助!现在,这似乎是装载服务器并提示用户选择一个不理想的共享点,但当我选择我想要的共享时,Xcode会暂停正在运行的应用程序并切换到线程视图,并指出:线程1:EXC_BAD_ACCESS code=1,address=0x0仍然需要一些帮助!