UIPopoverController iOS 7 - Memory abandoned

Originator:lange.dustin
Number:rdar://15154092 Date Originated:04-Oct-2013 02:32 PM
Status:Closed Resolved:21-Aug-2014 12:14 PM
Product:iOS SDK Product Version:iOS 7 or later
Classification:Bug Reproducible:Always
 
Summary:
When presenting an instance of a UIPopoverController more than once from a subview, the presenting button does not get deallocated.  This only happens when running on iOS 7.0 or later.

Steps to Reproduce:
Using the Allocations tool in Instruments, I was able to reproduce this issue and will provide a sample Xcode project with instructions.

1. Add a subview which contains a UIButton (this button presents a UIPopoverController).
2. Select the button to present the popover.
3. Dismiss the popover and remove the subview.
4. Using the Allocations tool in Instruments, observe that UIButton gets deallocated.
5. Add the subview for a second time.
6. Select the button to present the popover.
7. Now dismiss it and present the popover for a second time.
8. Now remove the subview again.
9. Observe that the UIButton does not get deallocated.

Expected Results:
The button which invoked the presentation of the UIPopoverController should be deallocated after its subview has been released from memory.

Actual Results:
The button which invoked the presentation of the UIPopoverController was NOT deallocated and remains in memory.

Version:
iOS 7 or later

Notes:


Configuration:
This occurs on iOS 7.0 or later; Simulator and all versions of iPad
This does NOT occur on iOS 6

Attachments:
'PopoverTest.zip' was successfully uploaded.

Comments

This issue has been verified as resolved and can be closed. Fixed in iOS 8.

By lange.dustin at Aug. 21, 2014, 4:15 p.m. (reply...)

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!