2011-08-18 156 views
2

我剛剛將一個iPad應用程序移植到iPhone上,並且由於圖形和編程原因,它不適用於低分辨率顯示器(3G和3GS)。低分辨率設備啓動但圖形亂碼。iPhone應用程序僅支持Retina。蘋果會接受該應用程序嗎?

如果說明中明確指出它僅適用於iPhone 4和iPod Touch 4g,是否可以提交此類應用程序?

+0

出於好奇:什麼原因? – hanno

+1

座標。將圖形應用程序從iPad移植到iPhone4是非常簡單的,因爲顯示器尺寸相似。移植到低分辨率顯示器更加困難(因爲所有事情都需要縮放)。我寧願花時間在其他應用程序上。 – Karlth

+0

問「蘋果是否接受該應用程序?」是毫無意義的,因爲我們這裏沒有人可以爲蘋果公司擔保。 – glorifiedHacker

回答

8

雖然您無法按型號進行限制,但您可能需要某些硬件設備功能來支持您的應用。這些在使用「UIRequiredDeviceCapabilities」鍵的應用程序的plist文件中指定。

例如,如果你說你的應用需要一臺前置攝像頭,那將限制它到那些具有該功能的設備,從而消除3G和3GS。

+0

謝謝。我將使用前置攝像頭的要求。 – Karlth

+0

很好的解決! – Insider

0

他們應該。只要清楚地記錄要求。應用程序使用其他硬件差異,所以這不是一個限於視網膜顯示的問題。

例如,以視頻爲中心的應用程序在使用哪種硬件時也會受到限制。

1

您需要確保支持的設備(UIRequiredDeviceCapabilities)在您的Info.plist文件中指定爲適當的。這樣做,應用程序不會因這些理由而被拒絕。

+0

不幸的是,視網膜不是可以設置的要求。 – Karlth

+1

@user:您可以作弊並需要相機。這隻適用於iPhone/iPod Touch 4及更高版本。 – PengOne

1

是的,這是可能的。你將需要限制它硬件。例如,iPhone 4是帶前置攝像頭的唯一手機。所以你需要啓用它。

看在Info.plist中和UIRequiredDeviceCapabilities

UIRequiredDeviceCapabilities

<key>UIRequiredDeviceCapabilities</key> 
<array> 
<string>telephony</string> 
<string>gps</string> 
    <string>location-services</string> 
</array> 

會阻止它的,因爲同樣的原因在iPad上(沒有電話,可能沒有GPS)和iPod Touch運行。

您還需要添加該限制的前置攝像頭,以防止其舊款iPhone硬件

0

Retina顯示屏擁有4倍比普通iPhone更多的像素的前面,但屏幕尺寸保持不變。所以,如果你天真地在iPad上移植iPad應用程序,它將不會被使用,因爲所有元素都會比iPad上的小得多。視網膜只能讓他們更清晰,但不會更大。不要被iPhone模擬器欺騙。它與Mac屏幕上的100%縮放視網膜模式是無法比擬的真實的東西。

+0

我已經開發併發布了多個iPad和iPhone應用程序,所以我意識到模擬器和實際設備之間的差異。實際的問題是,從iPad移動到低分辨率iPhone時必須更改座標。如果避免將圖像放置在邊界附近,則移植到iPhone的座標可以保持不變。由於Retina分辨率,圖像不需要重新調整或重新繪製,因爲屏幕足夠清晰。 – Karlth

相關問題