核心图形模式崩溃(仅在设备上)

时间:2012-05-20 18:45:59

标签: ios core-graphics design-patterns quartz-2d

我有一个核心图形模式,可以在模拟器上完美运行,但它在设备上崩溃了:

void MyDrawColoredPattern4 (void *info, CGContextRef context) {
   UIColor* colorClar = [UIColor colorWithRed: 0.57 green: 0.57 blue: 0.57 alpha: 1];
   UIColor* colorFosc = [UIColor colorWithRed: 0.15 green: 0.15 blue: 0.15 alpha: 1];

   CGColorRef dotColor = colorFosc.CGColor;
   CGColorRef shadowColor = colorClar.CGColor;

   CGContextMoveToPoint(context, 5, -0.5);
   CGContextAddLineToPoint(context, 1.1, 1.75);
   CGContextAddLineToPoint(context,1.1, 6.25);
   CGContextAddLineToPoint(context,5, 8.5);
   CGContextAddLineToPoint(context,8.9, 6.25);
   CGContextAddLineToPoint(context,8.9, 1.75);
   CGContextClosePath(context);

   CGContextMoveToPoint(context,16, 10.5);
   CGContextAddLineToPoint(context, 12.1, 12.75);
   CGContextAddLineToPoint(context,12.1, 17.25);
   CGContextAddLineToPoint(context,16, 19.5);
   CGContextAddLineToPoint(context,19.9, 17.25);
   CGContextAddLineToPoint(context,19.9, 12.75);
   CGContextClosePath(context);

   CGContextSetFillColorWithColor(context, dotColor);
   CGContextSetShadowWithColor(context, CGSizeMake(1, 1), 2, shadowColor);

   CGContextFillPath (context);
}

模式大小为25 * 25,它用drawRect填充整个矩形。我知道有时需要高要求的图形应用程序会在设备上崩溃并且没有模拟器,但我不确定是否是这种情况。

我创建了一些更简单的模式,它们在模拟器和设备中都可以正常工作。

任何?

编辑:顺便说一句,控制台上没有任何内容,但编辑区内有以下内容:

libobjc.A.dylib`objc_msgSend:
0x37be7f68:  teq.w  r0, #0
0x37be7f6c:  beq    0x37be7faa               ; objc_msgSend + 66
0x37be7f6e:  push.w {r3, r4}
0x37be7f72:  ldr    r4, [r0]
0x37be7f74:  lsr.w  r9, r1, #2
0x37be7f78:  ldr    r3, [r4, #8]      ------------------> this line is highligthed in green.
0x37be7f7a:  add.w  r3, r3, #8
0x37be7f7e:  ldr    r12, [r3, #-8]
0x37be7f82:  and.w  r9, r9, r12
0x37be7f86:  ldr.w  r4, [r3, r9, lsl #2]
0x37be7f8a:  teq.w  r4, #0
0x37be7f8e:  add.w  r9, r9, #1
0x37be7f92:  beq    0x37be7fa6               ; objc_msgSend + 62
0x37be7f94:  ldr.w  r12, [r4]
0x37be7f98:  teq.w  r1, r12
0x37be7f9c:  bne    0x37be817e               ; objc_msgSendSuper_stret + 34
0x37be7f9e:  ldr.w  r12, [r4, #8]
0x37be7fa2:  pop    {r3, r4}
0x37be7fa4:  bx     r12
0x37be7fa6:  pop    {r3, r4}
0x37be7fa8:  b      0x37be7fb0               ; objc_msgSend_uncached
0x37be7faa:  mov.w  r1, #0
0x37be7fae:  bx     lr

0 个答案:

没有答案