Others have complained about the Apple iPhone Developer NDA. I can only double back that opinion. I followed discussions why the NDA has not been lifted by now.
Some people say because of patents because things under NDA are not considered published.
If you take a look at the NDA though, you'll see that Apple not only forbids the use of private frameworks, but any unpublished API.
So if the NDA forbids use of any unpublished API and everything given out is considered not published, the conclusion is: Whatever you build your application on, is violating Apple's NDA in some argueable sense. In other words, whatever you do, Apple has a hook to kick you out of the door if they want to and if you're out, you will never come back. Apple has the right to do anything with you.
I call this a modern version of slavery.