6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

iOSのショートカットアプリでPythonコードを実行する方法

Last updated at Posted at 2021-09-19

ご注意

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実行」にしてください。
Python実行_ショートカット.png

「テキスト」は下記を入力してください。

<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コードを記述した「テキスト」を入力します。

Pyテスト 5.png

3. Pythonコードを埋め込んだショートカットを実行する

2で作成したショートカットを実行するとPythonコードが実行されて、「document.write」した結果がテキストとして返却されます。サンプルでは、「通知」で返却されたテキストを表示します。

Pyテスト 6.png

その他

Apple Watchで実行

サンプルをApple Watchで起動した結果は下記となります。

IMG_7765.PNG

課題・不明点

  • Brythonライブラリは毎回ロードされているのか?もしくはキャッシュされているのか?
  • 日本語の文字化け
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?