"The problem is not in private APIs or not. The problem is the rule said do not use them, developers used them and got away with it for a while, building their base and reputation, and now boom, no more private APIs."
I'm not a developer and have no idea how long it can take to recode an app, so this is genuine curiosity: How long SHOULD a company wait after saying "Coding Thing X is prohibited and all apps which use it will be removed from our repository"? Because, honestly, I've seen Apple get ripped by commentards here if they say something is prohibited and ban it and remove affected apps immediately, and here they are getting it because they didn't enforce the rule "soon enough".
So, is there a time-frame between banning a thing and actively enforcing that ban that is acceptable to the general community (ignoring the knee-jerk "AppleSux!" brigade who will always fault them)?