2016-11-09 6 views
0

私のアプリケーションにはテルプロップアラートダイアログがあります。私はiOS 10.1.1とiPhone 7デバイスで動作しています。ダイアログを表示する前に、私はビューコントローラに隠れている1つのビューを表示する必要がありますが、iPhone 7ではテレプロンプトで何も操作しないと表示されません。以下は他のiOSでうまく動作しているコードです。あなたの助けに感謝します。iOSの表示を表示する前にテレプロンプトのアラートダイアログを表示

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

答えて

1

これはiOSのバージョンと関係がありません。

単純な解決策の1つは、openURL:への呼び出しを遅らせて、コードにcallViewの隠蔽を完了するチャンスを与えることです。

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

また、それはopenURL:options:completionHandler:に置き換えられているiOSの10のようUIApplication openURL:方法は推奨されていることに注意すべきです。 iOS 10では、この新しい方法を使用することで、問題を解決する別の方法があります。現在のiOSバージョンのデバイスに応じて、openURL:の両方のバージョンを使用する方法については、https://stackoverflow.com/a/39767062/1226963をご覧ください。

+0

ありがとうございました。私の問題は、指定されたスタックオーバーフローリンクによって解決されています。 –

関連する問題