2017-04-18 46 views
6

我試圖實現新的Facebook Audience Network iOS SDK v4.22.0,但是當我編譯項目我收到以下錯誤:Xcode 8.2.1 - 錯誤:無效的位代碼版本(生產者:'802.0.41.0_0'讀者:'800.0.42.1_0')

error: Invalid bitcode version (Producer: '802.0.41.0_0' Reader: '800.0.42.1_0') 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我也有這個錯誤跟iOS SDK v4.21.1,但不與v4.20.0。我正在使用Xcode 8.2.1和Objective-C,並且Build Settings中的位代碼選項設置爲No

enter image description here

這裏是Facebook的受衆網絡的changelog,但並沒有什麼這個問題相關:https://developers.facebook.com/docs/ios/change-log-4x

是否有其他人得到這個錯誤?你找到了解決方案嗎?

在此先感謝!

+1

更新你的Xcode,最新版本是8.3.1(8E1000a)。 –

+2

你說得對,iOS SDK需要Xcode 8.3+謝謝! –

回答

8

將XCode升級到8.3+將解決此問題。似乎框架是用更高版本的XCode構建的,即高於8.2.1。

禁用位代碼也可以解決這個問題。 但是,在上傳您的應用程序的AppStore,你可能會進入問題作爲構建是不是在你的項目中,由於優化位碼禁用

(參見位碼節中應用稀化https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

那麼好,升級您的XCode,而不是進入這些問題。

+1

其實禁用位碼不會解決它。 –

+0

您是否嘗試禁用位碼?因爲禁用了Bitcode,所以我能夠編譯。 另外,你的意思是升級XCode是在這種情況下唯一的選擇? 在此先感謝 –

+1

你是否真的問我,如果我禁用了一些東西,我剛纔說禁用它不起作用? ... 升級到xcode 8.3+是大多數人的唯一選擇 –

5

我們在Xcode 8.2.1中遇到了同樣的問題,事實證明對我們來說,它是由NewRelic版本5.12.3引起的。所以我們把它固定在版本5.12.2上,而這看起來並不需要Xcode 8.3+,但是很高興用8.2.1來構建(因爲我們不能升級Xcode)。

+0

你做了什麼來確定錯誤的框架? – amok

+0

有趣的是,這正是我的問題。 –