Memory leak created switching between different UITextField widgets with/without SecureTextEntry

Originator:Marco.Filosi
Number:rdar://01415049200022 Date Originated:
Status: Resolved:
Product:XCode 10.3 Product Version:iOS 12.4
Classification: Reproducible:yes
 
This memory leak is reproducible 100%.
XCode version: 10.3 (10G8)
iOS Simulator: iPhone 8 - iOS 12.4.

Steps to reproduce:
1. Create a new iOS "Single View App" project on XCode
2. Create a xib file containing just one UITextField. We called it "FormInputView.xib"
3. Create a swift class associated to this custom widget (FormInputView.swift)
4. Add 2 FormInputView inside the unique ViewController in Main.storyboard
5. Bind one FormInputView inside ViewController.swift file and call it "secureInputView"
6. In "viewDidLoad" method write this code: "secureInputView.inputTextField.isSecureTextEntry = true"
7. Profile it (Product -> Profile)
8. Enter into the first UITextField (0 memory leaks)
9. Enter into second UITextField (1 memory leak)
10. And if we go on to switch focus between the 2 UITextFields, new memory leaks will be created

Important things to note:
* UITextField must be wrapped into a custom widget to make memory leak happens
* It seems a memory leak generated in [UIKeyboardLayoutStar setKeyplaneName]

Comments


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!