Giter Club home page Giter Club logo

pastcuts's Introduction

Pastcuts

Import iOS 15+ shortcuts on 13/14, and convert some actions to iOS 13/14

Supported actions:

(Thanks to https://www.reddit.com/r/shortcuts/comments/opak23/backward_incompatibility_of_ios_15_shortcuts/)

  • is.workflow.actions.output -> is.workflow.actions.exit
  • is.workflow.actions.returntohomescreen -> is.workflow.actions.openapp to SpringBoard
  • is.workflow.actions.file.select -> is.workflow.actions.documentpicker.open with WFShowFilePicker on
  • If WFGetFilePath in is.workflow.actions.documentpicker.open and WFShowFilePicker not true, set WFShowFilePicker to false
  • com.apple.shortcuts.CreateWorkflowAction -> is.workflow.actions.openurl with shortcuts://create-shortcut
  • (iOS 13) is.workflow.actions.openworkflow -> is.workflow.actions.openurl with shortcuts://open-shortcut?name=(shortcut name)
  • Get Device Details Global Var -> magic var to Get Device Details action

Modern Action Names

Pastcuts has the option to also enable using modern action names.

Things needed to be changed:

  • Improve code
  • For iOS 13, either convert the iOS 14 Calculate Expression to a group of actions or javascript that mimic the behavior (would work in stock but may be less reliable) - or add action using Calculate.framework (more reliable but wouldn't work in stock)
  • For iOS 13-14.2, mimic the Set Wallpaper action in a jailbroken state. Make damn sure that the input can be a wallpaper - Set Wallpaper was in iOS 13 betas but very quickly scrapped due to bad inputs causing respring loops and wasn't added back until iOS 14.3. I have test devices on iOS 13, but none on iOS 14 so not sure if my bad hacky workaround for custom shortcut actions works on iOS 14, so maybe for iOS 14.2 just play it safe and have it be a Powercuts action.
  • Move away from using Cephei for preferences
  • Mimic iOS 16.2's Get Wallpaper action
  • Option to change WFColor for a more modern version, or older version
  • Look into iOS 12 support
  • Multilingual support (use multilingual modern action names (no translators needed for this, just use native localized strings), ask for translators for preference bundle)
  • Potentially hook -(void *)initWithRecord:(void *)arg2 storageProvider:(void *)arg3 migrateIfNecessary:(bool)arg4 environment:(long long)arg5 error:(void * *)arg6 {

Refs may be helpful in future:

pastcuts's People

Contributors

0xilis 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.