Интеграция YouTube Data API v3 iOS

Я пытаюсь интегрировать API данных YouTube v3 для iOS в свой проект. В конце концов, все, что я хочу сделать, это загрузить видео из всех экземпляров приложения на принадлежащий компании канал YouTube и получить URL-адрес, чтобы иметь возможность вставлять видео на веб-сайт. Я не могу понять, как интегрировать клиентскую библиотеку для iOS. Я получаю ошибки компиляции или проблемы с ARC, которые не могу решить. Файлы находятся здесь: https://code.google.com/p/google-api-objectivec-client/source/checkout


person horsejockey    schedule 23.09.2014    source источник


Ответы (3)


Короче вот что я сделал:

В свой проект я добавил GTLYouTube_Sources.m, GTLCommon_Sources.m и GTLNetworking_Sources.m. Убедитесь, что для этих трех файлов в разделе «Фазы сборки» -> «Компилировать исходные коды» установлен флаг компилятора «-fno-objc-arc». Это должно исправить ваши проблемы с ARC. Вам может потребоваться установить некоторые пути поиска в настройках сборки, если компилятор жалуется, что не может найти файл.

Надеюсь это поможет!

person Marco Tolman    schedule 29.09.2014

У меня были проблемы, но с помощью комбинации страницы Google + учебника YouTube я смог заставить все работать, я до сих пор не знаю, как искать, но вот мои заметки по этому вопросу:

Этот файл указывает правильное направление: https://code.google.com/p/google-api-objectivec-client/wiki/BuildingTheLibrary

Это видео лучше - https://www.youtube.com/watch?v=q7m3qCsQBEE

Согласно моему комментарию к видеопотоку - "

Я сделал это руководство и получил 9 ошибок компоновщика, ссылающихся на папку производных данных, и что «файл был создан для архива, который не является связываемой архитектурой (x86_64)», но в настройках сборки для проекта выбраны «Стандартные архитектуры» (armv7, рука64). Это использует Xcode 6, но я могу попробовать Xcode 5.1.1, если это необходимо (хотя я не думаю, что эта проблема уменьшится, поскольку он также поддерживает 64-битную архитектуру. Переходим в проект GTL и выбираем GTLTouchStaticLib и меняем архитектуру на to Standard удалили ошибки компоновщика, и сборка прошла успешно! "nofollow">https://www.dropbox.com/s/f6tc6t33r5k5021/Screenshot%202014-10-10%2012.08.00.png?dl=0”

Вызовы API могут по-прежнему иметь ошибку 401, несмотря на наличие ключа API из-за известной проблемы - https://code.google.com/p/gdata-issues/issues/detail?id=5770#makechanges, чтобы исправить это, удалите идентификатор пакета из консоли Google.

person Stuart P.    schedule 10.10.2014
comment
не могли бы вы построить для устройства? .. я могу работать на симуляторе, но получаю ошибку компоновщика для устройства @Stuart P. - person sujat; 26.12.2014


я даю обновленный ответ на этот вопрос. так что это может быть полезно для сообщества.
ПРИМЕЧАНИЕ: GTL преобразуется в GTLR. GoogleБиблиотека обновлена. я рекомендую использоватьcocoapods, потому что это будет просто.(по моему мнению) вот ссылка для этой миграции

1) создайте файл модуля для своего проекта. от pod init и pod install в вашем терминале. это создаст пустую установку pod. (игнорируйте, если вы уже сделали)

2) добавьте имя этой библиотеки pod в файл pod.
вот несколько услуги, которые могут быть полезны

pod 'GoogleAPIClientForREST'
pod 'GoogleAPIClientForREST/YouTube' //here '.../YouTube' is the service. you can use ".../Caledar' ,".../Translate" or which you want.
pod 'GTMAppAuth'

3) добавьте эти заголовки (я рекомендую создать префикс заголовка «.pch» для вашего проекта.)

#import <GTMAppAuth/GTMAppAuth.h>
#import <AppAuth/AppAuth.h>
#import "GTLRYouTube.h" //here you can change double quotation ("...") with (<...>) if this throws the error "library not found".

4) этот шаг не является обязательным.
выберите цель проекта и перейдите к build settings. и найдите OtherLinkerFlags и добавьте $(inherited)

ПРИМЕЧАНИЕ:- if you can use Firebase to use google's service it will be more easy.(i've tried it and it was simple than google developer console. this is my personal opinion.)

person Vatsal Shukla    schedule 20.07.2017