PlayCover - a project that allows you to sideload iOS apps on macOS

Overview

Contributors Forks Stargazers Issues MIT License


Logo

PlayCover

Run iOS apps & games on M1 Mac with mouse, keyboard and controller support.

Showcase · Contribute · Discord

About The Project

Welcome to PlayCover! This software is all about allowing you to run apps & games on your M1 device runnnig macOS 12.0 or newer.

It does this by putting the applications through a wrapper which imitates an iPad. This allows the apps to perform very well and run natively, because the M1 chip is essentially a glorified mobile chip. Another advantage to the software is that you can insert and manipulate custom controls with your keyboard, which is not possible in alternative sideloading methods such as Sideloadly. These controls include all the essentials, from WASD, Camera movement, Left and Right clicks, and individual keymapping, similar to a popular Android emulator’s keymapping system called Bluestacks.

While this software was originally created to allow you to run Genshin Impact on your M1 device, it grew to allow many more applications to run. Although support for all games is not promised and bugs with games are expected.

Fancy logo Fancy logo

⬆️ Back to top️

Getting Started

Following the installation instructions will get Genshin Impact you up and running in no time. The steps can be repeated if you want to try out other games or apps.

Prerequisites

At the moment, PlayCover can only be installed and executed on M1 MacBooks. Devices with the following chips are supported:

  • M1
  • M1 Pro
  • M1 Max
  • M1 Ultra

Unfortunately, it cannot run on any Intel chips, so you are forced to use Bootcamp or other emulators.

Installation

  1. Disable SIP

    • This can be done by shutting down your mac, holding down power button
    • After this, click on your username/ssd, then keep going until you can see Utilities at the top
    • When you see this, click on it and click on Terminal
    • After this, you should be in a terminal window
    • Type csrutil disable in that terminal window
    • Put your password and everything, then restart your mac
  2. Modify nvram boot-args

    • When you have SIP disabled, type the following:
      • Command + Space, type Terminal in the search box
    • It should open a normal terminal window
    • Type the following in this window (or copy paste it)
      • sudo nvram boot-args="amfi_get_out_of_my_way=1"
    • If it appears that nothing has happened, this is correct.
    • Now restart your mac once again
  3. Login to Genshin

    • Open Genshin Impact with PlayCover, and you should be greeted with a Login button
    • Login to your account, then wait until the door appears and quit the game with Command + Q
    • Thats all which is required in Genshin for now
  4. Enable SIP

    • Shut down your mac again
    • Hold down the power button until you get to recovery options
    • Click on your username and your storage disk respectively like you did for step 1.
    • You should see Utilities at the top
    • Click on it, and Click on Terminal
    • In terminal, type the following: csrutil enable
      • csrutil clear should also work
    • Reboot your mac by going to Apple Logo > Restart
  5. Open Genshin

    • You're done! Enjoy playing genshin!

Video Instructions

The above steps are shown in the following video:

How to play Genshin Impact using Playcover on your M1 Mac (2020 or newer)!

⬆️ Back to top️

Keymapping

Button Events

  • Opens a menu to add a button element
    • Clicking on the screen
  • Edit keymapping binding
    • Click on a keymap and press the key you want binded
  • Bind left mouse button
    • Clicking on 'LB'
  • Bind right mouse button
    • Clicking on 'RB'
  • Bind middle mouse button
    • Clicking on ' 🖱️ '
  • Adds a W/A/S/D joystick
    • Clicking on the ' '
  • Adds a mouse area for mouse control
    • Clicking on the ' 🔁 '

Flow Control

  • Increase the selected buttons size
    • Menu Bar > Keymapping > Upsize Selected Element OR Cmd + '↑'
  • Decrease the selected buttons size
    • Menu Bar > Keymapping > Upsize Selected Element OR Cmd + '↓'
  • Delete the selected keymapping
    • CMD + delete (backspace)
  • Toggle between show/hide cursor
    • Press option (⌥)

