Я пытаюсь интегрировать API данных YouTube v3 для iOS в свой проект. В конце концов, все, что я хочу сделать, это загрузить видео из всех экземпляров приложения на принадлежащий компании канал YouTube и получить URL-адрес, чтобы иметь возможность вставлять видео на веб-сайт. Я не могу понять, как интегрировать клиентскую библиотеку для iOS. Я получаю ошибки компиляции или проблемы с ARC, которые не могу решить. Файлы находятся здесь: https://code.google.com/p/google-api-objectivec-client/source/checkout
Интеграция YouTube Data API v3 iOS
Ответы (3)
Короче вот что я сделал:
В свой проект я добавил GTLYouTube_Sources.m, GTLCommon_Sources.m и GTLNetworking_Sources.m. Убедитесь, что для этих трех файлов в разделе «Фазы сборки» -> «Компилировать исходные коды» установлен флаг компилятора «-fno-objc-arc». Это должно исправить ваши проблемы с ARC. Вам может потребоваться установить некоторые пути поиска в настройках сборки, если компилятор жалуется, что не может найти файл.
Надеюсь это поможет!
У меня были проблемы, но с помощью комбинации страницы 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.
я даю обновленный ответ на этот вопрос. так что это может быть полезно для сообщества.
ПРИМЕЧАНИЕ: 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.)