我确信每个可可触摸程序员都必须面对这个问题:我知道Apple希望每个应用程序都将他们的设置放在"设置"应用程序中.但就定制而言,它提供的内容非常有限.此外,最好在应用程序中放置一些设置,因为它们经常更改.
在这种情况下,开发人员必须在自己的应用程序中实现设置管理.重要的是,重新实现所有基本的东西,可以通过简单的plist在Settings应用程序中轻松管理.是否有某种框架/库已经被创建以简化事情,也许可以将类似的plist作为输入?
一般来说,如何在app-settings中实现?你每次都覆盖UITableViewControllers吗?
我正在开发一个通用的iOS应用程序,但是一些用户设置在iPad上没那么明显.
我可以在iPad上指定单独的Settings.bundle或Root.plist吗?
我已经创建了一个带有设置包的应用程序,并且可以更改应用程序配置。从设置包读取完成。我正在使用下面的代码。
let defs: NSUserDefaults = NSUserDefaults.standardUserDefaults()
defs.synchronize()
var settingsBundle: NSString = NSBundle.mainBundle().pathForResource("Settings", ofType: "bundle")!
if(settingsBundle.containsString("")){
NSLog("Could not find Settings.bundle");
return;
}
var settings: NSDictionary = NSDictionary(contentsOfFile: settingsBundle.stringByAppendingPathComponent("Root.plist"))!
var preferences: NSArray = settings.objectForKey("PreferenceSpecifiers") as! NSArray
var defaultsToRegister: NSMutableDictionary = NSMutableDictionary(capacity: preferences.count)
for prefSpecification in preferences {
if (prefSpecification.objectForKey("Key") != nil) {
let key: NSString = prefSpecification.objectForKey("Key")! as! NSString
if !key.containsString("") {
let currentObject: AnyObject? = defs.objectForKey(key as! String)
if currentObject == nil {
// not readable: set value from Settings.bundle
let …Run Code Online (Sandbox Code Playgroud)