NSArray для аргументов va_list и строкового формата XCode 8

До сих пор я использовал этот фрагмент кода:

+ (id)stringWithFormat:(NSString *)format array:(NSArray*)arguments { NSRange range = NSMakeRange(0, [arguments count]); NSMutableData* data = [NSMutableData dataWithLength:sizeof(id) * [arguments count]]; [arguments getObjects:(__unsafe_unretained id *)data.mutableBytes range:range]; NSString* result = [[NSString alloc] initWithFormat:format arguments:data.mutableBytes]; return result; } 

однако с момента обновления до xcode 8 я получаю EXC_BAD_ACCESS . Вероятно, потому, что некоторые значения, переданные в массиве, – это NSTaggedPointerString * но я не уверен. Любые идеи, как это исправить?

Давайте будем гением компьютера.