2016-04-28 1 views
0

Je souhaite déplacer un fichier png du bureau Mac de l'utilisateur vers un partage de fichiers Windows monté. Je n'arrive pas à faire fonctionner le chemin distant avec le code que j'utilise.Objectif C - Écrire un fichier png dans un partage de fichiers distant

NSFileManager *filemgr; 
filemgr = [NSFileManager defaultManager]; 

if ([filemgr copyItemAtPath: stringFilePath toPath: @"/NameOfFileShare/Path/To/Folder/FileName.png" error: NULL] == YES) 
NSLog (@"Copy successful"); 
else 
NSLog (@"Copy failed"); 

J'ai essayé de nombreuses variantes du chemin de fichier distant. Je peux utiliser le code ci-dessus avec succès si les chemins sont locaux. Comment puis-je déplacer un fichier vers un partage distant ???

+1

Je n'ai pas accès à mon Mac en ce moment mais à ma mémoire qui pourrait être faux, les dossiers réseau montés de Windows sont montés sous /Volumes/NameofSharedResource/RestOfPath/foo.png, donc essayez d'accéder à partir de/Volumes/... –

+0

Pourrait jurer que j'ai utilisé/Volumes dans mes nombreuses permutations d'essayer. Doit d'avoir quelque chose d'autre à l'époque. Merci d'avoir fait remarquer cela. Cela m'a fait le revoir et ça marche maintenant. – FlameCoder

+0

Génial. Heureux je pourrais aider. Pour que d'autres puissent utiliser la réponse, je posterai une réponse réelle à votre question. :) –

Répondre

1

Mac OS (OS X) charge les pilotes réseau sous /Volumes aux côtés d'autres pilotes. Par conséquent, votre code devrait ressembler à ceci:

NSFileManager *filemgr; 
filemgr = [NSFileManager defaultManager]; 

if ([filemgr copyItemAtPath: stringFilePath toPath: @"/Volumes/NameOfFileShare/Path/To/Folder/FileName.png" error: NULL] == YES) 
NSLog (@"Copy successful"); 
else 
NSLog (@"Copy failed"); 

Faites attention au chemin qui commence par /Volumes

Il devrait maintenant fonctionner.