ppsspp/ios
Conrad Kreyling b4e315a839 Use tabs for indentation
When those Xcode defaults bite you
2018-04-08 13:29:38 -04:00
..
assets Changed iOS icons to follow Apple directives (PNG24 with no transparency and no rounded corners). 2015-06-08 22:53:53 -03:00
iCade iOS: convert all obj-c source code to ARC 2017-12-31 19:36:47 -08:00
AppDelegate.h iOS Objective-C code dump. 2013-02-18 00:05:16 +10:00
AppDelegate.mm Handle iOS audio session interruptions by reinitializing audio 2017-12-31 00:37:20 -08:00
AudioEngine.h IOS: added audio output 2013-03-16 12:54:16 -07:00
AudioEngine.mm Buildfix android, misc other fixes, some include cleanup 2013-03-29 20:55:32 +01:00
iOSCoreAudio.h iOS Audio fixes 2013-06-25 16:18:16 -05:00
iOSCoreAudio.mm Change iOSCoreAudio from cpp to mm. Explicitly activate the audio session. Always set the same mDataByteSize. 2017-12-31 00:45:05 -08:00
Launch Screen.storyboard require iOS 8, add a launch screen 2018-01-04 09:56:49 -08:00
main.mm iOS: fix hang on exit 2018-02-22 03:04:32 -08:00
PPSSPP-Info.plist require iOS 8, add a launch screen 2018-01-04 09:56:49 -08:00
PPSSPP-Prefix.pch iOS Objective-C code dump. 2013-02-18 00:05:16 +10:00
PPSSPPUIApplication.h Add taptic feedback on virtual buttons 2018-01-14 13:38:18 -05:00
PPSSPPUIApplication.mm Create AppDelegate the standard way instead of in PPSSPPUIApplication init 2017-12-31 16:02:01 -08:00
README.md fix ios build docs 2016-10-23 09:55:57 +07:00
SmartKeyboardMap.cpp map '`' to back instad of esc 2017-09-04 15:17:03 +08:00
SmartKeyboardMap.hpp add support for smart keyboard 2017-09-04 15:05:46 +08:00
SubtleVolume.h Use tabs for indentation 2018-04-08 13:29:38 -04:00
SubtleVolume.mm Use tabs for indentation 2018-04-08 13:29:38 -04:00
ViewController.h iOS: fix hang on exit 2018-02-22 03:04:32 -08:00
ViewController.mm Use tabs for indentation 2018-04-08 13:29:38 -04:00

iOS Build Instructions

Prerequisites:

  • Xcode (from the Mac App Store) with command line tools installed
  • MacPorts (from macports.org); easiest to install with their package installers
  • cmake build system (from MacPorts); run "sudo port install cmake" from the command line

If you need to build ffmpeg yourself too, then you'll also need:

  • gas-preprocessor; download the zip from https://github.com/mansr/gas-preprocessor, unzip and from the command line run:

      sudo cp gas-preprocessor.pl /usr/bin/
      sudo chmod +rw /usr/bin/gas-preprocessor.pl
    
  • you may need pkg-config (from MacPorts); run "sudo port install pkgconfig" from the command line

Most of this is done from the command line:

Change directory to wherever you want to install ppsspp (eg. "cd ~"), and then clone the main ppsspp repository:

git clone https://github.com/hrydgard/ppsspp.git

Change directory to the newly created ppsspp directory and run:

git submodule update --init

The above command will pull in the submodules required by PPSSPP, including the native, ffmpeg, and lang directories. Included in the ffmpeg directory should be the necessary libs and includes for ffmpeg, so most people can skip the next command. However, if you need to recompile ffmpeg for some reason, change directory into ffmpeg and run (this will take a while):

./ios-build.sh

Change directory back up to the main ppsspp directory and do the following:

mkdir build-ios
cd build-ios
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/ios.cmake -GXcode ..

You now should have an Xcode project file in the build-ios directory named PPSSPP.xcodeproj. Open it up in Xcode and do Product->Build to build the debug version, or Product->Build For->Archiving to build the release version (which is much faster). If your iOS device is plugged in, you may be able to just Run in Xcode to install and test it. Otherwise, copy the PPSSPP app from build-ios/Debug-iphoneos/PPSSPP.app or build-ios/Release-iphoneos/PPSSPP.app to the /Applications directory on your device and from ssh or MobileTerminal do a "chmod +x PPSSPP" inside the PPSSPP.app directory. If this is the first time you've installed the PPSSPP app, you'll have to respring or restart your device for the icon to show up.