Skip to content

Commit ffb3955

Browse files
authored
Merge pull request cocos2d#20269 from Mee-gu/fixiOSCrash
fix crash due to iOS13 UIWindowScene
2 parents 8f57137 + d35a1de commit ffb3955

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

cocos/platform/ios/CCDevice-ios.mm

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -246,24 +246,34 @@ - (void)accelerometer:(CMAccelerometerData *)accelerometerData
246246
_acceleration->timestamp = accelerometerData.timestamp;
247247

248248
double tmp = _acceleration->x;
249-
250-
switch ([[[UIApplication sharedApplication].windows[0] windowScene] interfaceOrientation])
249+
UIInterfaceOrientation orientation;
250+
if (@available(iOS 13.0, *))
251+
{
252+
orientation = [[[UIApplication sharedApplication].windows[0] windowScene] interfaceOrientation];
253+
}
254+
else
255+
{
256+
// Fallback on earlier versions
257+
orientation = [[UIApplication sharedApplication] statusBarOrientation];
258+
}
259+
260+
switch (orientation)
251261
{
252262
case UIInterfaceOrientationLandscapeRight:
253263
_acceleration->x = -_acceleration->y;
254264
_acceleration->y = tmp;
255265
break;
256-
266+
257267
case UIInterfaceOrientationLandscapeLeft:
258268
_acceleration->x = _acceleration->y;
259269
_acceleration->y = -tmp;
260270
break;
261-
271+
262272
case UIInterfaceOrientationPortraitUpsideDown:
263273
_acceleration->x = -_acceleration->y;
264274
_acceleration->y = -tmp;
265275
break;
266-
276+
267277
case UIInterfaceOrientationPortrait:
268278
break;
269279
default:

0 commit comments

Comments
 (0)