UIAlertController presentation delay

Number:rdar://19285091 Date Originated:12/17/2014
Status:Open Resolved:
Product:iOS SDK Product Version:8.1.2
Classification: Reproducible:Always
The presentation of UIAlertController is delayed if done repeatedly from tableView:didSelectRowAtIndexPath. The issue is not reproducible if the UIAlertController is presented by an action triggered by a UIButton.

Steps to Reproduce:
1 - Build and Run the sample project
2 - Tap on the first row of the tableView
3 - Dismiss the UIAlertController
4 - Repeat step 2 and 3 many times

Expected Results:
The UIAlertController should present fast

Actual Results:
The presentation is delayed after the first UIAlertController presentation.

iOS 8.0.2 & iOS 8.1.2 

As a workaround I use a dispatch_async(dispatch_get_main_queue(), ^{}); around the presentation code.

Sample project here: https://github.com/Tomusm/bugUIAlertController

iPad Air wifi 16 Go


continued issues as of iOS version 9.2 same workaround still works

The situation is amplified if retaining the UIAlertController and attempting to re-present it. First presentation works as it should, and immediately. Use completion block of UIAlertAction to dismiss UIAlertController. Try presenting UIAlertController again, only with a changed title and/or message. Screen grays out and locks up, nothing is ever presented.

workaround does not work in this situation.

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!