Я действительно не знаю решения или даже идеи, чтобы обойти следующий сбой. Это происходит только в конфигурации выпуска на устройстве — симулятор и конфигурация отладки работают нормально. Он также появляется только при втором запуске. Поэтому, если у меня есть телефон, подключенный к моему Mac, я создаю приложение и запускаю его, все работает нормально. Если я затем закрою приложение и перезапущу его, оно вылетит. После долгих поисков кажется, что ошибка исходит из следующей строки:
x.majorIntervalLength = CPDecimalFromFloat(2.0f);
Код перед:
CPLayerHostingView *chartView = [[CPLayerHostingView
alloc] initWithFrame:CGRectMake(0, 0, 320, 160)];
[self addSubview:chartView];
// create an CPXYGraph and host it inside the view
CPTheme *theme = [CPTheme themeNamed:kCPPlainWhiteTheme];
CPXYGraph *graph = (CPXYGraph *)[theme newGraph];
chartView.hostedLayer = graph;
graph.paddingLeft = 20.0;
graph.paddingTop = 10.0;
graph.paddingRight = 10.0;
graph.paddingBottom = 20.0;
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange
plotRangeWithLocation:CPDecimalFromFloat(0)
length:CPDecimalFromFloat(100)];
plotSpace.yRange = [CPPlotRange
plotRangeWithLocation:CPDecimalFromFloat(0)
length:CPDecimalFromFloat(10)];
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;
CPXYAxis *x = axisSet.xAxis;
x.majorIntervalLength = CPDecimalFromFloat(2.0f);
Если я прокомментирую последнюю строку, все работает нормально (конечно, длина интервала неверна). Буду признателен за любую помощь! Заранее спасибо!