3

現在の曲のアルバム アートを取得し、それを使用して特定の変更を行うとimageView.image、エラーが発生しますが、クラッシュしなくなりました。(エラーハンドリングを省いたので以前はそうでしたif (!artwork)。えへへ)

この方法:

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

次のように爆発します。

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

ただし発動時のみ。そして、それはまだ画像(またはその欠如)を示しています。変。

編集: iPod ライブラリは読み取り専用 (アプリは何も変更できず、iTunes のみ) であるため
、読み取り専用の何かを書いていると私に怒鳴っているのかもしれませんが、読み取り専用は何も変更されていないため、まだ許可されていますか?

そして、それが修正された後、IB のストレッチではなく、(ランドスケープのサポートのために) サイズ変更を機能させる必要があります。
重要ではありませんが、それでもあると便利です。

4

2 に答える 2

0

これが私がすることです。エラーは発生せず、毎回画像を生成します。曲に画像がない場合は、デフォルトで私が提供したものになります。特定のサイズ(320 x 320、私にとっては画面の幅に一致)の画像をチェックしていないため、正しく把握できないと思います。なぜSQLiteエラーが発生するのかわかりませんが、うまくいけばこれで修正されます!

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"]];
}
于 2012-03-04T07:49:16.790 に答える
0

リンクはこちら - xcode コンソールでこの CPSqliteStatementPerform エラーが発生するのはなぜですか

質問を回答済みとしてマークできるように、これをここに配置します。

于 2012-04-02T18:35:59.690 に答える