Importing Keybinds

  1. Download the .playmap file from # 📝 ・keymap-showcase

  2. Open PlayCover and right click the app you wish to import the keybinds to

  3. Click on Import Keymapping

  4. Select the previously downloaded .playmap file

  5. Quit and reopen the app

    • This step is required for the newly imported keymapping to work

For additional help, please join the Discord server

⬆️ Back to top️

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

⬆️ Back to top️

License

Distributed under the AGPLv3 License. See LICENSE for more information.

⬆️ Back to top️

Contact

Alexandr Dorofeev - [email protected]

Project Link: https://github.com/iVoider/PlayCover

⬆️ Back to top️

Libraries Used

These open source libraries were used to create this project.

⬆️ Back to top️

You might also like...
Coreml-performance project works on MacOS to test M1 macbooks

ml-macos-performance This project is inspired by Vladimir Chernykh coreml-performance project for iOS. I made changes so it works on MacOS to test M1

A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.
A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.

macOS Virtual Machine A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework. I copied KhaosT's code from here, all I did is chang

This is a basic mobile app that allows the user to tap a button to change the color of a label.
This is a basic mobile app that allows the user to tap a button to change the color of a label.

MYAPP App Description `This is a basic mobile app that allows the user to tap a button to change the color of a label. App Walk-though Required User S

The app allows the user to change text color and text content when the displayed button is clicked
The app allows the user to change text color and text content when the displayed button is clicked

Hello World! App Description This application allows the user to change text color and text content when the displayed button is clicked. App Walk-tho

A Version Control Kit that allows Aurora Editor to do everything git related.
A Version Control Kit that allows Aurora Editor to do everything git related.

Version Control Kit AuroraEditor Version Control Kit allows us to perform actions like commiting, pulling, pushing and fetching history of whole files

Collaborative List of Open-Source iOS Apps

Open-Source iOS Apps A collaborative list of open-source iOS, iPadOS, watchOS and tvOS apps, your contribution is welcome 😄 Jump to Apple TV Apple Wa

Apps for translating Braille document captured by iPhone camera, then send translation result to ITS's Braille printer for duplicating purpose (re-printing, copying braille document with no original text)

SCANDO iOS On my Final Project (Thesis) for my Bachelor degree, I made an apps that translate Braille Document, and send the translation result to the

Identify Intel-Only Apps on your Mac with ease:
Identify Intel-Only Apps on your Mac with ease:

Silicon About Identify Intel-Only Apps on your Mac with ease: License Project is released under the terms of the MIT License. Repository Infos Owner:

30 mini Swift Apps for self-study
30 mini Swift Apps for self-study

Swift 30 Projects Contents This repo is updated with Swift 5 and compatible with iPhone X: Simple UIKit components UIScrollView, UITableView, UICollec

Releases(1.0.4)
  • 1.0.4(Jul 3, 2022)

  • 1.0.1(Jun 19, 2022)

  • 1.0.0(Mar 31, 2022)

  • 0.9.9(Mar 1, 2022)

  • 0.9.8(Feb 11, 2022)

    • Fixed problem with web input fields (login forms, survey etc.)
    • Breakthrough innovation UI Key-mapping system. Forget BlueStacks with their scary drag-n-drop panel. Instead just make single tap on needed place. PlayCover - think different.
    • Gaming mode - lots of people requested possibility to use mouse cursor alongside with key mapping. 
Now you can disable “Gaming mode” in App Settings. This’ll allow you to play MOBA games e.t.c. Specific controls as skillshot are coming with next update.
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.9.8.dmg(4.77 MB)
    PlayCover.0.9.8.zip(5.81 MB)
  • 0.9.7(Jan 11, 2022)

  • 0.9.6(Dec 19, 2021)

    This update requires all apps reinstall.

    • Fixed "Data error, please login again error" in Genshin
    • Fixed stuck on loading screen after re-enable SIP in Genshin
    • Fixed crashes when using Jailbreak bypass. ATTENTION: PLEASE, DON'T PLAY ANY COMPETITIVE GAMES YOU CAN'T SEE INSIDE LAUNCHER AND READ ALL MESSAGES IN PLAYCOVER APP. PUBG BYPASS IS NOT READY. CALL OF DUTY MUST BE PLAYED ON 0.9.2-0.9.4 VERSIONS STILL
    • Changed mouse sensivity logic. You may need to adjust sensivity. Higher means faster.
    • Now you can import and export keymapping
    • Improved syncing of keymapping
    • Fixed one Genshin crash for people who experienced Genshin crash with PlaySign enabled
    • PlayCover won't let you launch it from wrong location
    • Alpha Jailbreak Universal bypass, note, that many games are not affected. You can enable bypass in App settings
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.9.6.zip(5.77 MB)
    PlayCover.0.9.63.dmg(4.73 MB)
  • 0.9.5(Dec 10, 2021)

    ATTENTION: drag PlayCover.app to Applications folder. Monterey is required since this version.

    • Now you can run apps with SIP enable. Disabling SIP is still may required to login in some games like Genshin first. To do this you can press enable "PlaySign" button in bottom. Then you can enable it back.
    • "Data error, please relogin" fix for Asian servers. You need to have SIP enabled for this to play.
    • Clear app cache and reset PlayTools settings work again. These settings are now syncing with apps as it was ( it was earlier removed as some apps detected that as jb)
    • Reverted mouse to 0.9.4 stability
    • Mouse sensivity options
    • Display HZ option (still no Genshin), but now you not obligated to render 120 fps on 60hz machine
    • App links now will be updated dynamicly
    • Migrate to another nvram command ( if you have FreeFire Max installed, command is old). Ty @akemin-dayo and @sudo-gera
    • PlayCover logs became more clear
    • PlayCover clears app install cache folder again
    • Log changes between 0.9.2-0.9.4 are lost due to raid attack on Discord
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.9.5.zip(5.75 MB)
  • 0.9.2(Nov 24, 2021)

    • Updated Genshin .ipa version in Store
    • Fixed bug which prevented PlayTools to be updated
    • Setup instruction now is not blocking system restart
    • Fixed bug when PlayCover says app is encrypted though it is not. Thanks for @Jman49
    • Fixed key mapping location placement on BigSur
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.9.2.zip(1.92 MB)
  • 0.9.1(Nov 21, 2021)

    • Fixed problem with Cookie Run Kingdom. As this app was never possible to run in native mode, even Sideloadly, I’m using hacky way to deal with it. ATTENTIONS: Please, make backup of your Documents folder.
    • I investigated some cases when people claim that password they input is correct. But Caps Lock is stronger. So I again forced to change PlayTools location.
    • Log system is returned to Konoha. Please, copy logs when you have problem.
    • Now PlayCover can ask you for Full Disk access if you have problem with “File not exists”
    • You can now swap mouse mode not only with Left Alt but with Right.
    • Micro / Photo / Camera entitlements now only being granted for apps, which requires them
    • Issue when app was not granted micro, photo, camera
    • Error with Zip
    • Error when PlayTools are not working at all for some people
    • Reverted crossed app icon ( codm is not, because of antiban)
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.9.1.zip(1.92 MB)
  • 0.8.9(Nov 13, 2021)

    ⚠️ ATTENTION: reinstall all apps when migrating to this release !!! ⚠️

    For Call of Duty Mobile players is still recommended to use 0.8.7, because this release is still untested for ban risk.

    • Camera, Photo, Micro in apps are now accessible
    • You don't need to update PlayTools anymore. PlayCover will handle it.
    • I removed all install options and legacy Catalyst mode. PlayTools now can be enabled in context menu
    • PlayCover will detect if installed app is game, so it will enable PlayTools for games.
    • Moreover now there are now toggles to optionally enable/disable fullscreen and keymapping
    • Now app won't let you to run games if system config is wrong. It'll give step by step simple instruction instead
    • Third uponce a time mouse stability update. I hope it'll be last one.
    • Improved UI
    • Now PlayCover became more secure, because PlayTools has different name on each device and now located in System Frameworks.
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.8.9.zip(1.95 MB)
  • 0.8.4(Oct 16, 2021)

  • 0.8.1(Oct 13, 2021)

    • Controller is now available for everyone!
    • Native app feature - run app like ordinary iOS app before 11.3 (this requires SIP disabled , see Settings tab ) (Also consider that ban bypass in COD / Pubg is not currently added, also as SIP will be added in future builds)
    • Removed warnings when Info.plist is not 100% correct
    • Fixed issue when app icon was crossed for some .ipa inside PlayCover library
    • Genshin Impact links were updated for both Global and CN inside 'Store' tab
    • Firebase crash on start was fixed for some apps

    Note: PlayTools are currently not intended to run on Native mode because of broken screen

    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.8.1.zip(4.11 MB)
  • 0.7.9(Sep 30, 2021)

    • Now mouse clicks won't passthrough app window on Monterey
    • Cursor movement also will be now locked to window in gaming mode, so you won't lose focus during play
    • Fixed issue when mouse right and left clicks buttons are not registering among with trackpad
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.7.9.zip(4.17 MB)
  • 0.7.8(Sep 27, 2021)

  • 0.7.7(Sep 26, 2021)

  • 0.7.5(Sep 19, 2021)

    • Now supporters version called PlayPass. Since this update supporters and simple users will receive same app with all bug fixes. However, supporters will still have access to new features before everyone else.
    • Supporters can now login via Discord to get access for preview content
    • PlayCover app notifies you about new updates and lets you download them
    • Login fix now called PlaySign
    • Xcode tools are not required now, but you still can download them inside Settings tab for “Xcode Tools Patch” ( old name of “Alternative convert method”. You can download Xcode Tools from Settings
    • PlayCover observes all connected mouses and keyboards, so you won’t need to perform mouse reconnect
    • Improved app singing so more apps will work out the box
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.7.5.zip(4.06 MB)
  • 0.7.3(Sep 11, 2021)

    • Game controller key mapping for games, that don’t support gamepads (NOTICE: Genshin native controller support is not working now)
    • Fixed bug with mouse reset on Burst(Ultimate) in Genshin
    • More smooth mouse movement
    • Fixed improper scaling in Windowed mode(edited)
    • App launcher now allows you run apps directly from PlayCover
    • With 'Update PlayTools' context-menu option you can install new versions of in-game controls without reinstalling the whole app
    • If something goes wrong, you can erase PlayTools settings with 'Reset PlayTools settings' option instead of whole app cache clear
    • 'Downloads' tab of sidebar contains links for latest decrypted app versions (I will extended this list and make this dynamic next update)
    • Fixed error with iCloud / Dropbox documents syncing folders
    • Now sidebar has fixed min width and also app has new minimum size
    • Improved downloads UI, so it will provide download link based on your region
    • Improved Settings Ui, so now you can copy the command
    • Multilang Support
    • Fixed crash on startup for some users
    • Now Alt button also hides/shows menu bar, so you can easily access settings of Window control buttons
    • PlayCover shows Notification when finished installing the app
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.7.3.zip(1.99 MB)
  • 0.6.2(Aug 28, 2021)

    • Keymapping elements will resize on Window size change
    • Special indicator will be shown on entering and leaving editor mode
    • All parent UIViews scaled properly ( Web announcements inside Genshin are fixed, some games as genshin currently requires to restart for proper scale after window change)
    • Fixed MenuBar that covered game window in Windowed mode
    • Resolved problem of not saving key mappings for some users
    • Fixed crash on entering party menu in Genshin Impact for some users
    • Improved graphics in 3x times
    • Total average memory usage by games decreased by x2 times
    • Fixed problem when camera movement vanished after cutscene
    • Camera now properly appears after mapping without additional manipulations
    • Now PlayCover contains automated crashes report system, which works not only inside app, but also every game converted with PlayCover
    • Started migrate games settings to PlayCover for syncing and easily management
    Source code(tar.gz)
    Source code(zip)
    PlayCover.0.6.2.zip(1.77 MB)
  • 0.6.1(Aug 22, 2021)

  • 0.6.0(Aug 21, 2021)

    • 'Fix login' option is now available for everyone. Follow video instruction to use it. Also you can find text version here. If you have any problems, please, click on 'Troubleshoot' button. Be aware that all this you perform at your own responsibility, I am providing help with this method only for Supporters.

    • App decryption was significantly improved since last release

    • Keymapping elements are now saved properly. No more random vanishing.

    • Now dock and menu dock are hidden during Gaming mode. Press Alt or Option to switch between modes.

    • Fixed bug with mouse stuck after cutscenes in game

    • Alternative decryption method is now available for everyone

    • LMB / RMB / MMB bind (use Shift + R , L, M to bind)

    • Auto screen resize. Now screen will be resized automatically in such games as Wildrift, Among Us e.t.c. No more broken resolution.

    • However if you would like to set custom resolution, you can use Shift + Arrows to move screen, or Shift + '+' / '-' to change screen width. Or Control + Shift + '+' / '-' to change screen height.

    • External mouse users be aware, that right now you should unplug the mouse after each setup. I'll make feature to select Trackpad/ Mouse optionally in future.

    • Intel user notice

    • Now to show or hide cursor, you will just need to press 'Alt' button. No need to hold anymore.

    • Various UI bugs were fixed

    Source code(tar.gz)
    Source code(zip)
    Installer.0.6.0.zip(1.03 MB)
  • 0.5.0(Aug 11, 2021)

    • For those apps which currently crashes there is a new checkbox. Now you can export such apps for Sideloadly and then install on Mac.
    • iOS support. With Sideloadly, you can also play any game with Mouse & Keyboard support. Just enable them in Assistive Touches menu. Fullscreen is ofc disabled.
    • System specific bug fixes
    Source code(tar.gz)
    Source code(zip)
    Installer.0.5.0.zip(1.12 MB)
  • 0.4.0(Aug 9, 2021)

    In this release you still can't decrypt some apps, but this system was massively improved.

    If you have decryption error, please download .ipa from AppDb.

    • Better error handling for decryption

    • New decryption method

    • New patch method

    • Now app will clear cache on crash

    Source code(tar.gz)
    Source code(zip)
    Installer.v0.4.0.zip(591.72 KB)
  • 0.1.1(Aug 8, 2021)

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Sparrow Code 31 Jan 3, 2023
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Страницы доступны на sparrowcode.io/en & sparrowcode.io/ru Как добавить свое приложение Добавьте элемент в json /ru/apps/apps.json. Если ваше приложен

Sparrow Code 30 Nov 25, 2022
Wasmic allows you to run WebAssembly in a safe way on iOS.

wasmic-ios Bootstrap $ git clone https://github.com/kateinoigakukun/wasmic-ios.git $ git -c submodule."fastlane".update=none submodule update --init -

Yuta Saito 58 Dec 12, 2022
Allows you to emulate an Android native library, and an experimental iOS emulation

unidbg Allows you to emulate an Android native library, and an experimental iOS emulation. This is an educational project to learn more about the ELF/

Banny 2.5k Dec 30, 2022
Asset Catalog Viewer allows you to browse and export renditions in an asset catalog (.car) file.

Asset Catalog Viewer With the Asset Catalog Viewer Mac app, you can browse and export various type of renditions in an asset catalog. Features Browse

Joey 16 Jan 1, 2023
FlutterNativeDragAndDrop - A package that allows you to add native drag and drop support into your flutter app

native_drag_n_drop A package that allows you to add native drag and drop support

Alex Rabin 21 Dec 21, 2022
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) ?? ?? by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Mobile Security 2k Dec 29, 2022
A starter project for Sample Project in Objective C.

A starter project for Sample Project in Objective C.

Zeeshan Haider 31 Jul 31, 2021
Quotes shows you famous quotes to, hopefully, give you enlightment

"Quotes" shows you famous quotes to, hopefully, give you enlightment! You can also save/favorite the quotes that you liked to review later or show to your friends!

Filipe Kunioshi 1 Mar 7, 2022
You can monitor your APIs and websites on your menubar. Gives you status code 🎉 Cool & good

Hope not. Monitor your APIs and websites on your menubar. For macOS. Right now! YyeeeHav!

Steven J. Selcuk 10 Nov 29, 2022