Settings.bundle - 将数据持久保存到设备的差异

时间:2016-06-26 20:53:40

标签: ios swift settings.bundle

我的应用中有一个Settings.bundle。在AppDelegate中我有:

let appInfo = NSBundle.mainBundle().infoDictionary! as Dictionary<String,AnyObject>
let shortVersionString = appInfo["CFBundleShortVersionString"] as! String
let bundleVersion = appInfo["CFBundleVersion"] as! String
let applicationVersion = shortVersionString + "." + bundleVersion
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(applicationVersion, forKey: "application_version")

在Root.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>PSGroupSpecifier</string>
            <key>Title</key>
            <string>About</string>
        </dict>
        <dict>
            <key>DefaultValue</key>
            <string>My Company Ltd</string>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
            <key>Title</key>
            <string>Copyright</string>
            <key>Key</key>
            <string>application_copyright</string>
        </dict>
        <dict>
            <key>DefaultValue</key>
            <string>0.0.0</string>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
            <key>Title</key>
            <string>Version</string>
            <key>Key</key>
            <string>application_version</string>
        </dict>
    </array>
</dict>
</plist>

我遇到的问题是数据在所有设备中都没有持久保存。在某些设备中,我会获得所有设置,包括用户位置,推送通知,应用版本,版权和约。在其他情况下,我只能获得用户启用的设置(例如,位置和推送通知)。

我不清楚为什么以及如何解决这个问题。

思想?

0 个答案:

没有答案