2016-11-17 34 views
1

我正在嘗試將GVRSDK添加到我的iOS應用程序,但只要我添加它,鏈接錯誤就會出現在GVRSDK和GTMSessionFetcher之間,在另一個應用程序中用於我的應用程序之間的多個副本。 我無法刪除GTMSessionFetcher,因爲其他一些Pod正在使用它,我無法從libCardboardSDK.a中刪除它的引用。CardboardSDK和GTMSessionFetcher之間的重複符號,是否有解決這個問題的方法?

+0

您能否顯示您的PodFile並指出導致此問題的兩個吊艙?不要在他們的pod規範中指定他們對該供應商庫的依賴嗎? – Larme

+0

這是我PodFile 莢 'AFNetworking', '〜> 3.0' 莢 '幔HAL', '〜> 1.1' 莢 '谷歌/簽到' 莢 'ICViewPager' 莢 'IDMPhotoBrowser' 莢「TwitterKit ' pod'TwitterCore' pod'YSLTransitionAnimator' pod'GVRSDK' 主要是「Google/SignIn」和「GVRSDK」是相沖突的。 –

回答

0

您是否擁有.a的項目/資源?你能否確保他們使用@rpath作爲他們的安裝名稱,併爲所有這些名稱正確設置@rpath?然後,您可以確保它們都在例如它們的.dylib/.framework依賴關係中查找。 MyApp.app/Contents/Frameworks/,然後在那裏只放一個GTMSessionFetcher框架的副本,並讓所有其他鏈接指向該框架。

如果您參考的項目已根據Apple的指導準則正確設置,那應該只是表示您在主應用程序中設置了@rpath,它應該都會自行解決,IIRC(自從我們這麼做以來已經有一段時間了)而我們並沒有使用CocoaPods,所以不確定這是否會阻止它工作)。

+0

從我的理解@rpath僅適用於Mac開發,不適用於iOS。 在我的應用中,兩個衝突的豆莢是「Google/SignIn」和「GVRSDK」。 –

+0

啊。它沒有說這是關於iOS的,對不起。 – uliwitness