Pinterest Stumbleupon Whatsapp
Ads by Google

There’s been a lot of excitement surrounding the iOS emulation scene over the last year or so, recently culminating in the discovery that Apple’s next version of Xcode will allow the installation of unsigned apps compiled from source.

While that might sound like a scary mouthful of developer speak, it’s actually a pretty straightforward process that can be accomplished with free tools and a bit of patience.

Today we’ll be showing you how to install emulators and other homebrew on your iOS device, no jailbreak required. Android users fret not, there are plenty of emulators available for your platform Easily Turn Your Android Device into a Retro Gaming Hub Easily Turn Your Android Device into a Retro Gaming Hub With an Android device, you can easily play all sorts of retro games made for systems like the Nintendo 64 or GameBoy Advance! Read More already.

Using Enterprise Certificates

Unless you’ve jailbroken your iOS device, every app you install has probably come from the App Store. It’s widely regarded as the only legitimate way of installing apps on your iPhone, but it turns out there is another way.

Some bespoke applications never make it onto the App Store, because they were never intended for public consumption — like the app Apple uses it in its retail stores to process your order. These apps use a security certificate that’s signed by Apple, which enables them to be installed by means of your device’s Safari browser.

Ads by Google

Essentially this certificate is Apple saying, “Sure, you can install this app outside of the App Store,” though these certificates generally have an expiry date, and new certificates need to be applied for and signed, particularly when the app itself receives an update.

Long after Apple decreed that emulators were banned from the App Store, developers realised they could use apps signed with enterprise certificates to bypass this restriction. And so emulation on iOS became viable again, with two emulators — GBA4iOS (GameBoy Advance) and NDS4iOS (Nintendo DS) — dominating the scene.

It should come as no surprise to you that when certificates expire, the apps that depend on them also stop working. Any emulators or other homebrew apps installed via these means that depend on a certificate are essentially against the clock — so enjoy them while you can.

Installing from iEmulators

