2014-11-20 4 views
4

iOS 7과 8에서 실행해야하는 앱을 개발 중입니다. 가능하다면 UIAlertController를 사용하고 싶습니다. UIAlertView로 돌아 가지 않으면 UIAlertController를 사용하고 싶습니다.UIAlertController/UIAlertView에 대한 iOS/Swift 테스트

이 있지만 때 릴리스 모드에서 (또는 악기와 디버그 모드를 실행) 디버그 모드에서, iOS8의 시뮬레이터에서 작동하도록 나타납니다
let gotUIAlertController:AnyClass? = NSClassFromString("UIAlertController") 
    if(gotUIAlertController != nil) 
    { 
     // Do UIAlertController 
    } 
    else 
    { 
     // DO UIAlertView 
    } 

, gotUIAlertController가 nil이 아니므로 UIAlertController은 다음과 같습니다

나는이 테스트를 사용 선물하려고하고 응용 프로그램이 충돌합니다. 배포 대상이 7.1이고 기본 SDK가 8.1로 설정되었습니다.

이 코드가 iOS7.1에서 이와 같은 방식으로 실행되는 이유에 대해 누구에게도 깨달을 수 있습니까?

답변

3

나는 이유는 모르겠지만, 내가 찾은 해결 방법은 다음과 같습니다

let gotUIAlertController: AnyObject? = objc_getClass("UIAlertController".UTF8String) 
if(gotUIAlertController != nil) { 
    // Do UIAlertController 
} 
else { 
    // DO UIAlertView 
} 
+0

감사합니다. 시간 제약으로 인해 시스템 장치 정보를 얻고> = 8.0을 확인했습니다.이 작업은 꽤 좋지는 않지만 (현재로서는) 작업을 수행합니다. 나는 더 많은 자료에서 당신에게 방법을 활용할 것이다. 조언 해 주셔서 감사합니다. – Fittoburst