Anyhow my code was failing when trying to retrieve a User Profile Property with the following exception –
Access denied. You do not have permission to perform this action or access this resource.
It turns out the AppManifest.xml is the key, in here you can set Permission requests that your App will be able to perform e.g. read from the current web, write to the Taxonomy service etc. In my case I hadn’t set the read permission for the User Profile service.
Once I had set this up. hey presto it worked!!