在 iOS 上枚举已安装的卷

Enumerate mounted volumes on iOS

以下代码在 MacOS 上运行良好,但 return 在 iOS 上使用 SanDisk «SanDisk iXpand» 闪存驱动器时 return 空列表:

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 不支持安装卷或访问它们,这就是为什么您没有获得已安装卷列表的原因。

iXpand 设备只能通过 SanDisk 应用程序访问。