RetroArch/ios
2013-06-07 10:38:13 -04:00
..
Assets (iOS/GLSL) Shouldn't have been added to repo 2013-05-29 13:18:16 +02:00
modules (iOS) Add support for listing expected firmwares in module .info files. Still needs some style work. 2013-06-07 09:51:40 -04:00
RetroArch (iOS) Tapping a firmware item in RAModuleInfo will display an alert view with the full path 2013-06-07 10:38:13 -04:00
RetroArch.xcodeproj Merge pull request #217 from maddox/correct-codesigning 2013-05-31 07:33:00 -07:00
script manually install the mobileprovision file before building 2013-05-31 02:02:39 -04:00
BUILDING ios: Fill out the BUILDING instructions more. 2013-02-10 15:58:29 -05:00
README.md updates to the README to reflect the new build script at libretro/libretro-super 2013-05-27 22:43:03 -04:00

RetroArch for iOS

RetroArch for iOS can be run directly on your device without the need for jailbreaking. To do this, you will need a few things:

  • Your own iOS Apple developer account
  • Your developer account set up on your computer (your certs, etc.)
  • A Distribution provisioning profile for RetroArch (a wildcard profile is fine and suggested)

Once you have all of this stuff, getting RetroArch on a non-jailbroken device is pretty simple.

Config

RetroArch needs to know a couple things when building the app. You can configure these under ios/script/build.config inside the RetroArch repo. Once you initially clone down the repo, go into this file and make the changes.

CODE_SIGN_IDENTITY

This is the identity that will be used when signing the app after it is built. Under normal circumstance, you shouldn't have to change this. But if you have multiple Apple dev accounts on your computer, you will have to be more specific.

CODE_SIGN_IDENTITY="iPhone Distribution: Bill Cosby"

Adding the name of the account will make sure it uses the exact codesigning identity.

PROVISIONING

Before you build the app, you'll need to download the provisioning profile you want to use for the app into the ios directory. Just drop it in there, and add the file name to the config.

When RetroArch is built into an IPA, it will embed this provisioning profile into the IPA so you can just install the IPA right onto your phone.

Building

After you've configured the right things, you're ready for building. You'll want to run these from the ios directory of the RetroArch project.

Emulator Cores

Before building the app, you'll need to build the emulator cores.

You'll need to clone down the libretro/libretro-super repo into the same directory where you cloned this repo.

Your directories should look like this:

your-repos-dir/libretro-super
your-repos-dir/RetroArch

Run the libretro-super fetch script to first get the emulator core repos.

./libretro-fetch.sh

Run the libretro-super iOS build script to build the emulator cores.

./libretro-build-ios.sh

This will clone down their repos, build them into the libretro-super/dist/ios directory. Once this is complete, you need to copy them into the appropriate directory for RetroArch iOS. The path is:

RetroArch/ios/modules

Build RetroArch iOS app

Now just run:

script/build

This will build the iOS app, codesign everything that needs to, and package it into a distributable IPA.

Once completed, you can find the IPA inside the ios/build/Release-iphoneos directory.

Roms

iTunes File Sharing is enabled on RetroArch. You can simply drag your rom files into the RetroArch app. They will be available the next time you launch the app.

Alternatively, you can use something like iExplorer to manually copy files over. Doing this will give you the benefit of being able to use directories, since iTunes File Sharing does not support directories.

BTstack (Jailbreak only)

With the BTstack cydia package installed both WiiMote and PS3 Pads are usable. To enable BTstack usage tap the Settings button in the upper left corner and turn on the 'Enable BTstack' option.

Connecting a WiiMote

Press both the 1 and 2 buttons on the WiiMote at the same time. The WiiMote is successfully completed when the 4 lights stop flashing.

Connecting PS3

Before a PS3 pad can be used it must be manually paired with your device using a PC, USB cable, and a special piece of software.

The pairing software will likely ask for the bluetooth address of your device, this can be found under the 'Diagnostic Log' option in the settings menu.

The line will appear as:

BTpad: Local address is XX:XX:XX:XX:XX:XX