0

ダウンロードの準備ができている App Store にアプリを送信しました。それ以来、人々がビューの 1 つで ImagePicker から画像を選択したときに、いくつかの興味深いクラッシュ レポートを受け取りました。

このバグ (以下を参照) により、アプリがクラッシュします。私は2つのことを疑問に思っていました。

  1. 以下のコードで誰でも問題を見つけることができますか?

  2. アプリ バイナリにのみ存在し、開発環境で再現しようとしても表示されないバグにどのように対処しますか? -アプリストアにあるバイナリでアプリをクラッシュさせることができますが、シミュレーターまたはテスト電話で同じことを行うと、アプリは完全に機能します..

BugSense のクラッシュ レポート

CALayer position contains NaN: [798 nan]
Class:

CALayerInvalidGeometry
 0x00120e99 -[imageCroppingViewController imagePickerController:didFinishPickingMediaWithInfo:] (imageCroppingViewController.m:126) + 163481

コード

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

    imageView.image = image;
    CGRect rect;
    rect.size.width = image.size.width;
    rect.size.height = image.size.height;
    imageView.center = scrollView.center;
    [imageView setFrame:rect];

    scrollView.contentSize = imageView.frame.size;
    self.navigationController.navigationBar.hidden = NO;
    [myPicker.view removeFromSuperview];
}
4

1 に答える 1

0

ローカル変数を完全に初期化しませんrect。を送信すると、そのoriginメンバーは定義されておらず、何でもかまいません[imageView setFrame:rect];

を追加rect.origin = CGPointZero;または使用CGRectMakeして初期化しますrect

rect = CGRectMake(0,0,image.size.width,image.size.height);

または、直腸に必要な任意の場所。

于 2013-11-11T09:43:40.237 に答える