Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.3 KiB
78 lines
2.3 KiB
10 years ago
|
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/
|