You are directly referencing environ, which you can't do from a
loadable bundle. I am surprised this worked on Tiger - I'd wager it
didn't actually. You might have been hacking around it with
bundle_loader or something.

Why go with the second error if there's an error before that? Are
you calling a function or accessing a global named "environ"? I guess
it can't resolve that symbol, so it can't load your principal class,
and that is why it says "principalClass is nil".

Is the principal class name listed in your plist actually correct? I
had an incorrect entry in my plist but on Tiger and prior -[NSBundle
principalClass] still returned the correct class. On Leopard it
started returning a different class from the bundle.