我有一個想要使環球應用程序可用的iPad應用程序,但這看起來非常困難。我已經改變了事物,以便支持這兩種構建,但是在構建時,我會遇到很多關於使用UIPopOvers的錯誤。這裏是我的問題:使iPad應用程序成爲通用應用程序
- 爲什麼
UI_USER_INTERFACE_IDIOM()
不能在3.1.3上編譯或註冊? - 我可以在基於
UI_USER_INTERFACE_IDIOM()
的類定義中有條件地具有變量嗎? - 如果不是,我應該製作兩個不同的視圖控制器嗎?
謝謝!
我有一個想要使環球應用程序可用的iPad應用程序,但這看起來非常困難。我已經改變了事物,以便支持這兩種構建,但是在構建時,我會遇到很多關於使用UIPopOvers的錯誤。這裏是我的問題:使iPad應用程序成爲通用應用程序
UI_USER_INTERFACE_IDIOM()
不能在3.1.3上編譯或註冊?UI_USER_INTERFACE_IDIOM()
的類定義中有條件地具有變量嗎?謝謝!
爲什麼UI_USER_INTERFACE_IDIOM()不是 在3.1.3上編譯或註冊?
UI_USER_INTERFACE_IDIOM
宏只適用於從3.2開始。 UIDevice的userInterfaceIdiom
財產的相同限制。這意味着您只能從SDK 3.2開始獲得通用應用程序。
我可以有條件地有基於 UI_USER_INTERFACE_IDIOM在 類定義變量()?
編號UI_USER_INTERFACE_IDIOM
宏只是一個運行時快捷鍵來獲取設備的當前UI習慣用法。
如果不是,我應該製造兩個不同的 視圖控制器嗎?
如果有兩個裝置之間非常不同的UI,這是明智使用UI_USER_INTERFACE_IDIOM
宏使用兩個不同的視圖控制器,並在運行時創建正確的(在例如應用控制器)。
我只是選擇了目標,然後進入項目 - >升級當前目標爲iPad運氣相當不錯。
我的應用程序是非常簡單的,包括大部分表視圖和網頁視圖,但它是值得做一個備份,並試圖...
是的,你必須將其提交爲3.2的應用程序,可以針對3.1。 *
還有很多其他的東西,你必須做的: 確保它可以在任何方向查看(第一次被拒絕)。 確保您已經創建了所有新圖像。你必須有3或4個圖標,而不僅僅是一個像iPhone應用程序所需的圖標。 (iPad圖標,iPhone圖標,聚光燈小圖標等)。 當然還有iPad大小的商店截圖。
我用來測試它是iPad還是iPhone的一個非常好的方法是檢查設備是否可以使用分屏視圖控制器,因爲對於可預見的未來,沒有像iPhone那樣小屏幕的設備將無法使用使用分割視圖控制器。我剛剛創建了一個功能爲我做到這一點:
+(BOOL)isIpad{ return NSClassFromString(@"UISplitViewController") != nil; }
然後在我的應用程序的任何地方,我想顯示的東西不同,這取決於設備,我只是做了檢查吧:
int width = 150;
if([NabAppDelegate isIpad]){
width = 350;
} else {
width = 150;
}
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5,10,width,25)];
這比檢查操作系統版本好很多,就像我見過的一些建議。
那麼,如果我想要一個通用應用程序,我是否爲3.2構建?我不明白,沒有iPhones或iPod觸摸可以運行3.2,所以我根本不能使用'UI_USER_INTERFACE_IDIOM()'。我應該爲3.2構建,並使用兩個手臂構建設置?如何在不運行3.2的設備上測試,如iPhone? 我似乎無法讓事情在3.1.3上編譯,因爲在該版本下UIPopoverController不被識別。 – 2010-06-02 07:08:31
是的,通用應用程序只能從3.2開始使用。目前,沒有股票iPhone運行SDK 3.2,但iPad做。 因此,開發通用應用程序意味着將基礎SDK設置爲3.2並將目標SDK設置爲3.1+。然後你必須執行運行時檢查以檢查是否有3.2類或函數可用。 我建議您閱讀描述如何製作通用應用的iPad編程指南(http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/StartingYourProject/StartingYourProject.html)。 – 2010-06-02 07:44:05
是的,你必須使用SDK 3.2編譯'UI_USER_INTERFACE_IDIOM()',但它在3.1和之前的版本。 – user102008 2011-03-12 00:39:23