2016-01-29 79 views
1

我將引述蘋果文檔UIRequiredDeviceCapabilities其中規定:應用商店拒絕應用程序,因爲UIRequiredDeviceCapabilities關鍵

UIRequiredDeviceCapabilities(數組或詞典 - iOS設備),讓iTunes和App Store的知道哪些設備相關的功能的應用程序需要運行。 iTunes和移動應用程序商店使用此列表來阻止客戶在不支持列出功能的設備上安裝應用程序。

如果使用數組,則給定鍵的存在表示 對應的功能是必需的。如果您使用字典,則必須爲每個密鑰指定布爾值 。如果此密鑰的值爲 ,則該功能是必需的。如果密鑰的值爲false,則設備上不能存在 功能。在這兩種情況下,省略 鍵表示該功能不是必需的,但該應用程序是 能夠運行,如果您的應用是否僅編譯爲ARMv7的 指令的特點是存在

的ARMv7包含此鍵組。 最低IOS版本:iOS的3.1

位置的服務,如果您的應用程序需要(或 明確禁止)來檢索使用Core Location框架設備的當前 位置的能力包括此鍵。 (此鍵是指 大致位置服務功能,如果你特別需要GPS級 準確性,還應該包括GPS鍵。)最低IOS版本:iOS 3.0

apple doc link for UIRequiredDeviceCapabilities

我有一個關鍵的ARMv7在UIRequiredDeviceCapabilities陣列中的info.plist我所有的目標和最低IOS版本設置爲8.0支持的體系結構:ARMv7的,arm64所需功能:armv7,應用程序版本:1.0

現在,我使用coreLocation Services for google map來查找應用程序中地點的lat-long。我是否需要添加位置服務密鑰也會幫助。

我正在研究這個話題,但沒有找到答案。

回答

2

我的應用程序應該支持的有效體系結構存在一些混淆。首先,我刪除了alamofire xcode項目並添加了alamofire pod,這將plist數從5減少到2,這是減輕。

然後我改變了目標族從1,2到只有1,因爲我的應用程序只用於iphone。

已刪除有效i386硬件架構架構支持

如果你檢查你的項目,你會發現不同的地方來定義部署目標。在整個應用程序中分配相同的部署目標

2

我會說,你至少需要以下capabilites:

armv7arm64location-servicesgps

+0

我是否需要在測試目標中添加UIRequiredDeviceCapabilities和建議的鍵? –

+0

@ Mr.bean Yep;我會給它一個旋風。 – trojanfoe

+0

該應用程序再次遭到拒絕,並在添加arm64時顯示錯誤 –

相關問題