Wir haben eine App, die ein an die Audiobuchse (oder Lightning-Port in iPhone7 oder später) angeschlossenes Zubehör verwendet. Sie muss in bestimmten Orientierungen ausgeführt werden iOS-Gerät.Die Ausrichtung der Schnittstelle kann nicht umgekehrt auf dem iPhone gedreht werden
Es gibt derzeit keine Probleme bei der Einstellung der Geräteausrichtung im Simulator oder im tatsächlichen Gerät für jedes iPhone, mit Ausnahme des iPhoneX-Simulators.
Aktueller Code zur Einstellung Orientierung:
- (BOOL)shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
//device checks omitted
return UIInterfaceOrientationMaskPortraitUpsideDown;
}
Target settings with orientations enabled
Stapelüberwachung:
TF uncaught exception reason : Supported orientations has no common orientation with the application, and [RootNavigationController shouldAutorotate] is returning YES
2017-10-05 09:35:02.692945+0200 [65045:74145368] *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and [RootNavigationController shouldAutorotate] is returning YES'
Dieses arbeitet an iPhone5, iPhone6, iPhone6 +, iPhone7 und iPhone7 + Geräte und iPhone8 Simulatoren. Es scheint auch kein iOS11-Problem zu sein, da mein iPhone7 derzeit iOS11 ausführt. Das einzige Gerät, mit dem ich momentan Probleme habe, ist der iPhoneX-Simulator.
Auf iOS 11.2 sollte autorotate nicht mehr aufgerufen werden. Der gesamte alte Rotationscode scheint veraltet zu sein: "Ab iOS 8 sind alle rotationsbezogenen Methoden veraltet" in der Dokumentation von UIViewController. Ich habe eine harte Zeit damit auch zu versuchen, Rotation auf dem iPhone X zu verhindern. – RickJansen