512 is software emulation. This makes HW skinning really difficult on iOS devices since it requires skin partitioning.
That's not the intent of the OpenGL API. The hardware limitations are supposed to represent hardware limitations, not some made up number that's supportable in software, unless you're running a software renderer entirely, which you clearly wouldn't, on mobiles.
Don't you think it'd be kind of, like, important for iOS developers to know how many actually *real* vertex uniform vectors they can use? How'd you have them query that, since the actual API's lying to them?