One more idea: start local web server in one apps on iPhone and use it for communications between apps.
Here is implementation of such server
And here is usage example
I haven't tried this solution by myself but saw apps that use this idea for communications.
Also, I believe that Apple intentionally not implement any easy way to communicate between apps. Now you can make you app like it is the only one application on the whole device with little exceptions like memory usage and etc. As soon as here will be some easy way to communicate between apps we will found ourself in much more complicated environment. We will need to consider much more limitations, rules and possibilities as programmers.
But I also would like to have some way to communicate between apps, many great ideas can be implemented with this tool.