Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS是否支持通过SMB进行文件操作?_Iphone_Ios_Smb - Fatal编程技术网

Iphone iOS是否支持通过SMB进行文件操作?

Iphone iOS是否支持通过SMB进行文件操作?,iphone,ios,smb,Iphone,Ios,Smb,iOS(或iPhone OS)是否支持通过SMB网络共享进行文件操作? 如果是这样的话,有关于如何做到这一点的文档吗?我想我让它在macbook和我的iPhone模拟器之间工作,但是它在windows机器上共享的文件夹中从未工作过。。请参考我发布的另一个问题——我已经采取的步骤 还没有测试,但这可能会有所帮助:不确定SMB,但我可以使用SFTP在越狱的IPad上读/写文件。操作系统版本4.1、4.2、4.3 另一方面,我认为这个问题需要澄清一下——你到底想做什么,你是在使用普通的还是越狱的设备。

iOS(或iPhone OS)是否支持通过SMB网络共享进行文件操作?
如果是这样的话,有关于如何做到这一点的文档吗?

我想我让它在macbook和我的iPhone模拟器之间工作,但是它在windows机器上共享的文件夹中从未工作过。。请参考我发布的另一个问题——我已经采取的步骤

还没有测试,但这可能会有所帮助:

不确定SMB,但我可以使用SFTP在越狱的IPad上读/写文件。操作系统版本4.1、4.2、4.3


另一方面,我认为这个问题需要澄清一下——你到底想做什么,你是在使用普通的还是越狱的设备。知道这些事情的人,答案可能会大相径庭

您也可以参考我的经验,我成功地为iOS实现了SMB客户端:

我使用samba软件包中的libsmbclient在iOS上执行SMB操作。
您可以查看我的项目(libsmbclient上的objective-c包装器)。目前,它支持一组有限的SMB操作。它主要用于浏览本地网络和从SMB共享中检索文件。

iOS没有任何API可用于SMB。但是,SMB目前由Microsoft记录,实现它并非不可能(尽管也不容易)。我已经创建了一个免费软件项目,其中包含了处理SMB所需的大部分内容。看

它不使用Samba或任何其他重型库。主要适用于打印机,但通过已有的功能,可以轻松添加对文件处理或其他方面的支持


我不在乎GPL的东西,你只需要重用代码就可以了。只需检查我使用的NTLM库是否为您提供了正确的许可证(或实现您自己的NTLM)。

您根本没有让它工作。正如链接问题的答案所述,
NSNetService
与基于Bonjour的服务发现相关。这与通过SMB协议进行实际通信无关。你是对的。在收到链接问题的答案之前,我发布了这篇文章。大多数混乱是由于缺乏关于“type”参数在以下代码行中的作用的文档
self.netService=[[NSNetService alloc]initWithDomain:@“10.212.19.121”type:@“\u smb.\u tcp.”name:@“lanmanserver”]autorelease]
libsmbclient
是GPL,这意味着任何与之配套使用的iOS应用程序也必须是GPL。它只实现了现在已经过时的samba v1(例如,与windows xp兼容)正确。我的任务需要对XP的支持,因为仍然有很多XP机器存在。否则我会选择SMB 2,这是一种更好的格式。我尝试连接到localhost SMB共享,但由于ntstatus NOT_SUPPORTED而失败,可能是因为这是一个v1客户端,而sierra SMB可能是v2。我尝试连接到airport extreme(我应用程序的要点)上的共享,但由于ntstatus未实现,连接失败,表明airport extreme不支持某些内容。不管怎样,都是出于运气。尽管在smb4ios项目上做得很好,但是有这样的OSS代码是很酷的。注意:这取决于libntlm,并且只捆绑了32位版本。现在需要64位。我从这里替换了Libntlm(在源代码级别,而不是链接库),它看起来很好,但换掉它需要相当多的工作