WAIT FOR CYDIA
At WWDC 2019 Apple released some videos directly online, with no corresponding live session. This is a list of those videos with links to the video pages.
Some sessions were presented during WWDC but then split into multiple videos when posted online. This list includes the online versions, since they don't appear in the WWDC schedule. For example WWDC included session 711, "Introducing Combine and Advances in Foundation". This was split into two online videos-- 722, "Introducing Combine", and 723, "Advances in Foundation". Both 722 and 723 are included here.
- 244 Visual Design and Accessibility https://developer.apple.com/videos/play/wwdc2019/244
- 245 Introducing the Indoor Maps Program https://developer.apple.com/videos/play/wwdc2019/245
- 246 Window Management in Your Multitasking App https://developer.apple.com/videos/play/wwdc2019/246
- 247 What’s New in ClassKit https://developer.apple.com/videos/play/wwdc2019/247
- 248 Creating an Accessible Reading Experience https://developer.apple.com/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Variables used by Scriptable. | |
| // These must be at the very top of the file. Do not edit. | |
| // icon-color: pink; icon-glyph: user; | |
| // In order to use the script, you must create a Slack app and install it on your workspace. Go here to create your app: api.slack.com/apps | |
| // There's two important configurations you must make to the app: | |
| // 1. Add the users.profile:write scope to the app. This scope is necessary to set a Slack status. | |
| // 2. Add the following redirect URL, so Slack will redirect to Scriptable after authorizing. | |
| // https://open.scriptable.app | |
| // Run the script to grant your newly created app authorization to access your Slack account. After you've done this, you can use the script in Shortcuts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Copy the function below to use in your scripts. | |
| function createWidget() { | |
| const widget = new ListWidget() | |
| const wrap = (view, isWidget) => { | |
| let wrapped | |
| const wrapWith = (key, exec) => [key, (...args) => (exec(...args), wrapped)] | |
| wrapped = Object.fromEntries(Object.keys(view).map(key => { | |
| if (typeof view[key] === "function") { | |
| if (key.startsWith("add")) return wrapWith(key, (...args) => { | |
| let cb |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Variables used by Scriptable. | |
| // These must be at the very top of the file. Do not edit. | |
| // icon-color: deep-blue; icon-glyph: book; share-sheet-inputs: plain-text; | |
| // Stock Ticker Widget | |
| let stocksInfo = await getStockData() | |
| let widget = await createWidget() | |
| if (config.runsInWidget) { | |
| // The script runs inside a widget, so we pass our instance of ListWidget to be shown inside the widget on the Home Screen. | |
| Script.setWidget(widget) | |
| } else { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class LineChart { | |
| // LineChart by https://kevinkub.de/ | |
| constructor(width, height, values) { | |
| this.ctx = new DrawContext(); | |
| this.ctx.size = new Size(width, height); | |
| this.values = values; | |
| } | |
| _calculatePath() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| # Usage | |
| const chainable = importModule('chainable') | |
| // generate a class that can use method chaining. | |
| const ChainableAlert = chainable('Alert') | |
| // construct instance |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * progressCircle(on: Stack or Widget, value: number, colour: string, background: string, size: number, barWidth: number) : Promise<Stack> | |
| * | |
| * PARAMS | |
| * on - the stack or widget to add the progress circle to | |
| * value - a number between 1 and 100 to be the circle percentage or a number between 0 and 1 to be the circle percentage | |
| * colour - a HTML supported (hex, rgb, hsl) colour for the progress of the circle. Alternitively, it can be two HTML supported colours seperated by a hyphen (white-black) for the first colour to be active on light mode and second on dark mode | |
| * background - a HTML supported (hex, rgb, hsl) colour for the unfilled progress of the circle. Alternitively, it can be two HTML supported colours seperated by a hyphen (white-black) for the first colour to be active on light mode and second on dark mode | |
| * size - the size of the progress circle | |
| * barWidth - the width of the circular progress bar |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| UI.view = RootView() | |
| function RootView() { | |
| const [isLoading, setLoading] = createSignal(true) | |
| const [xcodeGroups, setXcodeGroups] = createSignal([]) | |
| fetchXcodes().then((xcodes) => { | |
| setLoading(false) | |
| setXcodeGroups(groupXcodes(xcodes)) | |
| }) |