Iphone iOS是否支持通过SMB进行文件操作?
iOS(或iPhone OS)是否支持通过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 另一方面,我认为这个问题需要澄清一下——你到底想做什么,你是在使用普通的还是越狱的设备。
如果是这样的话,有关于如何做到这一点的文档吗?我想我让它在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(在源代码级别,而不是链接库),它看起来很好,但换掉它需要相当多的工作