I want my users to be able to subscribe for remote notifications only on certain Views.
Is it possible to call [[UIApplication sharedApplication] registerForRemoteNotificationTypes... from any place in the app, or it is required to call it only from AppDelegate ?
it is required to call it only from AppDelegate. As you wrote
If you want users to subscribe and not to subscribe for notification
Then handle it from server side
Send only notification to users(device tokens) who have subscribed for the notification