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.
77 lines
2.3 KiB
77 lines
2.3 KiB
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/
|
|
|