Latest post by Marco Arment on his blog:
"iBooks’ use of tons of private APIs is frustrating on a few levels, the biggest that it makes all third-party reading-related apps second-class citizens.
I won’t be able to offer many features that iBooks has (such as a true brightness control or integration with the system dictionary), but my customers will expect them, making my app inferior to Apple’s in key areas."
Now this is an important problem developers have to face right now. Apple's official applications (the iWork suite, iBooks. I expect MobileMe to join the list in the near future) make use of private APIs that enable features, like the aforementioned system dictionary, 3rd party developers don't have access to. And as Marco reports, it's a huge problem, especially to the average customer's eyes who doesn't know anything about APIs and frameworks.
Say you want to develop an alternative spreadsheet application because you have a good idea, you're most likely headed to fail when it comes to implement the basic functions you can see in Numbers, from Apple.
Now you can either give up or come up with a custom solution for your needs. As it stands now, you simply don't have access to those APIs, and there's nothing you can do about it but complaining, hoping Apple will its their decision. It's time to be creative again.