zxu f999fffbb6 fix common typo (#1833) 7 năm trước cách đây
..
FrameworkMaker.xcodeproj 09e4eddd82 Rebuild proto artifacts from existing sources and update README.md instructions. (#1058) 8 năm trước cách đây
cpp bb045a5b90 Create process to build proto sources (#1704) 7 năm trước cách đây
nanopb e3531eb3c8 Always use the bytes type in nanopb instead of string (#1790) 7 năm trước cách đây
objc c21dc7cb39 Generate Objective-C and C++ protos via CMake (#1780) 7 năm trước cách đây
protos 13d5c9ebae Enable malloc support in nanopb and mark up dynamic fields (#1788) 7 năm trước cách đây
CMakeLists.txt 8e9f1781e6 Add a protoc plugin for nanopb (#1781) 7 năm trước cách đây
Podfile bde743ed25 Release 4.3.0 (#327) 8 năm trước cách đây
README.md c21dc7cb39 Generate Objective-C and C++ protos via CMake (#1780) 7 năm trước cách đây
build_protos.py f999fffbb6 fix common typo (#1833) 7 năm trước cách đây
nanopb_cpp_generator.py e3531eb3c8 Always use the bytes type in nanopb instead of string (#1790) 7 năm trước cách đây

README.md

Usage

First, make sure you have necessary prereqs for building:

brew install automake libtool protobuf

Take a nap while that completes. Then, build protobuf and nanopb:

cd firebase-ios-sdk
mkdir -p build
cd build
cmake ..
make -j protobuf nanopb

Next, build the protos:

cd firebase-ios-sdk/Firestore/Protos
./build_protos.py

Verify diffs, make sure tests still pass, and create a PR.

Script Details

Get the protoc and the gRPC plugin. See here. The easiest way I found was to add pod '!ProtoCompiler-gRPCPlugin' to a Podfile and do pod update.

After running the protoc, shell commands run to fix up the generated code:

  • Flatten import paths for CocoaPods library build.
  • Remove unneeded extensionRegistry functions.
  • Remove non-buildable code from Annotations.pbobjc.*.