Цель:
Я ищу способ реализовать буферы протокола (google) в iphone-приложении, используя xcode в качестве моей IDE. https://code.google.com/p/protobuf/Как скомпилировать минималистичную библиотеку протоколов-протоколов cpp для iphone?
фона:
только C++, Java, Python поддерживает Google напрямую.
Разработка для стороннего проекта в ObjC, кажется, остановлена несколько лет назад. https://code.google.com/p/protobuf-objc/
При поиске протокольных буферов и Iphone я обычно две ссылки на два сторонних проектов в C#:
один Марк Gravell: https://code.google.com/p/protobuf-net/
и один Джонатан тарелочкам: https://code.google.com/p/protobuf-csharp-port/
(я не уверен, если или как они должны быть использованы с Xcode и отправил вопрос об этом: https://stackoverflow.com/questions/25524852/can-i-use-protobuf-net-or-protobuf-csharp-port-with-xcode)
Ситуация:
Еще один интересный подход для iphone dev от Bennett Smith - «просто» с использованием источника C++ Google https://gist.github.com/BennettSmith/7150245). Скрипт (btw awesome!) Работает очень хорошо и создает две библиотеки: обычную и удобную.
Что меня интересует размер этих библиотек (файлы .a). В том числе все сборки (x86_64_mac, i386_ios_sim, armv7, armv7s, arm64) размер обычной библиотеки близок к 89 МБ, а размер жизненной библиотеки по-прежнему превышает 8 МБ.
Вопросы:
1.) Почему файлы, большой? Насколько мне известно, библиотеки библиотек для андроидной реализации protobuf ближе к 100 КБ, а библиотека для iphone от Марка Гравелла (см. Выше) также ближе к 100 КБ.
Я попытался уменьшить размер, не включая x86_64_mac и i386_ios_sim (установка для элементов управления в сценарии равным 0), но сценарий заканчивается ошибкой, не оставляющей никаких файлов. (Когда удаляется только i386_ios_sim, он работает, но уменьшает размер до 6-7 МБ.) 2.) Кто-нибудь знает, как настроить скрипт для включения только iphone-builds?
3.) Как я мог как можно больше уменьшить размер такой библиотеки C++ (или, по крайней мере, разумно)? Есть ли предложения о том, как удалить файлы cpp google в «минималистичную» сборку и скомпилировать библиотеку? До сих пор я нашел только ссылку, которая предлагала отказаться от компилятора и файлов unittest. (http://rxwen.blogspot.de/2011/11/use-protobuf-on-iphone-app.html), но, к сожалению, я еще не видел дискуссий об актуальности других файлов.
4.) (Бонус :) При использовании этой библиотеки C++ мне придется использовать объект-оболочку. Хотя я нашел общие статьи об этом в сети, кто-нибудь знает о решении для протобуфов, на которые я мог бы взглянуть?
Спасибо очень много - я, конечно, взглянуть на него. – McMini