ご注意
2022/08/02 時点で本記事の内容を実行するとエラーが発生して、失敗します。
「Webページの内容を取得」でbrython.min.jsを読み込む際に発生します。
本記事については、過去に実施した手順のメモとして残します。
2023/03/21 時点で、iOS 16.3.1 とwatchOS 9.3.1 の組み合わせで動作することを確認しました。
概要
iOSのショートカットアプリはURL (データスキーム) にJavaScriptを埋め込み、「WEBページの内容を取得」を使うことでJavaScriptを実行できます。これとBrythonを組み合わせたらPythonコードを実行できましたので、手順をまとめます。
この方法で作成したショートカットはApple Watchでも動作しました。
手順
1. Python実行用の汎用ショートカットを作成する
下記のショートカットを作成して、名前を「Python実行」にしてください。
「テキスト」は下記を入力してください。
<script src="https://cdn.jsdelivr.net/npm/brython@3.8.0/brython.min.js"></script>
<script type="text/python">
ショートカットの入力
2. Pythonコードを埋め込んだショートカットを作成する
下記サンプルようなPythonコードを埋め込んだショートカットを作成します。
「テキスト」に実行したいPython(Brython)コードを記述します。
Pythonコードで出力する場合は「document.write」を使用してください。
次に「ショートカットを実行」で、1で作成したショートカットを実行します。
このとき、Pythonコードを記述した「テキスト」を入力します。
3. Pythonコードを埋め込んだショートカットを実行する
2で作成したショートカットを実行するとPythonコードが実行されて、「document.write」した結果がテキストとして返却されます。サンプルでは、「通知」で返却されたテキストを表示します。
その他
Apple Watchで実行
サンプルをApple Watchで起動した結果は下記となります。
課題・不明点
- Brythonライブラリは毎回ロードされているのか?もしくはキャッシュされているのか?
- 日本語の文字化け