iOS App
Configure and run the iOS App for the first time.
info
You need to finish setting up the Android app before starting with the iOS app.
This is because MobileStack uses Kotlin Multiplatform for all business logic, UI and navigation.
Update project name, app name and bundle identifier
Open the iOs project by opening Xcode and selecting the iosApp/iosApp.xcodeproj file.
- Select the top level 
iosAppproject file in the file tree (blue icon). - Press 
Enterto rename the project to your app name. - Go to the 
General tab/Identitysection and replaceMobileStackwith your app name. (this is the name that will be displayed in the phone) - Go to the 
Signing & Capabilitiestab and replacecom.zenithapps.mobilestack.ioswith your bundle identifier. - On the left side of the Xcode windows there is a 
TARGETSlist. Double click on the current target nameMobileStackand replace with your app name. - On the top bar of the Xcode window there is an icon that says 
MobileStack. Click on it, selectmanage schemes, press on it to highlight it, press enter to rename it and use your app name, click outside the window to save the changes. (might need to restart Xcode) 
tip
For bundle identifier is better to use a url that you own. It will be your unique identifier in the app storel;l; and cannot be changed once your app is published.
warning
If the scheme name does not change, you might have to restart Xcode.
Configure Firebase services
- Go to the Firebase Console and select the project you created while configuring the Android app.
 - From your project overview or 
project settings / generaltab, click on theAdd appbutton and click on theiOSicon to add a new iOS app to the project - Follow the instructions to download the 
GoogleService-Info.plistfile and place it in theiosAppdirectory. (Skip filling the App Store Id field, also adding and initialising the SDKs, everything is included and initialised already in MobileStack). - Make sure you finish the setup by clicking Next on all steps and then Add App.
 
Running the project
- Make sure your scheme is selected in the top center bar.
 - Select the device you want to run the app by clicking on Xcode top center bar right after the scheme.
 - Click on the play button to run the app.
 - (After a while) You will see MobileStack running on your device.
 
info
Normally debug builds are slower to initialise than release builds. So you might see a white/black screen for a few seconds before the app starts.
Troubleshooting
No such module 'Shared'-> Make sure you have opened theiosApp.xcodeprojfile and not theiosApp.xcworkspacefile.GoogleService-Info.plist not found-> Make sure you have placed the file in theiosAppdirectory and that the file name is correct.Multiple commands produce '/Users/.../iosApp/GoogleService-Info.plist'-> If you see the file in the file tree please delete it and run the app again.Configuration.storekit: No such file or directory-> If you see the file in the file tree please delete it and run the app again.Unknown reference-> If you see this error, you should clear all the gradle caches and derived data, install the Kotlin Multiplatform plugin in Android Studio and rebuild the project.Command PhaseScriptExecution failed with a nonzero exit code-> Use the report navigator to inspect the last build in detail and find the real error message.Java environment not found-> Make sure linked AndroidStudio's Java to Xcode's Java location as suggested in the Java setup instructions.No profile for team 'XXX' matching 'match Development [bundleID]' found: Xcode couldn't find any provisioning profiles matching 'XXX/match Development [bundleId]'.-> Select a simulator as the target device and run the app.The operation couldn’t be completed. Unable to locate Java Runtime-> Make sure you have selected a simulator as the target device and run the app./build/ios/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run: No such file or directory-> Add${SHARED_PRECOMPS_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/runto the CrashlyticsRunbuild phase.Missing package product 'X'-> Delete derived data by runningrm -rf ~/Library/Developer/Xcode/DerivedDatain the terminal and run the app again.