2016-11-09 7 views
0

내 애플리케이션에 경고 대화 상자가 표시됩니다. iOS 10.1.1 및 iPhone 7 장치에서 실행됩니다. 대화 상자를 표시하기 전에보기 컨트롤러에 숨겨져있는 하나의보기를 표시해야하지만 iPhone 7에서는 텔레 프롬프 트에 대한 조치를 취할 때까지 표시되지 않습니다. 아래는 다른 iOS에서 잘 작동하는 코드입니다. 귀하의 도움을 주시면 감사하겠습니다.iOS에서보기를 표시하기 전에 Teleprompt 경고 대화 상자가 표시됩니다.

[callView setHidden:NO]; 
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:msg]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]]; 

답변

1

이것은 iPhone 7과 아무 관련이 없습니다. iOS 버전과 관련이 있습니다.

하나의 간단한 해결 방법은 openURL:으로 전화를 지연하여 코드에 callView의 숨김을 완료 할 수있는 기회를 제공하는 것입니다.

[callView setHidden:NO]; 
dispatch_async(dispatch_get_main_queue(), ^{ 
    NSString *phoneNumber = [@"telprompt://" stringByAppendingString:msg]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]]; 
}); 

또한 UIApplication openURL: 방법은 그것은 openURL:options:completionHandler:로 대체되었습니다 아이폰 OS (10)는 추천되지 않습니다 점에 유의해야한다. iOS 10에서이 새로운 방법을 사용하면 문제를 해결할 수 있습니다. 장치의 현재 iOS 버전에 따라 openURL:의 두 버전을 사용하는 방법에 대한 설명은 https://stackoverflow.com/a/39767062/1226963을 참조하십시오.

+0

주어진 스택 오버플로 링크로 인해 문제가 해결되었습니다. –