settings bundle textfield not showing

Hi all,


I have an app with a settings bundle in the app store. It has always been working fine, but on iOS 13.2 2 of the textfields are blank instead of showing the default value. Also it is not possible to put the cursor in those fields to enter text. Any idea what is happening?


For testing purposes, I had xcode create a new test project (objective-c) and changed nothing except adding the following settings bundle. This very simple app shows the same issue for the textfields in group 5. Neither of the 3 textfields in the group are showing the default text and can't be edited.


I hope someone can help!

Thanks,

Jennifer

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>StringsTable</key>
  <string>Root</string>
  <key>PreferenceSpecifiers</key>
  <array>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 1</string>
  <key>FooterText</key>
  <string>a footnote goes here</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 1-1</string>
  <key>Key</key>
  <string>setting_1_1_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 1-2</string>
  <key>Key</key>
  <string>setting_1_2_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 1-3</string>
  <key>Key</key>
  <string>setting_1_3_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 2</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>Key</key>
  <string>g2_t1_preference</string>
  <key>DefaultValue</key>
  <string>group2 textfield 1</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 3</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 3 textfield 1</string>
  <key>Key</key>
  <string>g3_t1_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 3 textfield 2</string>
  <key>Key</key>
  <string>g3_t2_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 3 textfield 3</string>
  <key>Key</key>
  <string>g3_t3_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 3 textfield 4</string>
  <key>Key</key>
  <string>g3_t4_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 3 textfield 5</string>
  <key>Key</key>
  <string>g3_t5_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 4</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 4 textfield 1</string>
  <key>Key</key>
  <string>g4_t1_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 5</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 5 textfield 1</string>
  <key>Key</key>
  <string>g5_t1_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 5 textfield 2</string>
  <key>Key</key>
  <string>g5_t2_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 5 textfield 3</string>
  <key>Key</key>
  <string>g5_t3_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 6</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSTextFieldSpecifier</string>
  <key>DefaultValue</key>
  <string>group 6 textfield 1</string>
  <key>Key</key>
  <string>g6_t1_preference</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 7</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 7-1</string>
  <key>Key</key>
  <string>setting_7_1_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 8</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 8-1</string>
  <key>Key</key>
  <string>setting_8_1_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSGroupSpecifier</string>
  <key>Title</key>
  <string>Group 9</string>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 9-1</string>
  <key>Key</key>
  <string>setting_9_1_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 9-2</string>
  <key>Key</key>
  <string>setting_9_2_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 9-3</string>
  <key>Key</key>
  <string>setting_9_3_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 9-4</string>
  <key>Key</key>
  <string>setting_9_4_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  <dict>
  <key>Type</key>
  <string>PSToggleSwitchSpecifier</string>
  <key>Title</key>
  <string>setting 9-5</string>
  <key>Key</key>
  <string>setting_9_5_preference</string>
  <key>DefaultValue</key>
  <true/>
  </dict>
  </array>
</dict>
</plist>

Replies

I did the test, copying your Settings Bundle into an objc project.

XCode 11.2.ß2, simulator with iOS 13.2


I did not see any problem.


2 of the textfields are blank instead of showing the default value. Also it is not possible to put the cursor in those fields to enter text.


Which textFields ?


I see and can edit them all:

group 2 textField 1

group 3, textfields 1 to 5

group 4 textField 1

group 5 textField 1 to 3

group 6 textField 1


and all the toggle are here also and active.


EDITED

I made further tests and effectively now, 1 or 2 fields (not always the same) disappear ; and reappear after scrolling, but other may disappear.

Usually, they are the first that were not visible.

If I scroll to the bottom, they all reappear !?!


If I turn landscape, more fields disappear.


Seems a problem with loading of the tableView.


Should file a bug report.


In fact, there seem to be several problems with Settings:

https://forums.developer.apple.com/message/393263#393263

I filed a bug report for 'Settings View does not move upward for keyboard'

Nov 9, 2019 at 3:17 PM – FB7437204


EDITED (2)

I repeated the test, this time with a target iPhone 8 ios12.4


Bug never showed, nor in landscape.

And the other bug did not show either.


=> That sem to be an iOS 13 issue.

Thanks for doing some tests!


I tested on iPadOS 13.1 and it still worked on that version, So it seems 13.2 related.


I filed a bugreport.

There are other issues with settings, with keyboard not scrolling view.


https://forums.developer.apple.com/message/393263#393263


Could you post the bug report number, in case and don't forget to close the thread.