- README rewritten as a step-by-step guide for non-developers - install.sh: build, install and copy data with plain error messages - build_native.py: bundle identifier from the user's provisioning profile (Xcode project named factorio), version check on every build, friendly errors
Factorio on iPhone
Play your own copy of Factorio on your iPhone. You build the app on your Mac from the Factorio you already own on Steam, and install it on your phone with a cable.
This project contains no game files. Everything comes from your own installed copy. It is an unofficial fan project, not made or supported by Wube Software.
What you need
- A Mac (tested on Apple Silicon).
- Factorio 2.0.77 for Mac, bought on Steam and installed.
- An iPhone (tested on iPhone 15 Pro) and its cable.
- A free or paid Apple account.
- About 3 GB of free space on the phone.
Install, step by step
Step 1: Install Xcode
- Open the App Store on your Mac, search for Xcode and install it (it is large and takes a while).
- Open Xcode once. When it asks which platforms to install, choose iOS.
Step 2: Sign in to Xcode with your Apple account
- In Xcode open Xcode → Settings → Accounts.
- Click +, choose Apple ID and sign in.
Step 3: Connect your iPhone
- Plug the iPhone into the Mac, unlock it, and tap Trust.
- On the iPhone open Settings → Privacy & Security → Developer Mode, turn it on, and let the phone restart. (If you don't see Developer Mode yet, do Step 4 first and come back.)
Step 4: Let Xcode set up signing (one time only)
Your iPhone only runs apps signed with your Apple account. A tiny empty Xcode project sets this up once:
- In Xcode choose File → New → Project… → iOS → App → Next.
- Fill in:
- Product Name:
factorio - Team: your Apple account
- Organization Identifier:
com.followed by your name, for examplecom.alexsmith
- Product Name:
- Click Next and save it anywhere.
- At the top of the Xcode window, pick your iPhone as the run destination and press ▶ (Run). A blank white app appears on the phone; that means it worked. If the phone says Untrusted Developer, open Settings → General → VPN & Device Management, tap your account and choose Trust, then press ▶ again.
You can now close Xcode and delete that project. The real Factorio app will replace the blank one.
Step 5: Download this project
Open the Terminal app on your Mac and run:
git clone https://git.entityseven.com/entityseven/factorio-ios.git
cd factorio-ios
Step 6: Install Factorio on the phone
Keep the iPhone plugged in and unlocked, then run:
./install.sh
This builds the app, installs it, and copies the game data (about 1.5 GB) to the phone. It takes a few minutes. When it says Done, the Factorio icon is on your home screen.
Playing
- Tap = left click. Hold = right click (hold on ore or trees to mine them).
- Two-finger drag = zoom and scroll.
- Left stick = walk. Buttons E Q R F M T, Esc, Tab, ⇧, Ctrl = the same keys as on a computer.
- ⌨︎ opens the keyboard. ◐ hides the on-screen buttons.
- A Bluetooth keyboard works too.
The text is small at first: in the game open Settings → Interface and set UI scale to about 175–200 %.
The game takes about 15 seconds to start. Your saves stay on the phone, also when you update the app.
All controls: docs/controls.md.
Updating
cd factorio-ios
git pull
./install.sh
Problems?
| What you see | What to do |
|---|---|
Factorio not found |
Install Factorio from Steam on this Mac and let it finish downloading. |
wrong Factorio version |
This version of the port needs Factorio 2.0.77. In Steam, open the game's Properties and keep it on that version. |
no provisioning profile found |
Do Step 4 again. The Xcode project must be named factorio. |
no iPhone found |
Plug in the phone, unlock it, tap Trust, and check Developer Mode (Step 3). |
Xcode is not installed / iOS platform is missing |
Do Step 1. |
device was not unlocked |
Unlock the phone and run ./install.sh again. |
| App says Game data missing | Run ./install.sh again with the phone unlocked. |
| App stops opening after 7 days | Free Apple accounts sign apps for 7 days. Run ./install.sh again; your saves are kept. |
| The game closes while playing | Run python3 tools/build_native.py --no-build --launch and send the output as a bug report. |
More information
- docs/building.md: advanced build options and troubleshooting.
- docs/native-port.md: how the port works.
- docs/research/: earlier research (ARM64 → WASM translation).
Third-party software: Wuffs (Apache-2.0) is downloaded during the build to decode PNG images. Factorio itself uses SDL (zlib). Factorio is a trademark of Wube Software Ltd.; all game code and assets belong to them.