2013-08-22 30 views
4

我試圖建立從谷歌的WebRTC源代碼AppRTCDemom例如,我在下面的自述文件,但嘗試這種‘gclient runhooks’後,我得到:如何建立的WebRTC與iOS目標C

「KEY_ID gyp變量需要明確設置,因爲有多個密碼鍵或無「

有人可以說什麼發生?這裏缺少什麼?

tks

回答

3

問題是如果您有多個iOS開發人員密鑰。在libjingle_examples.gyp文件行271中,這條註釋位於違規行的上方。

# 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 

它列表中的兩個開發IDS,這是問題,所以我編輯libjingle_examples.gyp第271行,並添加| head -1有它只有返回1個鍵,在這種情況下,頂部或第一個鍵。我還加倍檢查了Xcode,以確保頂部鍵是我目前的鍵。

我在過去的幾個月裏一直在這個領域工作,而iOS上的webrtc並不容易。爲了幫助解決這個問題,我使用webrtc添加了一個iOS應用程序工作示例的github回購。

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

該網站引用了谷歌代碼網站一樣,所以它應該是一個有益的起點。

+0

all right then,tks – user1698738

5

Gp編碼器的解決方案只有我的一半。讓他推薦的變化後,我遇到了另一個類似的錯誤在另一個文件:

AssertionError: Multiple codesigning identities for identity: iPhone Developer

這種說法在以下文件中出現:

的WebRTC /主幹/工具/ GYP/pylib/GYP/xcode_emulation .py

奇怪的是,斷言之後的行將採用列表中的第一個代碼簽名標識,因此解決方案非常簡單,只需註釋793行中的斷言即可。假設您實際上需要第一個代碼簽名標識。如果不是,請將第796行結果數組上使用的索引更改爲所需的任何內容。

我結束了writing a blog post與這些更改以及其他一些你需要得到完整的構建工作。

+1

在文件trunk/tools/gyp/pylib/gyp/xcode_emulation.py和第832-833行註釋如下行: #assert身份不在緩存或指紋中== cache [identity] ,( #「Multiple codesigning fingerprints for identity:%s」%identity)將解決你的問題,jzn。參考http://ninjanetic.com/how-to-get-started-with-webrtc-and-ios-without-wasting-10-hours-of-your-life/ –