For iOS, you need to use the Xcode toolchain, which builds the app and cryptographically signs it to run on a device (Apple control provisioning for iPhones in general, but you can set up your own devices to run apps you’ve signed yourself). You can use Swift or Objective C, for which the APIs are available, though can also link in code in other languages (C/C++, Rust, Go, Kotlin and so on).
Google used to have a cross-platform system named Flutter, which let you write apps in a language named Dart and compile them for iOS or Android, though you still need to use the Xcode toolchain for iOS; not sure if that’s still maintained.
You can also use things like React Native (i.e. your logic is in JavaScript, but is deployed in an app that builds the UI from native components and connects it to your code), but the apps produced this way tend to feel a bit off (laggy/unresponsive, and sometimes with the UI behaving weirdly). Or you could make a PWA (Portable Web Application), which is essentially a web page with a file that tells mobile browsers that it can be saved as an app to the desktop, though those, naturally, feel like a web page rather than a native app and are more limited.