Question

Saisissant art album chanson en cours et l'utiliser pour changer un certain imageView.image génère une erreur, mais ne se bloque plus. (Il a fait avant parce que je quittai le traitement des erreurs de if (!artwork). Eheh.)

Cette méthode:

- (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;
    }
}

Explodes comme ceci:

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

Mais seulement sur le lancement. Et il montre encore l'image (ou son absence). Bizarre.

Modifier La bibliothèque iPod est en lecture seule (applications ne peuvent pas changer quoi que ce soit, seulement iTunes), alors peut-être il hurle à
moi pour écrire quelque chose en lecture seule, mais ce qui lui parce que rien n'est modifié en lecture seule?

Et après cela est corrigé, je dois obtenir le redimensionnement de travail (pour le soutien du paysage) au lieu d'étirement de l'IB.
Pas vital, mais toujours une bonne chose d'avoir.

Était-ce utile?

La solution 2

Lien ici - Pourquoi est-ce J'obtiens cette erreur de CPSqliteStatementPerform dans la console Xcode

Mettre cette ici si la question peut être marqué comme ayant été.

Autres conseils

Voici ce que je fais. Il crée aucune erreur, et produit une image à chaque fois. Si la chanson n'a pas une image, il est par défaut à celui que je fournir. Je pense que parce que vous n'êtes pas vérifier une image avec une taille spécifique (320 par 320, correspondant à la largeur de l'écran pour moi), il ne parvient pas à comprendre correctement. Je ne sais pas pourquoi vous obtenez l'erreur SQLite, mais nous espérons que ce problème est résolu!

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"]];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top