ppsspp/ios
2024-11-04 12:05:54 +01:00
..
assets Uniform icon style & clean up 2024-05-27 00:57:36 +08:00
assets.xcassets iOS: Use a black background for tinted icons 2024-09-19 19:09:47 +03:00
iCade Make some global string pointers const, not just the strings. 2023-12-29 14:09:45 +01:00
MoltenVK@0bf904d2d1 Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12. 2024-05-26 16:45:29 +02:00
Settings.bundle Disable external display by default 2019-06-19 17:47:14 +08:00
AppDelegate.h Fix smooth switching from Vulkan to GL 2024-05-23 14:37:12 +02:00
AppDelegate.mm Logging API change (refactor) (#19324) 2024-07-14 14:42:59 +02:00
AudioEngine.h IOS: added audio output 2013-03-16 12:54:16 -07:00
AudioEngine.mm Add samplerate argument to NativeMix 2023-03-24 14:48:53 +01:00
CameraHelper.h Remove a redundant function 2024-05-22 16:43:18 +02:00
CameraHelper.mm Remove a redundant function 2024-05-22 16:43:18 +02:00
Controls.h iOS: Implement basic physical keyboard support 2024-06-05 23:27:03 +02:00
Controls.mm Logging API change (refactor) (#19324) 2024-07-14 14:42:59 +02:00
DisplayManager.h Auto switch between internal and external display 2019-06-11 01:24:58 +08:00
DisplayManager.mm Implement UI for setting up the iOS audio modes 2024-05-27 15:17:47 +02:00
Export.plist Rename ExportFree.plist to Export.plist 2024-05-20 10:04:11 +02:00
iosbundle.sh Add a little perl script to try to convert version numbers to Apple-compatible format. 2024-05-20 10:04:11 +02:00
iOSCoreAudio.h iOS: Small refactor to centralize audio session mode management 2024-05-27 14:50:04 +02:00
iOSCoreAudio.mm Logging API change (refactor) (#19324) 2024-07-14 14:42:59 +02:00
Launch Screen.storyboard Minor cleanup (remove redundant stuff from the storyboard) 2024-05-23 09:41:00 +02:00
LocationHelper.h Add camera/location support for iOS 2020-01-25 16:54:45 +02:00
LocationHelper.mm Add camera/location support for iOS 2020-01-25 16:54:45 +02:00
macbundle.sh Messy hackery, we now seem to be able to export 2024-05-20 10:04:11 +02:00
main.mm Fix missing return value in another function 2024-11-04 12:05:54 +01:00
PPSSPP-Info.plist iOS: Unify style for entitlement messages 2024-09-04 12:57:37 +02: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 a .xcassets folder for the icons, link it properly 2024-05-20 10:04:11 +02:00
README.md Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12. 2024-05-26 16:45:29 +02:00
SmartKeyboardMap.cpp Input event and device enums (#17514) 2023-05-26 18:40:13 +02:00
SmartKeyboardMap.hpp Input event and device enums (#17514) 2023-05-26 18:40:13 +02:00
version-transform.pl Add a little perl script to try to convert version numbers to Apple-compatible format. 2024-05-20 10:04:11 +02:00
ViewController.h Get Vulkan rendering on iOS (still, need to hook up input etc) 2024-05-23 09:41:00 +02:00
ViewController.mm Logging API change (refactor) (#19324) 2024-07-14 14:42:59 +02:00
ViewControllerCommon.h Add option to control the iOS app switching mode 2024-07-05 20:08:12 +02:00
ViewControllerMetal.h Get Vulkan rendering on iOS (still, need to hook up input etc) 2024-05-23 09:41:00 +02:00
ViewControllerMetal.mm Logging API change (refactor) (#19324) 2024-07-14 14:42:59 +02:00

Updating with a self-built MoltenVK

cp -r ../dev/build-molten/MoltenVK/Package/Release/MoltenVK/static/MoltenVK.xcframework ios/MoltenVK

The Old iOS Build Instructions

Important Notes

These instructions have not been updated for a long time and may be outdated.

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.