Как запустить проект с библиотекой Gdata - PullRequest
1 голос
/ 15 августа 2011

Я использую инфраструктуру gdata и хочу создать приложение youtube с библиотекой GDataYoutube. Я делаю проект с перекрестными ссылками проекта Gdata, но теперь у меня есть проблема с опцией в xcode 4 -> product -> archive. Когда я создаю свое приложение, я получаю эту ошибку: «Флаг компилятора заполнителя службы должен быть заменен фактическими спецификациями службы»

#if !DEBUG
  #if GDATA_INCLUDE_nameServiceHere_SERVICE && !GDATA_SUPPRESS_INCLUDE_WARNING
    #error The service placeholder compiler flag should be replaced by actual service specifications
  #endif
#endif

Спасибо за любую помощь!

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

gdata - это монолитная библиотека, а версия target-c позволяет вам использовать механизм препроцессора для связи служб, которые вам не интересны. Похоже, это должна быть удобная функция, но автор решил сделать ее обязательной , Это, вероятно, к лучшему: используя его 4MB с отстраненным блеском из моего двоичного файла.

например. скажем, вы хотите использовать только API YouTube на iOS, откройте проект GData, продублируйте цель libGDataTouchStaticLib.a, а затем добавьте

-DGDATA_REQUIRE_SERVICE_INCLUDES=1
-DGDATA_INCLUDE_YOUTUBE_SERVICE=1

Настройки сборки> Другие флаги C

Это исправит вашу проблему со сборкой и даст вам более простое приложение. Бонус!

1 голос
/ 13 октября 2011

Кроме того, если вам нужно использовать НЕСКОЛЬКО (или все) модули в GData, вам просто нужно установить требуемые сервисы на 0

-DGDATA_REQUIRE_SERVICE_INCLUDES=0

Каждый раз, когда вы устанавливаете его на 1, он ожидает спецификацииМодуль, который вы хотите использовать (в вашем случае, YouTube), поэтому он будет выглядеть примерно так:

-DGDATA_REQUIRE_SERVICE_INCLUDES=1
-DGDATA_INCLUDE_YOUTUBE_SERVICE=1

Вот скриншот того, где вы должны установить их: http://i.imgur.com/RN7Ot.png

...