Git Product home page Git Product logo

ipasim's Introduction

ipasim

Build status Downloads

This repository contains source code of ipasim, an iOS emulator for Windows. It takes a compiled iOS application and emulates it. However, only the application's machine code is emulated, whereas system functionality originally provided by iOS is translated to an equivalent functionality available on Windows. More detailed documentation is available.

Project status

Currently, only simple applications can be emulated. Working samples can be found in folder samples. For more information about (un)implemented features, see author's thesis, its Conclusion in particular.

Alternatives

Cloning the repository

We use Git Submodules (recursively), so make sure you clone with --recurse-submodules. We also use Git LFS, so make sure you have that installed if you want to get all files. You might also want to use --depth 1 for a faster checkout.

Building and installation

If you want to use the emulator, you can either build it from sources (that's slow), use partially prebuilt artifacts (that's fast and recommended if you want to make changes; however, you still need to have Docker and Visual Studio installed) or just use prebuilt binaries (recommended if you don't want to make changes).

Directory structure

  • deps contains third-party dependencies (mostly as Git submodules because patching was necessary).
  • docs contains documentation and issues.
  • include has C++ headers of the project.
  • samples contains sources of sample iOS applications and some other samples.
  • scripts contains various scripts, mostly supporting build of the project.
  • src contains C++ sources of the project.
    • HeadersAnalyzer is a tool that runs at compile-time, generating supporting code for the emulator.
    • IpaSimulator is the emulator itself.
    • objc contains our port of Apple's Objective-C runtime to Windows.

Executive summary

Poster preview

Research

ipasim's People

Contributors

fengjixuchui avatar jjonescz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.