2011-02-01 11 views
5

Próbując następujący kod:Pobranie roku albumu dla pozycji w bibliotece iPoda?

// Per albums 
MPMediaQuery *albumsQuery = [MPMediaQuery albumsQuery]; 
NSArray *collections = [albumsQuery collections]; 

for (MPMediaItemCollection *collection in collections) 
{ 
    NSDate *collectionReleaseDate = [collection valueForProperty: MPMediaItemPropertyReleaseDate]; 
    NSLog(@"collection release date: %@", collectionReleaseDate); 

    MPMediaItem *representativeItem = [collection representativeItem]; 
    NSDate *representativeItemReleaseDate = [representativeItem valueForProperty: MPMediaItemPropertyReleaseDate]; 
    NSLog(@"representativeItem release date: %@", representativeItemReleaseDate); 
} 

// Just per item 
MPMediaQuery *query = [[MPMediaQuery alloc] init]; 
NSArray *items = [query items]; 

for (MPMediaItem *item in items) 
{ 
    NSDate *date = [item valueForProperty: MPMediaItemPropertyReleaseDate]; 
    NSLog(@"release date: %@", date); 
} 

We wszystkich przypadkach dostaję nil za NSDates ... Ale w bibliotece iPod widzę dat, więc informacje muszą być dostępne. Jaki jest prawidłowy sposób uzyskania tego?

+0

data Wydanie jest dostępne tylko przy użyciu iOS 4 lub nowszej. Jaka jest twoja wersja docelowa? –

+0

Używanie iOS SDK 4.2, wdrożenie docelowa = iOS 4.0, testowanie na iPadzie z 4.2.1 i iPoda 2. gen z 4.2.1 ... – ivanzoid

Odpowiedz

19

Cóż, myślę, że to wymyśliłem. Pomyślałem, że kolumna "Rok" w iTunes odpowiada MPMediaItemPropertyReleaseDate w API - ale jest błędna. Moje rzeczy faktycznie nie miały informacji o dacie premiery.

znalazłem także jak uzyskać „Year” informacje (które potrzebne), ale niestety w nieudokumentowany sposób:

MPMediaItem *item = ...; 
NSNumber *yearNumber = [item valueForProperty:@"year"]; 
if (yearNumber && [yearNumber isKindOfClass:[NSNumber class]]) 
{ 
    int year = [yearNumber intValue]; 
    if (year != 0) 
    { 
     // do something with year 
    } 
} 
+0

Nadal ważne dla iOS 5.1:/Ale dzięki za naprawę! – miho

+0

nie działa na ios6 – Andy

+0

@Andy Działa na iOS 6.0 dla mnie. – soheilpro