次のコードでクラッシュの問題に直面しています (アドホック ビルドのみ)。
- (void)drawPreviewInRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGColorRef strokeColor = [self.delegate.strokeColor CGColor];
CGFloat strokeWidth = self.delegate.strokeWidth;
CGFloat x = rect.size.width/2.0f;
CGFloat y = rect.size.height/2.0f;
CGPoint strokePoint = CGPointMake(x, y);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, strokeWidth);
CGContextSetStrokeColorWithColor(context, strokeColor);
CGContextMoveToPoint(context, strokePoint.x, strokePoint.y);
CGContextAddLineToPoint(context, strokePoint.x, strokePoint.y);
CGContextStrokePath(context);
CGContextRestoreGState(context);
}
クラッシュ ログには、次の図が表示されます。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x10000008
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x39f535b0 objc_msgSend + 16
1 CoreGraphics 0x3237c3ec CGColorRetain + 12
2 CoreGraphics 0x3237c592 CGGStateSetStrokeColor + 38
コードは、開発環境 (シミュレーターとデバイスの両方) で完全に正常に動作します。理論はありますか?私はARCの下で働いています。