Подтвердить что ты не робот

Ошибка компиляции с помощью NSParameterAssert с Xcode 6.3

Я получаю ошибки компиляции везде, где используется NSParameterAssert. Например:

-(instancetype)initForPlot:(CPTPlot *)plot withFunction:(CPTDataSourceFunction)function
{
    NSParameterAssert([plot isKindOfClass:[CPTScatterPlot class]]);
    NSParameterAssert(function);

    if ( (self = [self initForPlot:plot]) ) {
        dataSourceFunction = function;
    }
    return self;
}

Код компилируется с помощью Xcode 6.2, но он дает мне следующие ошибки с Xcode 6.3:
/Users/xxxx/Project/App/Presentation/CorePlot/Source/CPTFunctionDataSource.m:110:5: Using %s directive in NSString which is being passed as a formatting argument to the formatting method

Я посмотрел онлайн и не видел информацию об ошибке.
Исправление temp, которое я использую, следующее:

#undef NSParameterAssert
#define NSParameterAssert(condition)    ({\
do {\
_Pragma("clang diagnostic push")\
_Pragma("clang diagnostic ignored \"-Wcstring-format-directive\"")\
NSAssert((condition), @"Invalid parameter not satisfying: %s", #condition);\
_Pragma("clang diagnostic pop")\
} while(0);\
})

Однако для этого должно быть лучшее решение.

4b9b3361

Ответ 1

Все, что вам нужно сделать, это обновить вашу библиотеку основного сюжета до последней версии (которая сработала для меня). BECAUSE:

Если вы перейдете в Coreplot git repo (https://github.com/core-plot/core-plot/commits/master),

в пределах коммитов, которые вы видите:

Commits on Feb 15, 2015
@eskroch
Fixed Xcode 6.3 beta build warnings.
eskroch authored on Feb 15

Это означает, что эта проблема уже исправлена ​​с 15 февраля, задолго до релиза iOS 8.3, начиная с бета-версии.