Objective-C中的隐式SQLite控制台输出

问题描述

| 运行程序查询iPhone的iPod库时,在控制台中得到以下输出: CPsqliteStatementPerform:尝试为UPDATE ddd.ext_container写一个只读数据库SET orig_date_modified =(从容器中选择date_modified,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 @R_759_4045@ion
//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 @R_759_4045@ion,initializing it with
//above data,then returning the resulting dictionary

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

return songInfo;
}
可能会导致访问所有惊吓iPhone的媒体信息吗?     

解决方法

        显然,这是iOS 4.3中的错误,并且在Apple的这个devforum中得到了解决: https://devforums.apple.com/message/428584#428584