3

マウントされたデバイスをアンマウント/イジェクトでき​​るかどうかを確認するにはどうすればよいですか?

の助けを借りて、すべてのデバイスを取得しようとしましたNSFileManager

NSArray *keys = [NSArray arrayWithObjects:NSURLVolumeNameKey, NSURLVolumeURLForRemountingKey, NSURLVolumeIsEjectableKey, NSURLVolumeIsRemovableKey, nil];
NSArray *urls = [[NSFileManager defaultManager] mountedVolumeURLsIncludingResourceValuesForKeys:keys options:0];

for (NSURL *url in urls) 
{
NSError *error;
NSNumber *isRemovable;
NSString *volumeName; 

[url getResourceValue:&isRemovable forKey:NSURLVolumeIsRemovableKey error:&error];
[url getResourceValue:&volumeName forKey:NSURLVolumeNameKey error:&error];

NSLog(@"Standard Device : %@ - Removable: %c", volumeName, [isRemovable boolValue]);

}

しかし、リストを反復処理すると、常に次のようになります。

Standard Device Name: My Book - isEjectable:

参考までに、「My Book」は USB ドライブです。

誰かが間違っていることを指摘してくれることを願っています。

ありがとう

4

1 に答える 1

3

あなたはそうではありNSURLVolumeIsEjectableKeyませんNSURLVolumeIsRemovableKey

NSURLVolumeIsRemovableKeyデバイスからメディアを物理的に取り外すことができることを意味します。 NSURLVolumeIsEjectableKeyボリュームをアンマウントできることを示します。

于 2013-04-19T15:53:25.770 に答える