Define Settings programmatically - iphone

Is it possible to define the Root.plist in the Settings.bundle programmatically?
In the Settings – Mail, Contacts, Calendars, I can see all my accounts. I would like to do something similar, by having a number of user accounts being saved in the settings. From what I read so far, it looks like it isn’t possible, but I would like to be sure. Please note that I’m not looking to have a “Add Account” feature in the settings, just a listing of several accounts (number of accounts variable).

It's not possible for anyone other than Apple. Third party developers have no way of programmatically changing the Settings bundle.

Related

How does one enable an app's data to be added to users' default sections?

At https://developers.facebook.com/docs/opengraph/guides/collections/#datatodefaultsections it says:
There's a way to suggest people add your app's data to their section
directly. It's best described with an example. If you were rdio, you
could suggest adding rdio's music.listens data to the music section
like this:
https://www.facebook.com/me/music?rdiomusic
/me is the special shortcut that refers to the person, music is the
special section for music and the rdiomusic is rdio's app namespace.
(The app namespace can be found in the Basic tab of your app's
dashboard settings.)
This functionality does not appear to be turned on or available for all developers. When attempting to do the above URL structure with my own app and a section (movies, music, books), there was no opportunity to add it to those sections as described.
Why not? Is this functionality not yet live / available to all?

Is it possible to provide additional info about my app to the system search?

There's a system search in iOS that allows users to search though the whole device by searching entered keyword for app names, mail messages, calendar and etc. Is it possible to provide some additional information (content info) about my app to system search? We are developing some rich-graphic-content app and there are various objects there.
The customer asked us, is it possible to implement such use case: a user enters the name of some object and system search finds that object and shows our app name in the result list :) Maybe it's possible to create some "sitemap" with information about the app content, to put that somewhere into plist and to ask system search to use that for search index. I'm pretty sure it's impossible, just want to be 100% sure :)
UPDATE: One thought on that - maybe system search also uses app description text from itunes? If so then we could place additional information there and to workaround that :)
For static keywords (that are pre-defined when building the app), you can do this: How to get an iPhone app to appear in Spotlight with a query that doesn't exactly match
Unfortunately, there doesn't seem to be any way to add keywords dynamically, e.g. for the objects/files created with your app, like the Apple-provided apps do. Hopefully, the ability to add your app's contents to Spotlight will be added in a future version of iOS (7+).

iPhone Settings Menu - creating a list that allows user to add, edit and delete items

I am looking to create a settings menu feature that allows users to add, edit and remove items from a list. In adding an item to the list, the user will then be prompted to add some further sub-data such as name, value etc. The list should only allow one item to be selected. As far as I can see this is similar to, but beyond the capability of the PSMultiValueSpecifier, in terms of the user adds/edits/deletes and sub-data being added.
Similar functionality is implemented in the ‘Choose A Network’ section of the iPhone’s Wi-Fi settings but I am not sure how this is done. In this, users can add a new network and then specify security type, password etc.
Any ideas how I might go about achieving this?
Do a search in sample code regarding UITableView (In iPhone dev center or inside Documentation), I am sure I have seen that kind of sample ;)

iPhone settings bundle

I want to allow the user to enter a valid date using the iPhone’s settings application.
I have experimented with many of the PreferenceSpecifiers data node types including date.
I have two issues:
When I specify date as the type, my app within the settings app crashes. Working examples would be greatly appreciated.
Since this approach hasn’t worked for me yet, will I programmatically be able to validate the date that the user enters?
The answer to number 2 is no. The only time you can validate the data entered is the next time your app is launched. None of your app's code is run via the Settings app.
You might consider pulling this setting into your app.
Have you read this guide and this section of the App guide? They describe in detail how the settings like this work.
You won't be able to validate anything a user sets through the Settings application. Also, I don't see Date as a valid setting type anywhere, so I don't even think this is possible through the Settings application.
I would simply create a settings view within the application. That way you can control your custom logic as you see fit.

Dates in iPhone Settings Bundle

I'm working on a very simple iPhone app, that in the end will have maybe 3 or 4 settings.
Ideally I'd like to use the Settings app provided for free in the SDK.
One of the settings I'd like the user to be able to enter is their date of birth, however there doesn't seem to be a way to prompt the user for a date in the Settings app.
Aside from writing a custom settings page within my app, is there any other options?
Take a look at UIPickerView to allow the user to "dial in" values that correspond to a day, month, and year.
EDIT: Okay, thanks for clarifying. Perhaps take a look at the PSMultiValueSpecifier key and use its multi-value selectors for day, month and year selections.
Look at the tutorial section of the Application Preferences document for help on this, specifically the "Experience Level" portion.
The only way using the default settings is to use one or more textfields, and to parse the user's input to build a NSDate object.