I've been a fan of the GPL for many years and have watched it evolve as the Internet has evolved. In my opinion Apple's App Store does not violate the spirit of the GPL, even if it is possible to argue that the App Store forces Open Source developers to violate the letter of the GPL if they want to distribute their apps via the App Store.
Instead, iOS and the App Store represent a new model of computing and software distribution that was far from the mainstream when the GPL was defined, and the GPL now should be updated to address this new model.
When the GPL was written, and for most of its existence, virtually all software was developed on the same type of computer on which it was used. Therefore, any use who might want to modify program was likely to do so on the same computer (or at least one the same architecture and operating system) where they used the program.
The exception is embedded software, such as avionics or firmware in consumer electronic devices. In those cases, developers write and compile code on some kind of workstation, but run it on an entirely different kind of machine that -- and this is the important point -- could not be used as a development workstation.
So, for the vast majority of cases where Open Source software has been created, distributed, and used, its made perfect sense that the source code and object code be distributed together. In fact, the dominant model for Open Source distribution (although not the only necessary model) is that it is ONLY the source code that is distributed.
iOS brings to the mainstream a model much more like the "embedded" model described above, where the target computer (e.g. an iPhone) is NOT a practical platform for making modifications to a program. The vast majority, if not all, users who might want to modify an open source program for iOS will do so on a "traditional" workstation running Mac OS, Windows, or Linux, and then install their modified program on their iOS device.
The claim that Apple's App Store is incompatible with the GPL arises from the fact that the App Store and iTunes together restrict how a user can install programs that they download from the App Store (specifically that they can only install each app on up to 5 authorized computers and up to 7 iOS devices), whereas the GPL explicitly forbids such restrictions.
However, I argue that this reading is unnecessarily narrow, and that the language of the GPL should be revised to eliminate the apparent conflict.