2016-10-29 19 views
4

由於更新到火力地堡崩潰經由的CocoaPods報告3.8.0,我看到建立用於調試模式下面的錯誤時。我能夠在沒有錯誤的情況下建立發佈模式。與調試未定義的符號建立在火力地堡/ CrashReporting

Undefined symbols for architecture armv7: 
    "_OBJC_CLASS_$_GTMLogNoFilter", referenced from: 
     objc-class-ref in FirebaseCrash(FCRSystemLogger_6532fb37dc095ffa73463b57baf5fca7.o) 
    "_OBJC_CLASS_$_GTMLogBasicFormatter", referenced from: 
     objc-class-ref in FirebaseCrash(FCRSystemLogger_6532fb37dc095ffa73463b57baf5fca7.o) 
    "_OBJC_CLASS_$_GTMLogger", referenced from: 
     objc-class-ref in FirebaseCrash(FCRSystemLogger_6532fb37dc095ffa73463b57baf5fca7.o) 
     objc-class-ref in FirebaseCrash(uploader_089041b840f448492d858d7daf481e47.o) 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

回答

5

時的XCode設置構建有源體系僅在調試模式設置爲NO發生這種情況。

一些Firebase SDK依賴從源代碼構建的窗格。默認情況下,的CocoaPods設置構建有源體系僅YES用於調試運行時,從源代碼構建的所有吊艙。這種不匹配會導致您提到的缺失符號。

有兩個選項來解決該問題:您 主體工程

  1. 開關構建有源體系僅YES調試。
  2. 設置你的豆莢構建有源體系僅NO而在調試(從這個post拍攝):

    post_install do |installer_representation| 
        installer_representation.pods_project.targets.each do |target| 
        target.build_configurations.each do |config| 
         config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' 
        end 
        end 
    end 
    
+0

我應該在哪裏添加莢建設活動體系結構只爲NO,在Podfile中? –

+1

這是正確的,在你的Podfile中 –