2011-11-11 19 views
4

我面臨一個問題,我使用ios 5構建發佈版本應用程序, 雖然我上傳二進制應用程序到iTunes,但它報告錯誤如下:faild上傳由ios5構建的應用程序 - 涉及到UIRequiredDeviceCapabilities問題

「這包是無效的,在info.plist中的關鍵UIRequiredDeviceCapabilities不得含有會導致從......運行該應用價值」

我也googing這種類型的問題,我的回答是說我有從iTunes中刪除舊版本的應用程序(這將放棄舊的應用程序用戶和評級),並上傳新的應用程序到iTunes ...這種方式看起來是不好的解決方案,我想保留舊的應用程序用戶... anyo ne可以幫助達到這個目的嗎?非常感謝

+0

這個鏈接在你的錯誤信息語法錯誤提示,你有沒有從iTunes連接正確轉錄這...這也將是有幫助的,整個的錯誤信息,而不是你只能給出一半的結局......並且我認爲當你在你的問題中提及「iTunes」時,你指的是iTunes Connect? –

回答

2

我在一些在Xcode 4.2之前創建的項目中看到了這個問題,然後使用Xcode 4.2將二進制文件提交給應用商店。

您需要進入您的信息管理器並添加「必需的設備功能」鍵。這個鍵是一個數組,你需要兩個字符串項:「armv6」和「armv7」。

plist中源看起來是這樣的:

<key>UIRequiredDeviceCapabilities</key> 
<array> 
    <string>armv6</string> 
    <string>armv7</string> 
</array> 
+0

感謝您的回覆,我認爲應該是一個字典值,關鍵:armv6和armv7,值是YES, – iXcoder

+0

也將標準體系結構更改爲armv6,armv7 – iXcoder

+0

我更新了我的答案以包含示例。必需的設備功能是一個數組,您需要向其中添加兩個字符串項目。 – kcharwood

12

我有同樣的問題,我比較我的plist文件到舊的構建是工作的罰款和所需的設備能力行根本不存在。刪除這些值,以便該行不存在,並且應該照顧它。

6

是的,刪除必需的設備功能行是好的!

+0

適合我! –

+0

工作就像一個魅力! –

2

我們嘗試了上面列出的解決方案,並將armv6和armv7添加到我們的info.plist文件中。但是,當plist文件包含armv6和armv7 for UIRequiredDeviceCapabilities時,App store拒絕上傳我們的應用程序,因爲要求armv7會阻止應用程序在armv6設備上運行。上傳錯誤是:

「這包是無效的Info.plist中的關鍵UIRequiredDeviceCababilities可能不包含將防止對被以前的版本支持的設備上運行該應用價值

因此,要。 ARMv6的添加使用的Xcode 4.2我們的應用程序,我們必須做兩件事情:

1)僅有的ARMv6在Info.plist文件UIRequiredDeviceCapabilities, 2)設置的ARMv6和ARMv7在項目文件中的建築設置

+0

以上都不適合我,但是這個。謝謝。 – erkanyildiz

1

其原因是添加/更新需要DEVICECAPABILITIES在info plist中。

我遇到了這個問題,當時我嘗試使用XCODE 4.2提交使用XCODE 3.2提交的應用程序的更新,但沒有在info plist中添加REQUIREDDEVICECAPABILITIES。

我試着改變架構,添加/刪除REQUIREDDEVICECAPABILITIES等。

Atlast將部署目標更改爲4.3並運行。

爲了更清楚起見,4.3以下的部署目標需要armv6/armv7體系結構,XCODE 3.2並不要求XCODE 4.3要求用戶提及。