嵌套设置页面在 iOS13 中崩溃

问题描述 投票:0回答:1

我使用 iOS 设置应用程序进行应用程序设置。但是,自从我的设备升级到 iOS13 后,点击应进入子设置窗格(外观、通知或 PDF 导出)的行之一会导致 iOS 设置应用程序崩溃,并且我的调试器中没有调试消息。

无论应用程序是在 Xcode 10 中编译的当前发行版本,还是在 Xcode 11 中新编译的,都会发生这种情况。

我有以下

root.plist
文件,其中包含三个子设置页面。我在这里将其显示为源代码而不是 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>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 找到任何相关信息。

ios plist ios13
1个回答
0
投票

此问题现已随着 iOS 13.1 的公开发布而得到解决。我不需要重新编译我的应用程序即可运行。

© www.soinside.com 2019 - 2024. All rights reserved.