Omega’s Dev Tools
A set of tools that includes an updater, external updater, and many other functions!
What this shortcut does
Omega’s Dev Tools This shortcut has a built-in updater based on Pro Updater , and also a bunch of other functions. Please read more about how this work below, or just read the installation instructions if you’re not a developer. Info for Users If you’re not a developer and you’re here, it’s probably, because a shortcut requires it. You just need Actions by Sindre Sorhus in order to install this shortcut. It is used for many functions, formatting folders, and checking for and running updates for shortcuts. This shortcut doesn’t do much when you run it, other than give you the option to clear temporary data, check for updates in shortcuts that support external updates, and give feedback via the feedback Google form. When shortcuts run it with a special input, it will do some things for them to make it easier. One of the best features is the external update which developers can easily add so you can just run this shortcut and select the shortcut you want to updates and if it supported, it will just work! click here to learn more. Here’s a chart of ODT’s built in updater compared to some others: NOTE: Lightning updater does have update skip management. My error in reading the code of it. Sorry lol. If you don’t like the default updater, there’s more options you can override it to in the settings: BitUpdate by @ashbit_ — has a verity of technical features. Pro Updater by @ProCreations — A fast, easy to use, updater without many advanced features. Lightning Updater by @TheUser — A quick, semi-advanced updater, that also supports rollbacks. Just Another Generic Updater (J.A.G.U.) by NO_LYMT — Just a generic updater with a good name lol. Note: this was last updated with version 1.3.1 of ODT on October 21, 2023. Functions (For Developers) This will be a list of every function, and its inputs and outputs in this shortcut, but, first, I need to give some extra info: This shortcut creates 4 folders that either are meant to be used by other shortcuts or are only meant to be used by functions. Here is a list of them below: The settings folder - iCloud Drive > Shortcuts > _settings - this folder is meant to only be used by the Save settings and get settings functions in this shortcut. The logs folder - iCloud Drive > Shortcuts > _logs - this folder can be used by any shortcut for logs. Preferably, each shortcut should create a sub-folder of this folder for better formatting. The In_use folder - iCloud Drive > Shortcuts > In_use - this is meant to be used by any shortcut for any temporary data . The user can delete the entire contents of this at any time using the shortcut, so please only use this while a shortcut is running and delete your files after. The cache folder - iCloud Drive > Shortcuts > _cache - this is designed to be used by any shortcut for cached data. Please create a sub-folder and put data inside of there for formatting purposes. All of the above folders are creating as soon as Omega’s Dev Tools runs no matter the input, before any other function even starts. If you want to support external updates via ODT, which allow users to update in a much easier way by letting them run ODT and allow them to check for updates for your shortcut, create a valid dictionary for the updater function and output that when ran with the input outputUpdateInfo . If you don’t understand, click here to learn more. If you require ODT or just support ODT External updates, please put the markdown code below in your shortcuts description on : []( It should look like this: (Credit to @ProCreations for designing this for me) If you want an example for all functions , please check out the ODT Example shortcut. If you want documentation, info about each function is below: Updater Set the input variable in the dictionary to the shortcut into to checkForUpdates to activate this. Note: This is based on Pro Updater by ProCreations . Other required variables in the input dictionary: currentVer - this is the current installed version of your shortcut ID - the ending number in a url. dev - the developer/author of the shortcut. shortcutName - enter the name of your shortcut. Other optional variables in the input dictionary: betaID - A 2nd ID that will be used when the currentVer variable contains beta , alpha , rc , pre , and/or test .Though it does not have to be a specific case and is therefor not case sensitive/ Output(s): Update installing - your shortcut did need updated and the user choose to install the update Update skipped - your shortcut did need updated, but the user chose to skip it. No Updates - your shortcut is up to date. Error - Offline - the device is not online, so it cannot check for updates. Error - missing input - not all of the inputs that are required were provided. Error - There was an error at some point and none of the other outputs could be used. Internet Checker Set the input variable in the dictionary to the shortcut into to isOnline to activate this. Output(s): online - your successfully connected to the internet offline - your not connected to the internet Random Hash Generate Set the input variable in the dictionary to the shortcut into to genRandomHash to activate this. Output(s): It will output the result random hash, for example: d9bc284b0252bec1379c8cb1d2d1dcadb5f2d4b7 Get Dev Tools Version Set the input variable in the dictionary to the shortcut into to getDvToolsVersion to activate this. Output(s): It will output the version of the Dev tools, like for example: 1.0.0 . Result Viewer Set the input variable in the dictionary to the shortcut into to showOutput to activate this. Other required variables in the input dictionary: outputToShow - what you would like it to show. Output(s): successful - no errors User canceled - the user pressed the “Do nothing else” button Share Shortcut Set the input variable in the dictionary to the shortcut into to shareShortcut to activate this. Other required variables in the input dictionary: shortcutName - the name of the shortcut being shared shortcutURL - the URL to the shortcut that will be shared shortcutAuthor - the author/developer of the shortcut being shared. Output(s): Shared via QR Code - the user chose to generate a QR code and share it. Shared - the user chose to share it another way Canceled - the user canceled it. Save Settings Set the input variable in the dictionary to the shortcut into to saveSettings to activate this. Other required variables in the input dictionary: shrtAuthor - the author of the shortcut (Cannot contain special characters) shrtTechName - the shortcut name (Cannot contain special characters) settings.contents - The settings to save settings.filename - the name of the file that the settings should be saved in (Don’t put in the file extension, cannot contain special characters) Output(s): Error: necessary input not provided - you did not provide one of the required inputs. Saved - the settings should have been successfully saved Get Settings Set the input variable in the dictionary to the shortcut into to getSettings to activate this. Other required variables in the input dictionary: shrtAuthor - The author of the shortcut (Must be the same as when saved.) shrtTechName - the Technical Name of your shortcut. (Must be the same as when saved.) settings.filename - the filename of the setting’s file. (Must be the same as when saved.) Output(s): it will output the setting (the contents of the settings.contents variable when saved.) unless there is an error Error: necessary input not provided - you did not provide all the inputs needed. Error: settings edited or corrupted - the contents of the settings do not match the checksum from when they were saved. Error: Missing File - the setting you are trying to get does not exist. Prompt Authentication Set the input variable in the dictionary to the shortcut into to promptAuthentication to activate this. Output(s): Authenticated - the User successfully provided Face ID/Touch ID authentication Refused - the User did not successfully authenticate. Markdown To Rich Text Set the input variable in the dictionary to the shortcut into to convertMDtoRT to activate this. Other required variables in the input dictionary: markdownToConvert - the original text in markdown formatting to be converted. Output(s): The output will be the markdown converted to rich text. Validate File Name Charcters Set the input variable in the dictionary to the shortcut into to validateFilenameCharacters to activate this. Other required variables in the input dictionary: original_input — the text that needs to be validated Output(s): This function will output the original text without characters that can’t be in file names. Feedback I want to make this easy to use for all developers, and would like to improve things by improving existing functions, adding new functions, and more. If you have constructive feedback, please fill out this Google Form to help me add new features and improve things. Try the beta Under my 2nd account, Betabird113 , I’ve published a beta version of ODT. Click here to view it’s page . Installation It only requires the shortcut app & the Actions app by Sindre Sorhus. Once you have all the apps you need, you’ll just need to press “get shortcut” on this page and get it.
Works with
Before you start
Required apps
- Shortcuts
- Actions
Set up your shortcut
01. Open in Shortcuts Library
Review the details and select Install.
02. Review in Apple Shortcuts
Check the actions and permissions, then add the shortcut.