ile paylaşılan paylaşımın görünen adını Bulucu Başka bir Mac'teki bir paylaşım sürücüsüne bağlanmak için bir komut satırı uygulaması yazmaya çalışıyorum. Aşağıdaki kod paylaşımı birleştiriyor ancak Finder'ın sol panelindeki Paylaşılan bölümünde görünen ana bilgisayar adını işlemek için bir yol bulamıyorum. Uzak bilgisayarın ana makine adının computer
olduğunu varsayarak, bu kodu kullanarak computer
ve computer.local
göstermesini istiyorum. MDNS ana bilgisayar adını kullanarak bağlanmak için bir gerekliliktir. kNetFSServerDisplayNameKey
ve kNetFSDisplayNameKey
anahtarlarını ayarlamayı denedim ancak Finder'da gösterilenleri etkilemiyor gibi görünmüyor.NetFSMountURLSync
Kodu: Ben Finder kullanarak montaj sonrasında hacmine bilgi işaretleyerek bu anladım
NSString *target = @"smb://computer.local/share";
NSString *mountPath = @"/Volumes/share";
CFStringRef servername = (CFStringRef) @"computer";
CFMutableDictionaryRef mount_options = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
CFDictionarySetValue(mount_options, kNetFSSoftMountKey, kCFBooleanTrue);
CFDictionarySetValue(mount_options, kNetFSMountAtMountDirKey, kCFBooleanTrue);
CFDictionarySetValue(mount_options, kNetFSServerDisplayNameKey, servername);
CFDictionarySetValue(mount_options, kNetFSDisplayNameKey, servername);
CFArrayRef mountpoints = NULL;
CFStringRef login = (__bridge CFStringRef) @"login";
CFStringRef pass = (__bridge CFStringRef) @"pass";
OSStatus err = NetFSMountURLSync(
(__bridge CFURLRef) [NSURL URLWithString: target], // URL to mount, e.g. nfs://server/path
(__bridge CFURLRef) [NSURL URLWithString: mountPath], // Path for the mountpoint
login, // Auth user name (overrides URL)
pass, // Auth password (overrides URL)
NULL, // Options for session open (see below)
mount_options, // Options for mounting (see below)
&mountpoints); // Array of mountpoints