2011-08-27 72 views
3

如果不是,說一個iPhone 3G用戶下載優化的armv7應用程序會發生什麼?將優化(armv7)讓armv6硬件用戶無法從AppStore下載應用程序?

謝謝!

+0

我很好奇你說什麼時候你說優化。在什麼水平上,用什麼工具?如果(假設我真的不知道)這兩個版本有不同的數字或大小或寄存器名稱,它可能會破壞兼容性以優化該級別,但我確信指令集是向後兼容的。 – bdares

+0

優化後的(armv7)和標準的(armv6 armv7)是Xcode 4中的兩個選項。 – jestro

回答

0

如果您的應用程序僅針對armv7進行編譯,則該應用程序將不會在iPhone 3GS等armv6設備上運行。

你應該編譯您的應用程序爲Standard (armv6 armv7)。這樣它將在所有設備上運行,並且它仍將針對armv7設備進行優化。這意味着armv7設備將不會看到Standard (armv6 armv7)Optimized (armv7)之間的性能差異,而舊版本的armv6設備將能夠運行該應用。

+0

這是用fat進行的嗎?爲什麼它是一個選項,如果'標準'支持arm6,並且也爲arm7優化? – bdares

+0

這不回答我的問題。 – jestro

+0

當您使用'Optimized'構建時,唯一獲得'優化'的是文件大小。 – Greg

0

蘋果很可能會否決應用程序,如果你沒有相應的標記它(在Info.plist中)僅在第三代及以上的設備上運行,如果你只是建立了ARMv7架構。所以這個問題是沒有意義的,它應該是:

如何禁止在ARMv6設備上下載我的ARMv7應用程序以獲得我的應用程序批准?

他們這樣做,我認爲是指定您的應用程序需要OpenGL ES 2.0。

此圖像顯示您UIRequiredDeviceCapabilities在底部設置(opengles-2): enter image description here

該圖像是courtesy of this blogpost

相關問題