Ser*_*uss 1 xamarin.ios ipad root.plist settings.bundle ios6
我一直在尝试为我的应用程序设置设置,但即使我一遍又一遍地查看它并将其与书中的示例和Craig Dunn博客上的示例进行比较,我似乎无法使其正常工作.
我知道语法必须是完美的,这个文件非常简单,目前我只是想显示一个文本字段.我确实对一个全新的项目进行了简要的工作,但是从那时起我就没有设法让它工作.
这是我的Root.plist文件的XML:
<?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>Root</key>
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Title</key>
<string>Group Name</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>AutocapitalizationType</key>
<string>None</string>
<key>AutocorrectionType</key>
<string>No</string>
<key>Key</key>
<string>usernameTextField</string>
<key>Title</key>
<string>Username</string>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
</dict>
</array>
</dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
正如我所说,我已经看了很多次,我看不出任何问题.文件构建操作设置为"内容","复制到输出目录"设置为"始终复制".我正在使用的MonoTouch版本是6.0.7.
我对这个问题有任何帮助表示感谢.谢谢
确保Settings.bundle目录包含在项目的顶层.顶级,我的意思是在文件系统上,Settings.bundle目录应该与ProjectName.csproj文件位于同一目录中.在MonoDevelop中,它将显示为项目节点下的顶级文件夹之一.
将Root.plist构建操作设置为BundleResource(不要启用"复制到输出目录".提示:如果您发现自己设置了"复制到输出目录",请不要这样做 - 这几乎总是错误的 - 我们实际上已经讨论过完全删除该选项.)
现在,对于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>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Group Name</string>
</dict>
<dict>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
<key>Title</key>
<string>Username</string>
<key>AutocapitalizationType</key>
<string>None</string>
<key>AutocorrectionType</key>
<string>No</string>
<key>KeyboardType</key>
<string>Alphabet</string>
<key>IsSecure</key>
<false/>
<key>Key</key>
<string>usernameTextField</string>
<key>DefaultValue</key>
<string></string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
查看Root.plist文件,看起来PreferenceSpecifiers键不在顶级dict节点中(它需要).换一种说法:
摆脱文件顶部的以下行:
<dict>
<key>Root</key>
Run Code Online (Sandbox Code Playgroud)
...以及文件末尾的以下行之一:
</dict>
Run Code Online (Sandbox Code Playgroud)
应该这样做......
现在......所有这一切,我最近在试图将设置添加到我的个人项目时自己想出来并决定我们在Xamarin需要让这更容易.我已经在即将推出的MonoDevelop 3.1中解决了一些小问题,但我希望能够有时间将Settings.bundle的模板添加到MonoDevelop的"添加新文件"向导中.我还想添加plist键/值提示,就像我们为Info.plist和Entitlements.plist做的那样,这样MonoDevelop的plist编辑器可以在编辑这些plist文件时更好地指导你.
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |