diff options
author | Paul Yang <paulyang1211@gmail.com> | 2015-05-22 14:12:15 -0700 |
---|---|---|
committer | Paul Yang <paulyang1211@gmail.com> | 2015-05-22 14:12:15 -0700 |
commit | 48f95941bcdb1ef671943419d93e64a2a95246ec (patch) | |
tree | 1a24c10ca44c630b390d8ac14e5ff039deeba0fe /objectivec/README.md | |
parent | d94e65afda9abf9e7bd789e3e7fb15f33b524eb8 (diff) | |
parent | 1dcc329427fd103a0abd96ab787270f5d0a31861 (diff) | |
download | protobuf-48f95941bcdb1ef671943419d93e64a2a95246ec.tar.gz protobuf-48f95941bcdb1ef671943419d93e64a2a95246ec.tar.bz2 protobuf-48f95941bcdb1ef671943419d93e64a2a95246ec.zip |
Merge pull request #410 from thomasvl/objc_alpha2_drop
Objective C Second Alpha Drop
Diffstat (limited to 'objectivec/README.md')
-rw-r--r-- | objectivec/README.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/objectivec/README.md b/objectivec/README.md new file mode 100644 index 00000000..186e45b2 --- /dev/null +++ b/objectivec/README.md @@ -0,0 +1,77 @@ +Protocol Buffers - Google's data interchange format +=================================================== + +[![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf) + +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/ |