我将 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 中的关键字,这会触发编译错误。
问题:
由于什么版本的 Protobuf 更改了语法以省略
List
后缀?是否可以使用新插件触发“旧”行为?
在 macOS 10.14.3 上运行并能够生成具有旧样式(即带有
list
后缀)的文件的最后一个插件版本是什么?