2015-08-06 3 views
1

это исходит из iPhone приложения написано в скор:NSException: «Нагрузочное приложение из-за неперехваченное исключением„UIApplicationInvalidInterfaceOrientation“, причина:» ...

*** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', 
reason: 'Supported orientations has no common orientation with the application, 
and [UICompatibilityInputViewController shouldAutorotate] is returning YES 
*** First throw call stack: 
(0x1836984d0 0x198107f9c 0x183698418 0x188d7a1d0 0x188d833dc 0x188d83354  
0x188d81e3c 0x188cfe8fc 0x188cfdc0c 0x184581220 0x188cfda90 0x188d0ad08 
0x1895558e4 0x189556944 0x188d11af8 0x189556740 0x1895505d4 0x188dccd90 
0x18939b3dc 0x18939b5ec 0x18d43bb20 0x18d43bea0 0x18364fd6c 0x18364f800 
0x18364d500 0x18357d280 0x18e6f40cc 0x188d6adf8 0x100120d94 0x19894a8b8) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Я строит это приложение, которое требует телефона, который будет удерживаться «PortraitUpsideDown», так что задняя камера всегда находится внизу. Чтобы отразить это, мой Info.plist включает в себя:

<key>UISupportedInterfaceOrientations</key> 
    <array> 
     <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    </array> 

Это приложение является небольшим и имеет один контроллер вида, который включает в себя

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
     return UIInterfaceOrientationMask.PortraitUpsideDown 
} 

override func shouldAutorotate() -> Bool { 
    return false 
} 

приложение завершает несколько спонтанно. Я могу создавать и использовать приложение в течение различных промежутков времени, т. Е. Я не смог «вызвать» ошибку.

+0

содержит ли ваше приложение вид ввода текста, как редактировать? –

+0

Нет, просто интерфейс камеры очень похож на интерфейс SnapChat – sawyer

ответ

1

Ориентация определяется тремя файлами:

  1. Info.plist

  2. вид контроллера (ов)

  3. AppDelegate

Info.plist должен включать в себя

<key>UISupportedInterfaceOrientations</key> 
    <array> 
     <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    </array> 

ViewController.swift должен содержать

override func shouldAutorotate() -> Bool { 
     return false 
    } 
override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation { 
     return UIInterfaceOrientation.PortraitUpsideDown 
    } 

AppDelegate.swift должен содержать

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask.PortraitUpsideDown 
}