I have an app made with React Native that is already working on for Android.
I’m working on Debian 10.
For Android I build my app-release.aab
file with this command:
bash android/gradlew --project-dir android --project-prop MYAPP_UPLOAD_STORE_FILE=my-key.keystore --project-prop MYAPP_UPLOAD_KEY_ALIAS=my-key --project-prop MYAPP_UPLOAD_STORE_PASSWORD=mypassword --project-prop MYAPP_UPLOAD_KEY_PASSWORD=mypassword clean bundleRelease
I’ve been creating this bundle for like a year with no problems, but now I have a task that is "now we want the iOS version"
What do I need to create this iOS version? I’m pretty lost, I have never created nothing for iOS, I just have this React Native app that works ok on Android.
I’ve been reading some mediums, youtube videos, and some questions here in Stackoverflow but they talk about that it’s possible to create the app for both Android and iOS but I can’t find a source of clear information about what I need for.
- Do I need a Mac?
- How should I create the bundle for iOS?
2
Answers
With vanilla
react-native
for local development/builds you will need a Mac as Xcode (free) is required for iOS builds. It’s propriety software to macOS. You will also need an Apple Developer account to setup development/distribution certificates for deployments.You can then use Xcode and the iOS certificates/provisions to generate a bundle for iOS.
First, if you want to publish to the iOS app store, you need to buy a paid Apple Developer Program, regardless if you have a Mac or not.
Okay, if you have a Mac there is a good amount of documentation: https://reactnative.dev/docs/next/publishing-to-app-store and more. The below is if you do not have a Mac, or do not want to develop on it.
No Mac
You cannot build macOS apps locally without a Mac.
That being said, you could look at CI/CD, for example, Github Actions or Travis CI, as running macOS on them is possible. If you are already pushing your code to Github, I recommend Github Actions. If you do not want to use CI/CD, you can use Expo. With Expo, you can build your app on their servers, and all you need is a paid Apple Developer Program (no Mac).