Domanda

Afferrare l'arte dell'album per la canzone attuale e usarla per cambiare un certo imageView.image Genera un errore, ma non si blocca più. (Lo ha fatto prima perché ho lasciato fuori il if (!artwork) Gestione degli errori. Eheh.)

Questo metodo:

- (void)handleNowPlayingItemChanged:(id)notification {
    MPMediaItem *item = self.musicPlayer.nowPlayingItem;
    CGSize albumCoverSize = self.albumCover.bounds.size;
    MPMediaItemArtwork *artwork =
                            [item valueForProperty:MPMediaItemPropertyArtwork];
    if (artwork) {
        self.albumCover.image = [artwork imageWithSize:albumCoverSize];
    } else {
        self.albumCover.image = nil;
    }
}

Esplode in questo modo:

CPSqliteStatementPerform: attempt to write a readonly database for
    UPDATE ddd.ext_container SET orig_date_modified = (SELECT date_modified
    FROM container WHERE pid=container_pid) WHERE orig_date_modified=0
CPSqliteStatementReset: attempt to write a readonly database for
    UPDATE ddd.ext_container SET orig_date_modified = (SELECT date_modified
    FROM container WHERE pid=container_pid) WHERE orig_date_modified=0

Ma solo al lancio. E mostra ancora l'immagine (o la sua mancanza). Strano.

Modificare: La libreria iPod è lettura (le app non possono cambiare nulla, solo iTunes), quindi forse sta urlando
Io per aver scritto qualcosa di leadonly, ma lo permettevo ancora perché nulla è stato modificato?

E dopo che è stato riparato, devo far funzionare il lavoro (per il supporto del paesaggio) invece dello stretching di IB.
Non vitale, ma comunque una cosa carina da avere.

È stato utile?

Soluzione 2

Link qui - Perché sto ottenendo questo errore CPSQLITEstatementPerform nella console Xcode

Mettendo questo qui in modo che la domanda possa essere contrassegnata come risposta.

Altri suggerimenti

Ecco cosa faccio. Non crea errori e produce un'immagine ogni volta. Se la canzone non ha un'immagine, è impostata predefinita a quella che fornisco. Penso che poiché non stai controllando un'immagine con una dimensione specifica (320 per 320, corrispondente alla larghezza dello schermo per me), non riesce a capirla correttamente. Non so perché stai ricevendo l'errore SQLite, ma spero che questo lo risolva!

MPMediaItemArtwork *artworkItem = [self.musicPlayer.nowPlayingItem valueForProperty: MPMediaItemPropertyArtwork];
if ([artworkItem imageWithSize:CGSizeMake(320, 320)]) {
    [self.currentlyPlayingArtworkView setImage:[artworkItem imageWithSize:CGSizeMake (320, 320)]];
}
else {
    [self.currentlyPlayingArtworkView setImage:[UIImage imageNamed:@"NoArtworkImage"]];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top