本文介绍了嵌套设置页面在iOS13中崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将iOS设置应用用于我的应用设置.但是,由于将设备升级到iOS13,因此点击应该会导致子设置窗格(外观,通知或PDF导出)的行之一会导致iOS设置应用崩溃,但调试器中没有调试消息.

I use the iOS settings app for my app settings. However, since upgrading my device to iOS13, tapping on one of the rows that should lead to a child settings pane (Appearance, Notifications or PDF Export) causes the iOS settings app to crash, with no debug message in my debugger.

无论应用程序是XCode10中编译的当前发行版还是XCode11中新编译的版本,这种情况都会发生.

This happens regardless of whether the app is the current release version compiled in XCode10, or newly compiled in XCode11.

我有以下root.plist文件,其中包含三个子设置页面.我将其显示为源而不是此处的plist.

I have the following root.plist file, which contains three child settings pages. I have displayed it as source rather than a plist here.

<?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>PSChildPaneSpecifier</string>
            <key>Title</key>
            <string>Appearance</string>
            <key>File</key>
            <string>Appearance</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSChildPaneSpecifier</string>
            <key>Title</key>
            <string>Notifications</string>
            <key>File</key>
            <string>Notifications</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSChildPaneSpecifier</string>
            <key>Title</key>
            <string>PDF Export</string>
            <key>File</key>
            <string>Export</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSGroupSpecifier</string>
            <key>Title</key>
            <string>Welcome Sequence</string>
            <key>FooterText</key>
            <string>Select to view the welcome sequence when you switch back to the app.</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSToggleSwitchSpecifier</string>
            <key>Title</key>
            <string>Reset welcome sequence</string>
            <key>Key</key>
            <string>resetWelcome</string>
            <key>DefaultValue</key>
            <false/>
        </dict>
    </array>
</dict>
</plist>

这是子页面Appearance.plist的示例:

<?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>Appearance</string>
    <key>Title</key>
    <string>Appearance</string>
    <key>PreferenceSpecifiers</key>
    <array>
        <dict>
            <key>Type</key>
            <string>PSGroupSpecifier</string>
            <key>Title</key>
            <string>Main Title</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
            <key>Title</key>
            <string>Main Title</string>
            <key>Key</key>
            <string>mainTitle</string>
            <key>DefaultValue</key>
            <string>My Data</string>
            <key>KeyboardType</key>
            <string>Alphabet</string>
        </dict>
        // Other dictionaries omitted for brevity
    </array>
</dict>
</plist>

我不知道为什么它可以在iOS12中工作,但不能在iOS13中工作,而且我无法从Apple上找到任何信息.

I have no idea why this worked in iOS12 but not in iOS13 and I cannot find any information on this from Apple.

推荐答案

此问题已在iOS 13.1的公共发行版中得到解决.我不需要重新编译我的应用程序就可以正常工作.

This issue is now resolved with the public release of iOS 13.1. I did not need to recompile my app for it to work.

这篇关于嵌套设置页面在iOS13中崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 07:43