A native iOS companion app for RomM. Connect to your self-hosted RomM server to browse, play, and manage your retro game ROM collection directly from your iPhone or iPad.
Compatible with RomM 5.0.*
Join the beta program and help improve the app:
This repository uses git submodules for the emulator cores in Vendor/. Clone with submodules:
git clone --recurse-submodules https://github.com/ilyas-hallak/romm-ios-app.git
If you already cloned without submodules:
git submodule update --init --recursive
Then open romm/romm.xcodeproj in Xcode and build.
Building for the Simulator needs nothing extra. To run on a physical device you
need your own Apple Developer team and a bundle identifier that is unique to you.
The upstream de.ilyashallak.* identifiers are already registered to the
maintainer and cannot be re-registered to your account.
The project reads those two values from a gitignored Signing.xcconfig, so you
never have to edit project.pbxproj:
cp romm/Config/Signing.xcconfig.template romm/Config/Signing.xcconfig
Then edit romm/Config/Signing.xcconfig and set:
DEVELOPMENT_TEAM, your 10-character Team ID (Xcode > Settings > Accounts, or
the Apple Developer site under Membership details)ROMM_BUNDLE_ID_PREFIX, a reverse-DNS prefix only you use, e.g. com.yournameSigning is automatic, so Xcode registers the App ID and provisioning profile the first time you build to a connected device.
Signing.xcconfig only applies to this project's targets, not to the DeltaCore
projects under Vendor/. Several of those pin their own DEVELOPMENT_TEAM, so a
device build needs your team applied to them too:
Xcode (UI): in each Vendor/*/โฆxcodeproj, select every target and set your
team under Signing & Capabilities. These edits stay in the submodule working
trees, don't commit them.
Command line: pass DEVELOPMENT_TEAM on the xcodebuild invocation. It
applies to every target in the graph, submodules included, so nothing under
Vendor/ needs editing:
xcodebuild -project romm/romm.xcodeproj -scheme romm \
-destination 'generic/platform=iOS' \
-allowProvisioningUpdates \
DEVELOPMENT_TEAM=YOURTEAMID \
build
Signing.xcconfig is still required, it supplies the unique app bundle
identifier (ROMM_BUNDLE_ID_PREFIX) that no command-line override can set
per-target.
Standing on the shoulders of giants.
This app would not be possible without the outstanding open-source emulation work of:
MIT โ see LICENSE for details. This project is part of the RomM ecosystem.
Swift
84.6%
C
7.8%
Objective-C
4.9%
A native iOS companion app for RomM. Connect to your self-hosted RomM server to browse, play, and manage your retro game ROM collection directly from your iPhone or iPad.
Compatible with RomM 5.0.*
Join the beta program and help improve the app:
This repository uses git submodules for the emulator cores in Vendor/. Clone with submodules:
git clone --recurse-submodules https://github.com/ilyas-hallak/romm-ios-app.git
If you already cloned without submodules:
git submodule update --init --recursive
Then open romm/romm.xcodeproj in Xcode and build.
Building for the Simulator needs nothing extra. To run on a physical device you
need your own Apple Developer team and a bundle identifier that is unique to you.
The upstream de.ilyashallak.* identifiers are already registered to the
maintainer and cannot be re-registered to your account.
The project reads those two values from a gitignored Signing.xcconfig, so you
never have to edit project.pbxproj:
cp romm/Config/Signing.xcconfig.template romm/Config/Signing.xcconfig
Then edit romm/Config/Signing.xcconfig and set:
DEVELOPMENT_TEAM, your 10-character Team ID (Xcode > Settings > Accounts, or
the Apple Developer site under Membership details)ROMM_BUNDLE_ID_PREFIX, a reverse-DNS prefix only you use, e.g. com.yournameSigning is automatic, so Xcode registers the App ID and provisioning profile the first time you build to a connected device.
Signing.xcconfig only applies to this project's targets, not to the DeltaCore
projects under Vendor/. Several of those pin their own DEVELOPMENT_TEAM, so a
device build needs your team applied to them too:
Xcode (UI): in each Vendor/*/โฆxcodeproj, select every target and set your
team under Signing & Capabilities. These edits stay in the submodule working
trees, don't commit them.
Command line: pass DEVELOPMENT_TEAM on the xcodebuild invocation. It
applies to every target in the graph, submodules included, so nothing under
Vendor/ needs editing:
xcodebuild -project romm/romm.xcodeproj -scheme romm \
-destination 'generic/platform=iOS' \
-allowProvisioningUpdates \
DEVELOPMENT_TEAM=YOURTEAMID \
build
Signing.xcconfig is still required, it supplies the unique app bundle
identifier (ROMM_BUNDLE_ID_PREFIX) that no command-line override can set
per-target.
Standing on the shoulders of giants.
This app would not be possible without the outstanding open-source emulation work of:
MIT โ see LICENSE for details. This project is part of the RomM ecosystem.
Swift
84.6%
C
7.8%
Objective-C
4.9%