Who cares whether a method was overridden or called or whatever -- if it's in the runtime it can be invoked.
Who cares whether a method was overridden or called or whatever -- if it's in the runtime it can be invoked.
API's aren't hidden to make developers lives harder, but rather because they may not be stable and may or may not exist in future releases. And if they do exist, they may not do the same thing anymore.
So, users care. Not about the method itself, but about why their app that they may have paid money for has stopped working after they upgraded their iPhone.
To your second point, even apps that stick to using only documented API methods have known to fail after iPhone OS upgrades. So, let's not delude ourselves (or the users) into thinking we're writing robust (or worse, future proof) software simply by adhering to Apple's guidelines. All I would ask from Apple is that they get out of my way of getting an update to my users as quickly as I can.