10
votes

IOS prennent-il en charge les opérations de fichiers via SMB?

Est-ce que iOS (ou iPhone OS) prend en charge les opérations de fichier via des actions réseau SMB? Si oui, existe-t-il des documents sur la façon de faire cela?


0 commentaires

6 Réponses :


4
votes

Je pensais que je l'ai fait fonctionner entre MacBook et mon iPhone Simulator, mais il n'a jamais fonctionné pour les dossiers partagés sur la machine Windows .. Veuillez vous reporter à une question distincte que j'ai posté - Utilisation de NsNetService Class pour créer une connexion IP TCP SMB à un dossier partagé sur la machine Windows - avec des étapes que j'ai prises ...


2 commentaires

Vous n'avez pas fait fonctionner du tout. Comme la réponse à votre question liée aux États-Unis, Nsnetservice est lié à la découverte de service BONJOUR. Cela n'a rien à voir avec la communication réellement via le protocole SMB.


Vous avez raison. J'ai posté ceci avant que j'ai reçu la réponse à la question liée. La majeure partie de la confusion est due au manque de documentation sur quel paramètre "Type" se trouve dans la ligne de code suivante auto.netservice = [[[[[[[Nsnetservice Alloc] InitwithDomain: @ "10.212.19.121" Type: @ "_ smb._tcp . " Nom: @ "Lanmanserver"] Autoréleuillet]



8
votes

Vous n'avez pas encore testé mais cela pourrait aider: http://38leinad.wordpress.com/2011/03/23/windows-filsesHaring-Library-for-ios/


0 commentaires

1
votes

Pas sûr de SMB, mais j'ai pu lire / écrire des fichiers sur un iPad jailbreaké à l'aide de SFTP. Versions du système d'exploitation 4.1, 4.2, 4.3.

sur une note latérale, je pense que la question a besoin d'un peu de clarification - qu'est-ce que vous essayez exactement de faire et si vous travaillez avec un appareil régulier ou jailbreaké. Les réponses peuvent varier considérablement on en sachant ces choses.


0 commentaires

0
votes

Vous pouvez également faire référence à mon expérience, j'ai réussi à mettre en place un client SMB pour iOS: Soutien SMB / Samba sur iOS?


0 commentaires

0
votes

J'ai utilisé libsmbclient de Samba Package pour les opérations SMB sur iOS. Vous pouvez consulter mon projet https://github.com/kolyvan/kxsmb (Epprenceur de l'objectif-C sur libsmbclient). Pour l'instant, il soutient un ensemble limité d'opérations SMB. Il a surtout été conçu pour parcourir des dossiers réseau locaux et récupérer des actions SMB.


1 commentaires

libsmbclient est GPL, ce qui signifie toute application iOS qui utilise avec elle doit également être gpl.



0
votes

iOS n'a pas d'API pour travailler avec SMB. Toutefois, SMB est actuellement documentée par Microsoft et la mise en œuvre n'est pas impossible (bien que pas facile aussi). J'ai créé un projet gratuit qui contient la plupart de ce dont vous avez besoin pour gérer SMB. Voir

https://sourceforge.net/projects/smb4ios/

Il n'utilise pas samba ou aucune autre bibliothèques de poids lourd. Travaille principalement pour les imprimantes, mais avec ce qui est déjà là, il est facile d'ajouter une assistance pour la manipulation de fichier ou autre chose.

Je m'en fiche des choses GPL, vous pouvez simplement réutiliser le code sans préoccupation pour cela. Vérifiez simplement si la bibliothèque NTLM que j'ai utilisée a la bonne licence pour vous (ou implémentez votre propre NTLM).


4 commentaires

ne met en œuvre que le maintenant obsolète Samba V1 (E.G. Windows XP compatible)


Correct. Ma tâche nécessitait un soutien au XP, car le guichet automatique peut-être encore beaucoup de machines XP existantes. Sinon, j'irais avec SMB 2, ce qui est un meilleur format.


J'ai essayé cela sur Macos Sierra (ciblant un appareil iOS 10). J'ai essayé de vous connecter à la part localhost SMB et j'ai échoué avec NTStatus Not_supporté, probablement parce qu'il s'agit d'un client V1 et de la SIERRA SMB est probablement v2. J'ai essayé de se connecter à une action sur un aéroport extrême (le point de mon application) et il a échoué avec NTStatus Not_implementalé, indiquant que l'aéroport extrême ne supporte pas quelque chose. De toute façon, de la chance. Bon travail sur le projet SMB4IOS cependant, c'est cool d'avoir du code OSS comme ça.


Remarque: Cela dépend de la libntlm et ne fait que des regroupements une version 32 bits. De nos jours, les choses doivent être 64 bits. Je l'ai remplacé (au niveau du code source, ne reliant pas une bibliothèque) libntlm d'ici NONGNU.ORE/LIBNTLMMO " a> et cela semblait bien, mais c'était un peu de travail juste pour échanger ça