【问题标题】:How to access an AFP or SMB share (e.g. time capsule) in Swift or Obj-C如何在 Swift 或 Obj-C 中访问 AFP 或 SMB 共享(例如时间胶囊)
【发布时间】:2016-02-23 05:30:56
【问题描述】:

我目前正在开发一个 tvOS/iPhone 应用程序。目标是浏览我的本地网络并找到发布 AFP 和 SMB 共享的不同设备,并从中读取文件。

到目前为止,我已经设法使用NSNetServiceBrowser 找到并列出了我网络中的不同设备(例如我的时间胶囊)。

我的问题是:如何访问和读取我找到的 AFP 或 SMB 共享的信息(例如目录或文件)?

我尝试过NSFileManager,但据我发现,它根本不适合这项任务……知道如何使用 iOS 框架或第三方库来实现这一点吗?

【问题讨论】:

  • 我正要发布一个类似的问题。你有什么工作了吗?
  • 我没有开始自己的问题,而是赞成这个问题。有应用程序可以做到这一点 - 如何?

标签: ios objective-c smb file-browser afp


【解决方案1】:

我找不到 Objective-C 或 Swift 示例,但这个是 C 语言的。

Tango library in C

这似乎可以通过NSURLRequestsmb:// URL 实现,但根据 Apple 的文档,这可能仅限于 OS X。

【讨论】:

  • 是的,我看过,但它很旧(5 年前..)。可能有一些东西,在新的 Apple TV 上,有不同的应用程序提供这种服务。
  • 尝试使用带有 smb:// url 的 NSURLRequest 并告诉我会发生什么。
  • 那里它永远不会通过完成块...let url = NSURL(string: "smb://xxx:xxx@192.168.0.12") let request: NSURLRequest = NSURLRequest(URL: url!) let session = NSURLSession.sharedSession() session.dataTaskWithRequest(request) { (data, response, error) -> Void in print("Response") let reply = NSString(data: data!, encoding: NSUTF8StringEncoding) print(reply) }
  • 不,它什么都不做,我放了一个断点,但它永远不会进入完成块......
  • 断点告诉你什么?你解开了一个可选的 nil 值,还是别的什么?
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2017-11-03
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
相关资源
最近更新 更多