The process involved in installing these apps is incredibly simple:

  1. On your iOS device, head to iEmulators or Emu4iOS.
  2. Pick an emulator you would like and try to install it. It’s a bit of a lottery in terms of what will work, with those most recently updated being more likely to actually work.
  3. Wait for the pop-up asking you to confirm then hit Install again.
  4. Head back to your home screen and launch the app once installed. You will be asked to trust the app certificate you installed before you can run the app (iOS software is sandboxed What's A Sandbox, And Why Should You Be Playing in One What's A Sandbox, And Why Should You Be Playing in One Highly-connective programs can do a lot, but they're also an open invitation for bad hackers to strike. To prevent strikes from becoming successful, a developer would have to spot and close every single hole in... Read More , so it’s not possible for the app to steal all your personal information unless you give it express permission).

I just successfully managed to install the highly in-demand NDS4iOS using this method, though it didn’t work when I tried last month. It’s a cat and mouse game, so check back often and keep trying if you have no luck.

If you’d like more reliable access to emulators and other homebrew tools, you should look into BuildStore, which charges a flat $9.99 per year, per device.

Compiling from Source

Now that the easy bit is out of the way, it’s time to look at the other way of doing things. Apple recently announced a new version of Xcode, the integrated development environment for Mac OS X Xcode 6 Beta With Swift Now Available Free, Here's Why This Matters Xcode 6 Beta With Swift Now Available Free, Here's Why This Matters Apple has released the latest beta of its Xcode development environment to the general public, and with it Swift, the company's latest innovation in programming. Read More . Xcode 7 is currently in beta, but it can be used to compile apps from source, sign them for personal use and even send them to a local iOS device.

The benefits of choosing this method are that these apps will never expire. For as long as you’d like to keep them on your device, they will remain there, bugs and all. If you want to install a new version of an app, you’ll need to recompile, sign and transfer it again. It sounds like hassle, but if there’s an emulator or homebrew app you absolutely must have, it’s worth it.

There are limitations, however. Every app you intend to install via this method must be open source, because you’ll need source code in order to compile the app into something your iPhone can run. This makes it impossible to pirate apps using this method, because most commercial software doesn’t use an open source model.

Simply put: you can’t download a pre-compiled .IPA iPhone app and hope to install it using Xcode. Similarly, you can’t sign an app using Xcode for use on other iOS devices. This is a developer tool, for developers, after all.

There’s also a chance that things will go wrong and simply not work, leaving you with little idea how to fix them. In this instances you’re at the mercy of the developer, unless you fancy learning to code So You Want To Make iPhone Apps? 6 Projects For Beginners So You Want To Make iPhone Apps? 6 Projects For Beginners Why not try learning Swift, the language that will let you create iPhone and iPad apps? Read More (and really, why wouldn’t you? Apple's Swift Is Going Open Source: So What? Apple's Swift Is Going Open Source: So What? Even if you aren't a programmer yourself, Apple's decision to open source Swift will impact you. Want to know why and how? Read More ).

Compiling with Xcode 7

You’ll likely need to adjust your settings depending on what you’re trying to compile. This particular tutorial is the installation procedure for popular open source GameBoy emulator GBA4iOS:

  1. Download and install Xcode 7 from Apple’s Developer portal.
  2. Launch Xcode, allow it to initialize and complete any leftover installation processes, accept the license agreement, input your root password, and install any additional components when prompted.
  3. Once Xcode has finished setting up, click on Xcode in the menu bar and choose Preferences.
  4. Under the Accounts tab, tap the plus “+” button and add the Apple ID associated with the device you want to install the homebrew application on.
  5. Download the source code for the app you would like to install. If you’re installing GBA4iOS, you can use the following Terminal command to clone the source in your user directory (you can also just visit GitHub or similar and download the project in a browser):sudo gem install cocoapods; git clone https://bitbucket.org/rileytestut/gba4ios.git; cd gba4ios; pod install
  6. Download and install CocoaPods if you haven’t already, and use it to settle any dependencies. For more information, read “Problems Building?” below.
  7. Once everything has downloaded and dependencies are settled you’ll find an “.xcworkspace” and “.Xcodeproj” file in the source code you downloaded. Open either in Xcode.
  8. Connect your iOS device to your Mac, then in Xcode, set your iPhone or iPad as the target device in the “iOS Device” section under Product > Destination in the menu bar.
  9. Select the project in the left-hand panel and on the General tab provide a unique “Bundle Identifier” in the box — anything you like. Under “Team” make sure your name is selected.
  10. If you see any errors below (“No provisioning files were found”), click Fix Issues and wait.
  11. When you’re ready to go, hit the “play” button in the toolbar and watch it go.

Note: Want to install a different app from a different repository using the command line? Just replace the URL ending in “gba4ios.git” with a different clone URL. Read more about using developer tools like Git for version control What Is Git & Why You Should Use Version Control If You’re a Developer What Is Git & Why You Should Use Version Control If You’re a Developer As web developers, a lot of the time we tend to work on local development sites then just upload everything when we’re done. This is fine when it’s just you and the changes are small,... Read More .

“Developer Disk Not Found” Errors

Certain beta versions of Xcode are only compatible with certain versions of iOS. Namely, the current version (at the time of writing) throws an error message when trying to build for iOS 8.4 as it has no compatible developer disk image included. To fix this, you’ll need to download Xcode 6.4, then copy the “8.4 (12H141)” as shown below.

FromApplications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

To: /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Problems Building?

If you can’t get anything to build, first ensure you have installed CocoaPods, which should help settle any dependencies your project may have. Open Terminal and type sudo gem install cocoapods followed by your password. Wait for the install process to complete, then change to the project’s directory (e.g. cd /Users/username/Downloads/gba4iOS/) and run the pod install command.

Lastly remember that Xcode 7 is currently in beta, and things will probably break here and there. you might find that searching for any errors you encounter provides some workarounds.

Open Source Emulators

Here are a few open source emulators you might want to try compiling from source:

Feel free to add any more in the comments below — and good luck, this can get quite complex.

Have you installed any emulators on your iOS device? How did it go?

  1. Omega
    March 30, 2016 at 10:42 pm
    • Adam Joseph Williams
      April 17, 2016 at 10:50 pm

      Also, https://bitbucket.org/saagarjha/gba4ios/overview fixes most of build errors in gba4ios. it's a pull request that as of this post is not merged yet. Will avoid a LOT of headaches trying to compile it

      Also, another tip, set to "release" in scheme for most of these. they are debug by default and unless you intend to debug them, release will produce a more appropriate build for a regular end user.

  2. Ben
    February 21, 2016 at 5:47 am

    Can someone send my please an open source for iNDS? Iam trying to get these emu, but I can't find it anywhere. Help ?

  3. e41faeb4
    July 23, 2015 at 12:17 am

    Can you use wireless game controllers with any of these emulators?

    • Tim Brookes
      July 23, 2015 at 2:18 am

      Yes! Most of them I believe, due to iOS being fairly controller-friendly in that Apple added support with iOS 7. You'll probably want to check each project's release notes to see exactly what's compatible and with which controller though.

      • e41faeb4
        July 23, 2015 at 11:04 am

        Sweet. I found that MeSNEmu supports a bunch of different ones. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *