Mobile apps developed specifically for one platform is called native app. Applications (apps) developed specifically for Android platform are called Android app or Android Native app. Same way, apps developed specifically for IOS platform are called iOS app or IOS native app. IOS native apps will not run on Android devices. They (IOS native apps) are designed to run only on IOS platform. Same way Android native apps are designed to run only on Android platform and hence will not run on IOS devices (iPhone and iPADs).

Programming differences

From the development point of view, IOS and Android apps can be differentiated based on the programming language. Android apps are developed using Java language. Kotlin is the latest language that is used for Android app development.  (Kotlin vs Java )  IOS apps are developed using a language called Objective-C, which is similar to C++. Swift is latest language that is sued for IOS development.  If your company app has to be available on IOS and Android, two set of developers have to work separately in different languages in order to create the app on each platform. However the design, graphic assets (images, videos etc) and the back end interface (server interactions) can be common to both platforms.

Are there apps that run on both platforms?

Yes, those are called hybrid apps or Cross-platform apps. Technically these apps are HTML applications. HTML runs on browsers. Both IOS and Android platforms have their own browsers and these cross-platform apps run on these browsers.

Native vs Cross-platform apps

Since cross-platform apps use HTML, one single development can cater for both platforms. Hence these cross platform approach reduces the difficulty of developing and maintaining two different code base in two languages. HTML is relatively simple language and hence the programming effort will be easier too. Then why aren't everybody going for cross-platform apps using HTML? That is because of the performance issues. Native apps are much faster and well packaged. Animations and graphical effects are easier to be done on native apps. In other terms, high quality, high performance apps still prefer to stick to native development.