2014-01-16 30 views
1

我需要在iOS 6iOS 7上測試我的應用程序。以下是我迄今爲止所做的:我已經在iOS 7上開發了一個應用程序,但我也需要支持iOS 6。在iOS6和iOS 7上測試應用程序 - 更新

但是,因爲我需要按照iOS 6iOS 7稍微不同的佈局,我爲兩者製作單獨的xib。我已經測試了iOS 7的應用程序,現在我需要爲iOS 6做。

我已經下載了iOS 6 simulator已經。請注意,我沒有真正的iOS 6設備,我只有iOS 7設備。現在請告訴我如何在iOS 6上測試它,以及如何以編程方式檢測我的手機正在運行哪個iOS version

在代碼中,我需要檢查設備正在使用的iOS的版本,然後相應地加載xibs

這是我用來做到這一點的代碼。

float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue]; 

    if (sysVer >= 7.0) 
    { 
     NSLog(@"this is ios 7"); 
    } 

    else 
    { 
     NSLog(@"this is ios 6"); 
    } 

我目前正在測試它在我的iPhone 5在其上有iOS 7

所以,我測試了iOS 7我的應用程序,但iOS 6測試它時(通過選擇「deployment target」作爲target settingsiOS 6project settings),我依然在控制檯上看到 - this is ios 7

但是,鍵盤的外觀是iOS6-like .. !!

這是怎麼發生的?爲什麼我無法檢查iOS版本?

+0

那麼,如果你正在使用iOS 7的設備或模擬器上運行當然它仍然會顯示爲iOS7。開始使用iOS 6設備或模擬器。 – Popeye

+0

如果您使用iOS7 SDK(Xcode 5)進行編譯,那麼您的應用將自動擁有和iOS7類似的iOS7鍵盤。 但鍵盤哈哈無關你的if語句,這是正確的 – Laszlo

回答

1

部署目標和系統版本不一樣。

基本上,您正在iOS 7模擬器上運行鍼對iOS 6編譯的應用程序。這就是爲什麼它報告的一個版本7,並通過在Xcode中左上方從目標下拉菜單中選擇它使用的iOS 6的你需要在模擬的iOS 6上運行你的應用程序的風格

enter image description here

(也許你還沒有下載iOS 6的模擬器,首先檢查Xcode首選項)。

或者更好的是,在實際的iOS 6設備上。

無論如何,如果你打算使用機iOS 7的樣子在iOS 7的設備,從來沒有降低部署目標爲6保持在7

+0

我已經下載了iOS 6模擬器。我沒有在模擬器上運行應用程序,我在iPhone 5上運行它。我沒有iOS 6設備。 – Shradha

+0

然後你在iOS 7上運行,並且只編譯你的應用程序到iOS 6。難怪它顯示了iOS 6鍵盤,這是蘋果爲了向上兼容而推出的預期行爲。您需要做相反的事情:使用iOS 7的部署目標編譯您的應用程序,並在真實的iOS 6設備或模擬器上對其進行測試。 – Cyrille

+0

好吧..我會試試這個,然後回覆你.. – Shradha

相關問題