Thomas Van Lenten 58cd4a47e8 ObjC fixup for the branch. %!s(int64=10) %!d(string=hai) anos
..
DevTools 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
ProtocolBuffers_OSX.xcodeproj 58cd4a47e8 ObjC fixup for the branch. %!s(int64=10) %!d(string=hai) anos
ProtocolBuffers_iOS.xcodeproj 58cd4a47e8 ObjC fixup for the branch. %!s(int64=10) %!d(string=hai) anos
Tests 58cd4a47e8 ObjC fixup for the branch. %!s(int64=10) %!d(string=hai) anos
google 50a765ba03 Fix bugs in objective-c. %!s(int64=10) %!d(string=hai) anos
GPBArray.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBArray.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBArray_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBBootstrap.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBCodedInputStream.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBCodedInputStream.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBCodedInputStream_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBCodedOutputStream.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBCodedOutputStream.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBDescriptor.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBDescriptor.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBDescriptor_PackagePrivate.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBDictionary.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBDictionary.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBDictionary_PackagePrivate.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBExtensionField.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBExtensionField.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBExtensionField_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBExtensionRegistry.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBExtensionRegistry.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBField.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBField.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBField_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBMessage.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBMessage.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBMessage_PackagePrivate.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBProtocolBuffers.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBProtocolBuffers.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBProtocolBuffers_RuntimeSupport.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBRootObject.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBRootObject.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBRootObject_PackagePrivate.h 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBTypes.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBUnknownFieldSet.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBUnknownFieldSet.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBUnknownFieldSet_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBUtilities.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBUtilities.m 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
GPBUtilities_PackagePrivate.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBWellKnownTypes.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBWellKnownTypes.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBWireFormat.h 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
GPBWireFormat.m 30650d81d9 Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs. %!s(int64=10) %!d(string=hai) anos
README.md 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos
generate_descriptors_proto.sh 1dcc329427 Objective C Second Alpha Drop %!s(int64=10) %!d(string=hai) anos

README.md

Protocol Buffers - Google's data interchange format

Build Status

Copyright 2008 Google Inc.

This directory contains the Objective C Protocol Buffers runtime library.

Requirements

The Objective C implemention requires:

  • Objective C 2.0 Runtime (32bit & 64bit iOS, 64bit OS X).
  • Xcode 6.3 (or later).
  • The library code does not use ARC (for performance reasons), but it all can be called from ARC code.

Installation

The full distribution pulled from github includes the sources for both the compiler (protoc) and the runtime (this directory). To build the compiler and run the runtime tests, you can use:

 $ objectivec/DevTools/full_mac_build.sh

This will generate the src/protoc binary.

Usage

There are two ways to include the Runtime sources in your project:

Add objectivec/\*.h & objectivec/GPBProtocolBuffers.m to your project.

or

Add objectivec/\*.h & objectivec/\*.m except for objectivec/GPBProtocolBuffers.m to your project.

If the target is using ARC, remember to turn off ARC (-fno-objc-arc) for the .m files.

The files generated by protoc for the *.proto files (\*.pbobjc.h' and *.pbobjc.m`) are then also added to the target.

The Objective C classes/enums can be used from Swift code.

Objective C Generator Options

objc_class_prefix=<prefix> (no default)

Since Objective C uses a global namespace for all of its classes, there can be collisions. This option provides a prefix that will be added to the Enums and Objects (for messages) generated from the proto. Convention is to base the prefix on the package the proto is in.

Contributing

Please make updates to the tests along with changes. If just changing the runtime, the Xcode projects can be used to build and run tests. If change also require changes to the generated code, objectivec/DevTools/full_mac_build.sh can be used to easily rebuild and test changes. Passing -h to the script will show the addition options that could be useful.

Documentation

The complete documentation for Protocol Buffers is available via the web at:

https://developers.google.com/protocol-buffers/