2013-03-26 17 views
5

Czy ktoś wie, jak obracać Symulator iOS (6.0 i wyżej)? Szukałem, ale niczego nie znalazłem.Jak obrócić symulator iOS za pomocą kodu?

Próbuję zrobić to za pomocą kodu (nie ręcznie), ale jeśli można to zrobić za pomocą skryptu, to musi być uruchamiany z kodu. Czy można to nawet zrobić? Potrzebna jest pewna rada.

+0

Skoro jest krótka ścieżka (strzałka Cmd +), nie możesz jej użyć? – Larme

+0

Celem jest przeprowadzenie testów ponad 2k, więc wolałbym rozwiązanie kodu. Ale po prostu nie mogę znaleźć niczego na ten temat. –

Odpowiedz

6

Dodaj wpis dla obsługiwanych kierunków interfejs do celu przeprowadzenia badań (lub cokolwiek celem jest właściwe) tak:

Target Settings

Dopóki tylko wpisy są te, Krajobraz, to będzie działać w trybie Krajobraz .

Edit:
Gdybym zrozumiał swój komentarz na temat badań i nie są uruchomione testy jednostkowe, to prawdopodobnie nie chcą ciągle się zmienia orientację główny cel. W takim przypadku możesz zduplikować swój główny cel i zmienić orientację.

Edytuj: Istnieje nieudokumentowana metoda wymuszenia obrotu w kodzie. Chociaż to zadziała w przypadku testów, może spowodować odrzucenie Twojej aplikacji, jeśli użyjesz jej w przesłanej aplikacji.

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

Dodaj tę kategorię tylko wtedy, gdy musisz skorzystać z tej metody.

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

Ale jak zmienić orientację symulatora za pomocą kodu? Szukam czegoś -> setSimulatorOrientationRight (a następnie symulator będzie skręcić w prawo lub w lewo itp ..) Po prostu potrzebuję czegoś do działania w taki sam sposób, jak naciśnięcie polecenia + arrowButton. Testy nie są testami jednostkowymi XCode; są niestandardowe. –

+0

Zobacz moją edycję. Jak już powiedziałem, najprawdopodobniej aplikacja zostanie odrzucona, jeśli użyjesz jej w kodzie produkcyjnym, ale do testów powinna wystarczyć. – Lance

+0

Właśnie tego potrzebowałem. Dzięki. pamiętaj, że nie każda aplikacja, którą zbudujesz, jest przeznaczona do sklepu z aplikacjami. Dzięki tysiącom aplikacji istnieją środowiska testowe zbudowane, aby pomieścić aplikacje, które ** w końcu dotrą do sklepu z aplikacjami. Ta aplikacja jest dla takiego środowiska. To nigdy nie będzie w sklepie. Dzięki za wszelką ostrożność :) –

0

Cóż, istnieje kilka kroków, które należy sprawdzić, aby wszystkie orientacje działały w iOS6. Nawet jeśli jedna z nich zniknie, nie zadziała.

  1. Jak mówi Lance, tak musisz ustawić obsługiwane orientacje dla iPhone'a lub iPada, w zależności od potrzeb.

  2. Napisz ten kod w kontrolerze, dla którego chcesz ustawić obrót.

    - (NSUInteger) supportedInterfaceOrientations { powrotne UIInterfaceOrientationMaskAll; }

    - (Bool) shouldAutorotate { powrotu TAK; }

Zmień UIInterfaceOrientationMaskAll w zależności od tego, co chcesz orientacjach.

  1. Jeśli używasz kontrolera nawigacyjnego w swoim projekcie, upewnij się, że ustawiłeś go poprawnie!

Nie powinno być uzyskiwanie ten błąd ... (oczekuje się, Aplikacje, aby mieć widok główny kontroler na końcu uruchomieniu aplikacji)

Zdobądź te kroki w prawo i obrót będzie pracować dla Ciebie.

+0

Sry, rozumiem, co mówisz. Jednak mój rodzaj testów jest zupełnie inny. Nie mam nawet dostępu do kodu, który będę testować :). Lance to zrozumiał, wystarczy, że obróciłem symulator za pomocą kodu. Jego rozwiązanie działa. –

Powiązane problemy