This method is a little complex, however it is currently the only way to install ScummVM to an iOS device that is not jailbroken. While a rudimentary knowledge of the command line would be useful, the following instructions, if followed carefully, can be completed by anyone.
Prerequisites
****************
- A Mac computer with Xcode installed. Xcode is a free App, available from the Mac App Store.
- An Apple Developer account. You can sign up for a free account on the `Apple Developer Member Center <https://developer.apple.com/membercenter/>`_ with your Apple ID.
- The ScummVM `iOS Libraries <https://www.scummvm.org/frs/build/scummvm-ios7-libs-v2.zip>`_ downloaded.
..note::
If you have a free Apple developer account, each build will only be valid for 7 days, which means you will need to repeat these steps and re-install ScummVM every week.
The first step is to download the repository containing the code required to build the app. The next steps require use of the command line. Go to **Applications > Utilities > Terminal** and copy and paste the following, then press :kbd:`return` :
The default branch of the ScummVM repository will be the master branch. To build a specific version, checkout the appropriate branch. For example, to build version 2.2.0, use the following command:
If you haven't done so before now, open Xcode from the Applications folder, and accept the End User License Agreement. Starting Xcode for the first time will also install the command line tools required for the next steps.
The present working directory will now be the new ``build`` directory. Unzip the contents of the downloaded iOS libraries package into the build folder by using the following command:
For newer versions of macOS, the unzip is done automatically. If this is the case, the unzip command will not work as expected. Instead, copy the contents of the ``scummvm-ios7-libs-v2`` folder into the ``build`` directory. It is simplest to do this in the Finder.
It's time to generate the Xcode project. Ensure the present working directory is still the ``build`` directory, and then run the following on the command line:
Once Xcode is open, connect the device to install ScummVM onto. At the top of the window, select **ScummVM-iOS** and then the device you just connected. "Trust" the device for it to show up on the list of connected devices.
The last step before building the app is to change the bundle identifier and manage signing. Click on the **scummvm** project in the left pane, and then click on **ScummVM - iOS** under **TARGETS**. On the menu bar above, click on **General**. Under **Identity** you should see a field labeled **Bundle Identifier**. Input a unique identifier in reverse-DNS format. This can be as simple as com.\ *yournamehere*.
Next to **General**, click on **Signing & Capabilities**. Under **Signing**, tick the **Automatically manage signing** box, and select your developer account from the **Team** dropdown menu.
How to jailbreak an iOS device is outside the scope of this documentation. However, should you have a device that is jailbroken, iOS ``.deb`` and ``.ipa`` packages are available for install from the `ScummVM downloads page <https://www.scummvm.org/downloads>`_.
Go to the `ScummVM downloads page <https://www.scummvm.org/downloads>`_ and download the recommended ``.deb`` package. When the device asks how to open the file, choose Filza.
Ensure the ``.deb`` package is saved somewhere in the ``/var/mobile`` directory. It should default to ``/var/mobile/Documents``, which is fine. Tap on the file and then tap **Install** in the upper right corner to install ScummVM.
ScummVM has built-in Cloud functionality, which allows you to connect your Google Drive, OneDrive, Box or Dropbox account. For more information, see the :doc:`../using_scummvm/connect_cloud` page. ScummVM also has the ability to run a local web server. For more information, see the :doc:`../using_scummvm/local_webserver` page.
ScummVM's Cloud functionality does not currently support iCloud, however it is possible to upload game folders to your iCloud and then use the Files app on your iOS device to copy these folders into the local ScummVM folder.
Another way to transfer files (for macOS Catalina and newer) to your device is by using the Finder while your device is connected to your Mac. In the Finder app on your Mac, navigate to **Locations** in the left pane, and click on the connected device. Click on **Files**, then drag and drop the folder containing the game files into the **ScummVM** folder. For older versions of macOS, and for Windows users, file transfer can be done in iTunes.
Right click,"Hold one finger on screen where you want to click, single tap another"
Arrow keys,Use a three finger swipe in the direction of the arrow key you want. You can also use the arrow buttons in the bar above the keyboard. You may need to scroll across on smaller screens to see these.
ESC,"Hold one finger on screen, double tap another, or use the Esc key in the bar above the keyboard."
Tab,The Tab button in the bar above the keyboard.
Return,The Return button in the bar above the keyboard.
Global Main Menu,"Swipe two fingers down from top to bottom, or the left-most button in the bar above the keyboard."
Enable/disable keyboard,"The pinch gesture enables or disables the keyboard. If no external keyboard is connected, this shows and hides the On Screen keyboard. When an external keyboard is connected, instead of showing/hiding the On Screen keyboard this enables/disables inputs from the external keyboard."
F 0-9 keys,The F-bar above the keyboard.
Pause,Keyboard spacebar
Toggle `Click and drag mode`_,Swipe two fingers up from bottom to top.
Toggle `Touchpad mode`_,Swipe two fingers from left to right.
In this mode, a left mouse click is simulated when you touch the screen. The mouse pointer drags to wherever you slide your finger, and releases where you lift your finger.
If you press down a second finger in this mode, it releases the simulated left mouse button, and presses down the simulated right mouse button. The right mouse button is released when you lift your finger again.
In this mode, the cursor doesn't stay underneath your finger, but is rather moved around from its current position depending on the direction of your finger movement, just like a touchpad on a laptop.
``/var/mobile/Library/ScummVM/Savegames/`` if the device is jailbroken, or ``Savegames/`` in the ScummVM folder for a non-jailbroken device. Access this folder via the Finder or iTunes.
``/var/mobile/Library/ScummVM/Preferences`` if the device is jailbroken, or ``Preferences`` in the ScummVM folder for a non-jailbroken device. Access this folder via the Finder or iTunes.