2011-05-28 3 views
0

При запуске моей программы для запроса библиотеки IPOD моего iPhone, я получаю следующий вывод в консоли:Cryptic SQLite вывод консоли в Objective-C

CPSqliteStatementPerform: попытка записать только для чтения базы данных для обновления ddd.ext_container SET orig_date_modified = (SELECT date_modified FROM container WHERE pid = container_pid) WHERE orig_date_modified = 0

Я отключил все, что выводится на консоль, так что это не так, как если бы у меня была ошибка с NSLog. Что здесь происходит и как я могу это исправить. Я буду включать общий исходный код класса, который я звоню, вместе с классом, который делает работу (извините за размещение все:

+(NSMutableDictionary *) makeQuery { 

MPMediaQuery *query = [[MPMediaQuery alloc] init]; //query iPod library 
NSString *facebookIDKey = @"Facebook ID"; 
NSString *genericFacebookID = @"1234567890"; 
NSMutableDictionary *organizedSongData = [NSMutableDictionary dictionaryWithObject:genericFacebookID forKey:facebookIDKey]; 
NSArray *allSongs = [query collections]; 

//only add those songs which have not 
//been played since last login 
for (MPMediaItem *recent in allSongs) { 
    NSDate *lastPlayed = [recent valueForProperty:MPMediaItemPropertyLastPlayedDate]; 
    int songCounter = 1; 
    BOOL uploadInfo = [[PlayedSinceLastLogin alloc] initWithLastPlayedDateOfSong:lastPlayed]; 
    if (uploadInfo == YES) { 
     //adds songs into 
     [organizedSongData addEntriesFromDictionary: [MakeDicForSongInfo initWithMPMediaItem:recent andSongNumber:songCounter]]; 
     songCounter++; 
    } 
} 

return organizedSongData; 
} 

Вот фактическая тяжесть работы, проделанной в MakeDicForSongInfo:

+(NSDictionary *) initWithMPMediaItem:(MPMediaItem *) song andSongNumber: (int)songCount{ 


//Create & initialize NSStrings for keys 
//Create NSArray to hold keys 

NSString *songKey = [NSString stringWithFormat: @"%i Song Title", songCount]; 
NSString *albumKey = [NSString stringWithFormat: @"%i Album", songCount]; 
NSString *artistKey = [NSString stringWithFormat: @"%i Artist", songCount]; 
NSString *artistIDKey = [NSString stringWithFormat: @"%i Artist Persistent ID", songCount]; 
NSString *lastPlayedKey = [NSString stringWithFormat: @"%i Late Played Date", songCount]; 
NSString *genreKey = [NSString stringWithFormat: @"%i Genre", songCount]; 
NSString *ratingKey = [NSString stringWithFormat: @"%i User Rating", songCount]; 
NSString *playCountKey = [NSString stringWithFormat: @"%i Play Count", songCount]; 

NSArray *propertyKeys = [[NSArray alloc] initWithObjects:songKey, albumKey, artistKey, artistIDKey, 
         lastPlayedKey, genreKey, ratingKey, playCountKey, nil]; 

//Create & initialize NSStrings to hold song property information 
//Create NSArray to hold the values 

NSString *songTitle = [song valueForProperty:MPMediaItemPropertyTitle]; 
NSString *albumName = [song valueForProperty:MPMediaItemPropertyAlbumTitle]; 
NSString *artistName = [song valueForProperty:MPMediaItemPropertyArtist]; 
NSString *artistID = [song valueForProperty:MPMediaItemPropertyArtistPersistentID]; 
NSString *lastPlayed = [song valueForProperty:MPMediaItemPropertyLastPlayedDate]; 
NSString *genre = [song valueForProperty:MPMediaItemPropertyGenre]; 
NSString *userRating = [song valueForProperty:MPMediaItemPropertyRating]; 
NSString *playCount = [song valueForProperty:MPMediaItemPropertyPlayCount]; 

NSArray *propertyValues = [[NSArray alloc] initWithObjects:songTitle, albumName, artistName, artistID, 
          lastPlayed, genre, userRating, playCount, nil]; 

//Create NSDictionary to store information, initializing it with 
//above data, then returning the resulting dictionary 

NSDictionary *songInfo = [[NSDictionary alloc] initWithObjects:propertyValues forKeys:propertyKeys]; 

return songInfo; 
} 

Может быть что-то в доступе всю эту информацию СМИ, что душманы на iPhone

+0

Возможный дубликат http://stackoverflow.com/questions/5944281/why-am-i-getting-this-cpsqlitestatementperform-error-in-xcode-console –

ответ

Смежные вопросы