アプリでアセット ライブラリを使用して、デバイスの写真イベントを列挙しています。
iPad でテストすると、私のコードは正常に動作します。写真イベントは列挙されており、完全に処理できます。iPhone でまったく同じコードを試しても、何も起こりません (このデバイスにも Photos Events があります)。列挙コードが呼び出されていないように見えます (つまり、コンソールにログが表示されません。コードを参照)。
コードは次のとおりです。
- (void)loadEvents {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupEvent
usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if (group) {
[photosEventsArray addObject:group];
NSLog(@"Adding group");
} else {
NSLog(@"End of the enumeration");
}
}
failureBlock: ^(NSError *error) {
NSLog(@"Failure while enumerating assets: %@", error);
}];
[library release];
NSLog(@"Found %d events", photosEventsFound);
[self performSelectorOnMainThread:@selector(stopSpinner) withObject:nil waitUntilDone:YES];
[pool drain];
}
私の展開ターゲットは iOS 4.1 です。
ここで何がうまくいかないのか考えていますか?