2013-03-26 108 views
5

有誰知道如何旋轉iOS模擬器(6.0及以上)?我已經搜索,但沒有發現任何東西。如何使用代碼旋轉iOS模擬器?

我想通過代碼(而不是手動)來做到這一點,但如果它可以通過腳本來完成,那麼它必須從代碼運行。這甚至可以完成?需要一些建議。

+0

由於ShortChut(Cmd +箭頭),你不能使用它? – Larme 2013-03-26 16:21:27

+0

目的是爲了運行2k以上的測試,所以我更喜歡代碼解決方案。但我似乎無法找到任何東西。 – 2013-03-26 16:25:35

回答

6

添加支持的接口方位的測試目標的項目(或任何目標是合適的)這樣的:

Target Settings

只要唯一條目是景觀的,它將在風景模式下運行。

編輯:
如果我誤解你對試驗的評論,你是不是運行單元測試,你可能不希望保留改變你的主要目標取向。在這種情況下,您可以複製您的主要目標並在那裏進行方向更改。

編輯:
有一個未公開的方法強制代碼中的旋轉。雖然這可以用於測試,但如果您在提交的應用程序中使用它,它可能會拒絕您的應用程序。

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight animated:YES]; 

只要您需要使用此方法,只需包含此類別即可。

@interface UIDevice (MethodsThatAppleWillHitMeWithTheBanStickForUsing) 
    -(void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated; 
    -(void)setOrientation:(UIInterfaceOrientation)orientation; 
@end 
+0

但是,如何通過代碼更改模擬器方向?我正在尋找類似於 - > setSimulatorOrientationRight(然後模擬器會右轉或左轉等)。我只需要按照命令+ arrowButton的方式執行相同的操作。測試不是XCode單元測試;他們是定製的。 – 2013-03-26 16:48:03

+0

看我的編輯。就像我說的,如果你在生產代碼中使用它,這很可能會使你的應用程序被拒絕,但是對於你的測試它應該足夠好。 – Lance 2013-03-26 17:21:07

+0

正是我需要的人。謝謝。請記住,並非所有構建的應用程序都打算前往應用商店。隨着成千上萬的應用程序,有測試環境,以適應應用程序,最終**將進入應用程序商店。這個應用程序適用於這樣的環境。它永遠不會在商店裏。感謝您的預防:) – 2013-03-26 17:51:46

0

那麼有幾個步驟,你必須檢查,使所有的方向工作在iOS6。即使他們中的一個失蹤了也不行。

  1. 正如蘭斯所說,是的,你必須爲iphone或ipad設置適當的方向。

  2. 將此代碼寫入您要爲其設置旋轉的控制器中。

    - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; }

    - (BOOL)shouldAutorotate { 返回YES; }

變化UIInterfaceOrientationMaskAll這取決於你想要什麼樣的方向。

  1. 如果您在項目中使用導航控制器,請確保正確設置!

你不應該得到這個錯誤...(應用程序預計將有在應用程序啓動的最後一個根視圖控制器)

獲取這些步驟的權利和旋轉會爲你工作。

+0

Sry,我明白你的意思。不過,我的這種測試完全不同。我甚至沒有訪問代碼即時通訊將測試:)。蘭斯得到了它,我只需要通過代碼旋轉模擬器。他的解決方案可行 – 2013-03-26 17:56:53