Frage

Greifen Sie nach Albumkunst für aktuelle Songs und verwenden Sie es, um eine bestimmte zu ändern imageView.image generiert einen Fehler, stürzt aber nicht mehr ab. (Es tat zuvor, weil ich das ausgelassen habe if (!artwork) Fehlerbehandlung. EHEH.)

Diese Methode:

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

Explodiert so:

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

Aber nur beim Start. Und es zeigt immer noch das Bild (oder das Fehlen davon). Seltsam.

Bearbeiten: Die iPod -Bibliothek ist readonly (Apps können nichts ändern, nur iTunes), also schreit sie vielleicht an
Ich, dass ich ein Readonly etwas geschrieben habe, aber es immer noch zulässt, weil nichts modifiziert wird?

Und nachdem dies festgestellt wurde, muss ich die Größenänderung (für Landschaftsunterstützung) anstelle von IBs Dehnen bekommen.
Nicht wichtig, aber immer noch eine schöne Sache zu haben.

War es hilfreich?

Lösung 2

Link hier - Warum bekomme ich diesen Fehler in der Xcode -Konsole

Wenn Sie dies hier stellen, kann die Frage als beantwortet markiert werden.

Andere Tipps

Folgendes mache ich. Es schafft keine Fehler und erzeugt jedes Mal ein Bild. Wenn das Lied kein Bild hat, ist es standardmäßig die, die ich zur Verfügung stellt. Ich denke, weil Sie nicht nach einem Bild mit einer bestimmten Größe (320 x 320, der für mich übereinstimmende Bildschirmbreite) prüfen, ermittelt es es nicht richtig heraus. Ich weiß nicht, warum Sie den SQLite -Fehler bekommen, aber hoffentlich behebt das ihn!

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"]];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top