【问题标题】:Enumerate mounted volumes on iOS枚举 iOS 上挂载的卷
【发布时间】:2015-07-08 08:08:17
【问题描述】:

以下代码在 MacOS 上运行良好,但在带有 SanDisk «SanDisk iXpand» 闪存驱动器的 iOS 上返回空列表:

NSArray *keys = [NSArray arrayWithObjects:NSURLVolumeNameKey, NSURLVolumeIsRemovableKey, nil];
NSArray *urls = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:keys options:0];
NSLog(@«%@», urls); // print «null»
for (NSURL *url in urls) {
  NSError *error;
  NSNumber *isRemovable;
  NSString *volumeName;
  [url getResourceValue:&isRemovable forKey:NSURLVolumeIsRemovableKey error:&error];
  if ([isRemovable boolValue]) {
    [url getResourceValue:&volumeName forKey:NSURLVolumeNameKey error:&error];
    NSLog(@"%@", volumeName);
  }
}

有什么方法可以获取 iOS 上挂载的卷列表?

【问题讨论】:

  • 由于 iOS 应用程序是沙盒,因此您无法访问应用程序沙盒之外的文件。安装的卷在应用程序沙箱之外,并且会出现故障。因此,除非 SanDisk 为那里的读卡器提供 SDK,否则您将无法访问它。因为访问附件需要 MFI 程序许可证。
  • 您没有检查错误并报告它们。开始这样做,看看是否返回了任何有用的东西。

标签: ios sd-card volume mount


【解决方案1】:

iOS 不支持安装卷或访问它们,这就是为什么您没有获得已安装卷列表的原因。

只能通过闪迪应用访问 iXpand 设备。

【讨论】:

  • 查看 FileBrowser 应用程序,它可以访问任何连接的闪存驱动器,而无需使用 ScanDisk 应用程序
  • 事情在 5 年内发生了变化
猜你喜欢
  • 2011-04-02
  • 2021-08-23
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 2021-10-26
相关资源
最近更新 更多