iOS development for gesDeportiva requires a Mac running macOS. The native layer is managed by Xcode and CocoaPods, while the JavaScript layer is served by Metro — the same bundler used for Android. TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/martiigarcia/gesdeportiva/llms.txt
Use this file to discover all available pages before exploring further.
ios/Podfile declares all native iOS dependencies and wires in React Native’s CocoaPods integration scripts.
Prerequisites
- macOS — required by Xcode and the iOS build toolchain
- Xcode — install from the Mac App Store; includes the iOS Simulator and command-line tools
- CocoaPods — the dependency manager for native iOS libraries (
gem install cocoapods) - Node.js and npm — to run the React Native CLI and Metro bundler
- Ruby — CocoaPods is a Ruby gem; the project includes a
.ruby-versionfile specifying Ruby 2.7.5 (used withrbenv,rvm, orasdf)
Podfile setup
Theios/Podfile configures the CocoaPods target for gesDeportiva. It uses the React Native helpers to wire in all required native modules:
ios/Podfile
platform :ios, '12.4'sets the minimum deployment target to iOS 12.4hermes_enabledandfabric_enabledare read from default flags — to enable Hermes, set the flag totruein the Podfile and re-runpod installFlipperConfiguration.enabledwires in the Flipper debug client for debug builds- The
post_installhook applies a workaround for Xcode 12.5 on Apple Silicon Macs
Installing pods
Whenever you first clone the repository, add a new native dependency, or update React Native, you must install (or re-install) the CocoaPods dependencies:ios/Pods/ directory and the gesDeportiva.xcworkspace file. Always open the .xcworkspace in Xcode — never the .xcodeproj.
If
pod install fails with a Ruby or gem error, check that your Ruby version matches the version in .ruby-version (Ruby 2.7.5) and that CocoaPods is installed for that Ruby version.Running the app
Start Metro (optional)
Metro starts automatically when you run the app, but you can start it separately for more control over the output:
Simulator vs physical device
- Simulator
- Physical device
npm run ios boots the default simulator (typically the latest iPhone model). To target a specific simulator, pass the --simulator flag:Code signing
To run gesDeportiva on a physical device or to archive for distribution, you must configure a team and bundle identifier in Xcode.Select the gesDeportiva target
In the project navigator, click on the gesDeportiva project, then select the gesDeportiva target.
Common issues
pod install fails
pod install fails
If
pod install fails, try the following steps in order:- Delete
ios/Pods/andios/Podfile.lock, then re-runpod install - Ensure your Ruby version matches
.ruby-version(userbenv installorrvm use) - Update CocoaPods with
gem install cocoapodsand retry
arch -x86_64 pod install if a pod does not yet have an ARM binary.Simulator not found
Simulator not found
If the specified simulator name is not recognised, list available devices:Use the exact name shown in the output as the
--simulator argument.Code signing errors
Code signing errors
No signing certificate found or Provisioning profile not found errors indicate Xcode cannot locate a valid certificate for the selected team. Open Xcode, go to Preferences → Accounts, sign in with your Apple ID, and click Manage Certificates to create a development certificate.Hermes not enabled after Podfile change
Hermes not enabled after Podfile change
Enabling or disabling Hermes requires reinstalling pods and a full clean build. After editing the Podfile:Then clean the build folder in Xcode with Product → Clean Build Folder (⇧⌘K) before running again.