Protobuf отсутствует суффикс 'list' в сгенерированном Objective-C коде

Я использую Protobuf 2.6.1 с этим плагином, который я скомпилировал сам.

В проекте я работаю с Protobuf, модели уже присутствуют. Я попытался восстановить файлы с помощью следующей команды:

protoc --plugin = / path / to / the / compiled / plugin / objc-gen --objc_out =. / gen / NAME.proto OF.proto THE.proto FILES.proto

Как правило, файлы совпадают с ранее сгенерированными моделями, однако существуют некоторые синтаксические различия.

Следующая строка.proto:

repeated MyType case = 4;

переводится в эту строку в Obj-C (новый плагин, с ARC):

@property (readonly, strong) NSArray * case;

И это было с List суффикс (старый плагин, не ARC, не работает с текущей версией macOS):

- (NSArray*) caseList;

При условии case является ключевым словом в Objective-C, это вызывает ошибки компиляции.

Вопросы:

  1. С какой версии Protobuf изменил синтаксис, чтобы пропустить List суффикс?

  2. Можно ли вызвать "старое" поведение с новым плагином?

  3. Какая последняя версия плагина, которая работает на macOS 10.14.3 и может генерировать файлы в старом стиле (т.е. с list суффикс)?

0 ответов