Lately there has been a lot of talk about the Apple iPhone SDK.
Well some of us while working on the SDK are still also working on the Original SDK, AKA the Toolchain.
Some might ask, “why if there is now the SDK would you still work on the toolchain?”
Two reasons:
- Maintaining existing toolchain applications
- The SDK is VERY restrictive on what you can and can’t do, and if you break one of those rules then Apple won’t let you into the AppStore and you can not distribute your application.
So I have been updating some of my applications recently and I keep running into the items that Apple forgot to add to the iPhone toolchain SDK.
For example XML processing was forgoten, as well as several parts of NSFileManager (like copying).
All of these I have had to fight with not having.
Well tonight I found a new one…
Seems Apple also forgot to include a LOT of the details contained in NSUserDefaults, not to mention that the few items that they did include are not set for the user root.
User root not having any defaults I can kind of understand, as with the later firmwares applications are not run as root anymore, but instead the user mobile.
While making some sense, it does not make total sense as some programs are still ran as root (such as daemons) (which just happens to be what I am dealing with).
So after jumping through the hoops of not having all the normal User Defaults while setting up the part of my application that runs as the user mobile to be able to have international/locale date support, I am now at a road block with getting the daemon part of my application which runs as root, to have the same support.
From what I can see even in the normal Cocoa SDK there is no way to get another users defaults (even if you have permission, ie: you are root). Maybe I am missing something as this is the first time I am dealing with international/localization programming.
If you happen to know how I can do this, please let me know…