2013-08-22 3 views
4

Я пытаюсь построить пример AppRTCDemom от Google исходного кода WebRTC, я следующий файл ридми, но после попытки это „gclient runhooks“ я получаю:Как построить WebRTC с прошивкой Objective C

«KEY_ID gyp-переменная должна быть задана явно, потому что имеется несколько кодовых клавиш или нет.

Может кто-нибудь сказать, что случилось? что здесь отсутствует?

ТКС

ответ

3

Проблема заключается в том, если у вас есть более чем один ключ разработчика IOS. В строке 271 файла libjingle_examples.gyp над надписью находится эта заметка.

# Total HACK to give a more informative message when multiple 
# codesigning keys are present in the default keychain. Ideally 
# we could pick more intelligently among the keys, but as a 
# first cut just tell the developer to specify a key identity 
# explicitly. 

'key_id%': (security find-identity -p codesigning -v | grep "iPhone Developer" | awk \'{print $2}\') 

При выполнении команды непосредственно:

security find-identity -p codesigning -v | grep "iPhone Developer" | awk '{print $2}' 
555XXXX6DA325E6097E5301381XXXXXXD35D620E 
315XXXX6B19AD10A0F4567XXXX03B1BXXXXXXXXX 

Это список два Дев идентификаторов, который является проблемой, поэтому я редактировал libjingle_examples.gyp линию 271 и добавил | head -1, чтобы он возвращает только 1 ключ , в этом случае верхний или первый ключ. Я также дважды проверял в Xcode, чтобы верхний ключ был моим текущим.

Я работаю в этом пространстве в течение последних нескольких месяцев, а webrtc на iOS непросто. Чтобы решить эту проблему, я добавил репозиторий github с рабочим примером приложения iOS с помощью webrtc.

https://github.com/gandg/webrtc-ios

Сайт ссылается на код сайта Google, так что она должна быть полезной отправной точкой.

+0

все в порядке, tks – user1698738

5

Решение Gp-coder было только половиной исправления для меня. После внесения изменений он рекомендовал, я столкнулся с другой подобной ошибки в другом файле:

AssertionError: Multiple codesigning identities for identity: iPhone Developer

Это утверждение происходит в следующем файле:

WebRTC/багажник/инструменты/жульничество/pylib/жульничество/xcode_emulation .py

Странно, строка после утверждения примет первый идентификатор подписи кода в списке, так что решение было так же просто, как комментирование утверждения в строке 793. Это предполагает, что вы действительно хотите получить первый идентификатор подписи кода. Если нет, измените индекс, используемый в массиве результатов на линии 796, на все, что вам нужно.

Я получил writing a blog post с этими изменениями, а также несколько других, которые вам нужны, чтобы получить полную работу.

+1

В файле trunk/tools/gyp/pylib/gyp/xcode_emulation.py и в строках 832-833 прокомментируйте следующую строку: #assert identity not in cache or fingerprint == cache [identity] , ( # «Множественные коды для отпечатков пальцев для идентификации:% s»% identity) решает вашу проблему, jzn. Ссылка из http://ninjanetic.com/how-to-get-started-with-webrtc-and-ios-without-wasting-10-hours-of-your-life/ –

Смежные вопросы