Code Monkey home page Code Monkey logo

bigpipenergy's Introduction

BigPipEnergy

Tweak that removes the iOS restriction on PictureInPicture (PiP) size. This was created so that the PiP mode on iPads was more useful for people like myself who like to scroll through reddit while watching a show casually.

It also works on iPhones that have used other tweaks to enable PiP (such as ipadify or ForceInPicture).

Note: I've ONLY tested it on my iPhone X; the plan is to test this on an iPad Pro once the uncover jailbreak is released.

Examples

Note that this example is on iPhone so its usefulness is not as pronounced.

before tweak Before the tweak is enabled, the PiP is restricted by iOS and can't get much bigger. after tweak After being enabled, the PiP can become huge (to the the point that its not really useful on iPhones)

How it was made

This was only my second tweak so for any other beginners, I will outline the steps I took to reverse engineer the solution:

  1. I searched iOS 13 for headers relating to PiP on limenos (https://developer.limneos.net/index.php).
  2. I found a few headers and looked through each of them for methods that mention constraints or restrictions
  3. Some methods that stood out to me: _updateContentViewLayoutConstraintsWithContentViewSize, (CGSize)_constrainContentViewSize:(CGSize)arg1, (CGSize)maximumContentViewSizeForAspectRatio:(CGSize)arg1.
  4. I hooked onto those methods and logged (NSLog) to see what the arguments were and how they changed to make a guess as to what each method was being used for
  5. Repeat step 4 a lot but change the return value of the methods and see what happens.
  6. Voila!

Copyright GNU GENERAL PUBLIC LICENSE (feel free to use the code, just keep it open source)

bigpipenergy's People

Contributors

itsjafer avatar

Stargazers

Jesse Huelbig 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.