当我使用iOS 7模拟器时,
我的项目中的setting.bundle可以有效地工作.我通过切换开关更改应用设置,然后立即再次进入应用设置,值就像我刚才那样改变了.
但是当运行iOS 8模拟器时,我的自定义应用程序设置中的每个更改都不会被存储.
我尝试重启设备/重新安装应用程序.看来这个开关只在iOS 8模拟器中没有效果?
步骤:1切换开关,更改值并返回.
步骤:2相同
我被动地使用这个网站已经有一段时间了,并且阅读了常见问题解答,所以我希望我能够将这些保持在最低限度.
我在Objective-C中有关于Settings.bundle文件的问题.我一直在使用以下指南来实现其中一个:
我正在使用Xcode 4.1和最新的Xcode 3.我使用版本3来创建Settings.bundle及其plist,因为我发现Xcode 4的plist编辑器有点儿错误.
这些是我的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>Authentication</string>
</dict>
<dict>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
<key>Title</key>
<string>User ID</string>
<key>Key</key>
<string>user_id_key</string>
<key>DefaultValue</key>
<string>1234</string>
<key>IsSecure</key>
<false/>
<key>KeyboardType</key>
<string>Alphabet</string>
<key>AutocapitalizationType</key>
<string>None</string>
<key>AutocorrectionType</key>
<string>No</string>
</dict>
</array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
我可以毫无问题地访问iOS设置菜单中的设置,还可以更改我目前为止的单个条目的值.该值存储在iOS模拟器上的会话之间以及我的物理iOS设备(iPhone 4)上.
但我似乎无法从我的代码中访问此值.让我告诉你我是如何尝试实现它的(在我的应用程序的ViewController.m中):
- (void)viewDidLoad
{
[super viewDidLoad];
myDefaults = [NSUserDefaults standardUserDefaults];
// DEBUG
userID = [myDefaults stringForKey:@"user_id_key"];
// userID = [NSString stringWithString:@"1234"];
// …
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中有一个设置包..包含root.plist 现在我有一个包含复选框的屏幕..在按下复选框时我想更改plist中PSToggleSwitchSpecifier的DefaultValue键的BOOL值.由于它是在运行时完成的..我的问题是..可以在运行时更改文件,如果是的话......给出一个想法如何做到这一点?
这是plist:
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>DefaultValue</key>
<string></string>
<key>Key</key>
<string>Username</string>
<key>Title</key>
<string>Username</string>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<string></string>
<key>IsSecure</key>
<true/>
<key>Key</key>
<string>Password</string>
<key>Title</key>
<string>Password</string>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string> <-----toggleSwitch
<key>Title</key>
<string>Remember</string>
<key>Key</key>
<string>CheckBox</string>
<key>DefaultValue</key> <----- Default Value
<false/> <---- want to change this value
</dict>
</array>
<key>Title</key>
<string>Settings</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
提前谢谢你;)
我想给__CODE__
设置包的占位符(Root.plist)是否可能?
如果是的话.
如果没有,那么在iPhone中怎么可能?
解释我想要存档的最好方法是使用 Facebook iOS 应用截图:
单击该按钮会将用户直接重定向到 Facebook 应用程序(通知设置)。
我只能向根设置窗口添加一些开关和标签(通过使用 Settings.bundle。
那么如何将用户从我的应用通知设置重定向到我的应用?
在此先感谢您的帮助。
我在Root.plist中加入了一个儿童窗格,我遇到了很多麻烦.我在这里看到了同样的问题,但我无法用这些答案来解决.很抱歉重复类似的问题.
这是Root.plist的捕获:
这是Connection.plist的捕获:
我一步一步做的是:
1.-创建一个名为"Connection.plist"的新属性列表
2.-由于新的属性列表不在我的Settings.bundle中,我添加它就像我在这里看到的那样.(注意:我也试过没有第二步,我的意思是,使用Settings.bundle中的属性列表).
3.-编辑Root.plist,添加一个类型为"Child Pane"和Filename"Connection"的新项目.
这就是全部,我认为这些步骤应该有效,但我看不到新的属性列表.这就像Root.plist无法识别Connection.plist ...
我不知道我做错了什么,我已经关注了很多教程和视频教程......没有用......
非常感谢!!干杯,豪尔赫.
我一直在尝试为我的应用程序设置设置,但即使我一遍又一遍地查看它并将其与书中的示例和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.
我对这个问题有任何帮助表示感谢.谢谢
root.plist ×7
ios ×3
objective-c ×3
xcode ×2
info.plist ×1
ios6 ×1
ios8 ×1
ipad ×1
iphone ×1
placeholder ×1
plist ×1
swift ×1
uitextfield ×1
xamarin.ios ×1
xcode4 ×1