I could easily envision an app I purchase through the App Store giving me access to the source code from the developer's chosen distribution channel under the GPL. It seems to me that main gripe is that they want to use the App Store infrastructure to spread this.
Or am I missing something? I'll readily admit I'm not an expert on these GPL issues, but I'm interested in this topic.
However, if you rely on other GPL'ed code then I can see that it would be impossible to do that, as then it break the licenses of that other software. In which case it seems that the strong copy-left is what's screwing things up.
Also, I must repeat: "whatever the end user have access to is not free". My point is, if we want to free the end user, then the copy hold by the end user should be free. But a regular user isn't free to modify and redistribute the copy he hold on his iPhone, even if the original licence was a BSD one. Heck, even if he could, his modifications still have to pass through the App Store review process, which means there's no guarantee other users could benefits from them.
So, yeah, you can't distribute GPLv3 through the App Store. But even if you can do that with a BSD licence, what comes out is not free: it has been locked by the App store. So it doesn't really change anything: whatever the end user have access to is not free.