在 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 应用程序访问。
以下代码在 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 应用程序访问。