2015-04-01 61 views
4

我試圖使用爲Apache Cordova(CTP 3.0)創建一個支持64位的Ipa,但沒有成功。64位支持使用vs-mda-remote構建Ipa

看來vs-mda-remote代理只是通過Arm架構支持而構建的。
解壓IPA和檢查與文件命令二進制,返回以下結果:

Mach-O executable arm 

好奇的是,打開部署到MAC建設者機Xcode項目,通用架構的構建設置正確設置並構建和歸檔時,它會生成一個包含支持64位體系結構的二進制文件的Ipa。

你知道爲什麼會有這種差異嗎?
可能有一些參數vs-mda-remote在構建項目時設置爲命令行,覆蓋項目的構建設置?
可能是科爾多瓦的問題?

+0

自從v3.4.1以來,Cordova構建了64位支持。 vs-mda-remote只是做一個基本的cordova構建,所以你應該把arm,arm7v和arm64放在一個胖子中。您是否遇到設備或商店上傳問題? http://cordova.apache.org/announcements/2014/11/25/ios-64bit.html – 2015-04-17 16:47:23

+0

我發現在發佈模式下創建一個胖二進制文件,但不是在調試模式。它是否由設計? – systempuntoout 2015-04-17 18:18:41

+0

現在,科爾多瓦項目只在調試配置下構建「活動架構」,同時它爲所有版本構建。構建一個加快構建時間。這是否導致問題?這裏是項目文件:https://github.com/apache/cordova-ios/blob/master/CordovaLib/CordovaLib.xcodeproj/project.pbxproj – 2015-04-17 19:09:02

回答

4

Cordova自v3.4.1開始支持64位,所以Apache Cordova的每個Tools版本都有64位支持。 vs-mda-remote只是建立一個基本的cordova版本,所以你應該在發佈版本的時候將arm,arm7v和arm64放在一個fat fat中。

http://cordova.apache.org/announcements/2014/11/25/ios-64bit.html

然而,現在的科爾多瓦項目僅當它建立所有發佈版本的調試配置下的「主動的架構」。在調試過程中只建立一個加速生成時間。

如果你不喜歡這種調試行爲,你應該可以通過在關鍵字ONLY_ACTIVE_ARCH = NO中放置一個定製的build-debug.xcconfig在res/native/ios/cordova中來覆蓋它。

以下是原文:https://github.com/apache/cordova-ios/blob/master/bin/templates/scripts/cordova/build-debug.xcconfig