2012-10-02 38 views
11

我有一個設備是在cordova 1.8.1和xcode 4.4中設計的。我希望能夠以更新它在iPhone 5和iOS工作6.However甚至當我嘗試只運行該應用程序在xocde 4.5調試我收到此錯誤:新ios6架構錯誤:文件是通用的(3片),但不包含(n)arm7vs切片

file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/Shared/Cordova/Frameworks/Cordova.Framework/Cordova for architecture armv7s. 

我用Google搜索它,並試圖將該項目設置爲目標arm7vs,但它不起作用。誰能告訴我是什麼原因導致了這個錯誤?

我需要更新我的Cordova/PhoneGap版本嗎?

回答

41

iPhone 5的SoC有一個新的架構:armv7s。當你切換到Xcode 4.5時,你的項目的「有效架構」設置可能已經更新,以包括armv7s。問題是你的庫似乎還不支持它(它們不是爲armv7s構建的)。

你有三種選擇來解決這個問題: enter image description here

  • 設置「建設活動架構:

    • 從項目(目標) 「生成設置」/ 「有效架構」 刪除armv7s只有」設置爲YES:
      enter image description here

    • 更新靜態庫(如果他們有一個較新的版本w ^第i個armv7s支持)

    EDIT: For those who cannot find the Build Active Architecture Only option, make sure that the "All" filter button is active under Build Settings:

    enter image description here

  • +1

    如果我從項目中刪除armv7s,它不會工作在iPhone5的/ iOS6的會嗎? – Bohdi

    +1

    它會的! iPhone 3GS,4,4S和5以及所有iPad支持普通armv7。 armv7s有一些新功能/優化(與armv7版本相比,你可能會在iPhone 5上獲得更好的性能),但這不是強制性的。 –

    +1

    謝謝你,我現在明白了 – Bohdi

    相關問題