I am developing an iOS (using Ionic) and it will eventually replace an app currently in App Store. I am using the same app id as the old one. Do I need the same Certificates and Provisioning Profiles which was used to build old app in order to install new app on top of old app? I need to do this both for Ad-hoc and App Store distributions. Thank you.
You do not need to use the same certificate to sign your application as long as the app id is the same it will work fine for both Ad-hoc and App store distributions.
I recently had to create new certificates at work as the old developers didn't have the private keys used to sign the app store builds. You can read more here