pg05
iPad のショートカットによるプログラミング
iPadのOSのバージョンが iOS14.0.1に更新されているものとします(iPadOS14.0.1が2020年9月25日にリリース )。
更新前のiPad(iOS13.6など)では資料のスクリーンショットとは一部異なるところがあります。メニューやアクションが探し出せない時は挙手してヘルプを呼んでください。SAの学生が駆けつけて対応します。
「ショートカット」はAppleが提供するiPadやiPhoneの用アプリです。iPadなどで行う様々な操作手順を登録しておいて自動的に実行させることができます。
操作手順の登録は、アクションと呼ばれる機能をメニューから選択して順に並べるだけで作成できます。
プログラミングも可能で制御フローや変数を利用したショートカットを作成することができます。
参考記事:
https://qiita.com/chocolamint/items/1d076428451a0a192d51
https://qiita.com/mh_mobiler/items/578c7a179cbc917e551e
オートメーション
NBU-WiFi に接続後に大学のWebを表示するオートメーションを作成する。
大学のWebのURL : http://www.nagoya-bunri.ac.jp
作成後にNBUWiFiに接続すると自動的に大学のWebが表示されることを確認する。
このオートメーションが邪魔な場合、「無効」しておくこと。
または、メニューから左スワイプで削除する。
ギャラリー
ショートカットの見本を見つける。
トップニュースをブラウズ
を利用する。
メニューの項目に NBU を追加して
次のRSSフィード URLを設定する。
メニューの修正とRSSフィードURLの設定
マイショートカットに ショートカットを作成する
ショートカット名 IPアドレス
スクリプティングからコマンドを2つ追加
画像はiOS13.6の時点のもの。
表示のアクションは iOS14.0.1で「書類」の分類のプレビューの項目に移動されている。
表示アクションの代わりに、「通知を表示」を利用してもよい。
IPアドレスの取得をグローバルIPとローカルIPで切り替えることができる。
グローバルIP 大学が外部と通信する際に利用しているIPアドレス
ローカルIP 各自のiPadが通信に利用しているIPアドレス
NBUWiFiは透過型のプロクシーを利用している。各自のiPadはプロクシーサーバを経由して外部と通信している。
ここで出てきたネットワークの用語について調べてみるとよい。
ショートカット名 点滅サイン
左のようにiPadの明るさを変えて点滅させるアクションを作成してみよう。
(画像は iOS13.6の時点もの)
待機は1秒単位でしか設定できない。
ショートカットの実行が終わると、画面の明るさは0%となり不便。
ショートカット名 点滅サイン1
変数を利用する練習をする。
ショートカットの開始前の画面の明るさを 変数「ライト」に記録する。
(別の方法)
変数「ライト」を用意しなくても マジック変数「画面の明るさ」にショートカット開始時点の明るさは記録されている。
マジック変数を利用すれば、変数を新し作成しなくても済む。
アクション「明るさを設定」の数値部分を長押しタップすると項目設定メニュが表示される。そこからマジック変数を選ぶことができる。
点滅終了後に明るさを復旧するコードを加える。
明るさを 「明るい」「暗い」の2つに分けて設定する。
明るさが 0.5 より大きければ 明るいとし、小さければ 暗い として復旧させる。
仮体温
乱数の利用例と計算
変数「体温」に複数の値を格納して統計処理(平均)を求める
マジック変数を利用して Average ÷ 10 を計算
スクリプティングの計算
数値の部分で毎回尋ねる を設定する。
計算結果を通知に出すようにアクションを追加する
数値入力の画面
課題1
マイショートカットを作成する。
Webclassにスクリーンショットをアップロードする。
説明をスクリーンショットに書き加えておくこと。
テーマ: 自由に決めてOK
例) 簡単な計算プログラム。スクリプティングの「計算」アクション を利用する。数値の部分を「毎回尋ねる」に設定するとよい。
例)乱数を使ったくじ引きに類するもの。当たりの確率を決めて、当たったかどうかを if で判定して メッセージで通知する。
例)ショートカットのギャラリーから選んで改造する。
Swift Playgrounds の続き
コードを学ぼう1(Learn to Code1) を続けてください。
目標: for ループ まで進めて繰り返し処理について学ぶ。
自習(予習)まだ使用したことのないテンプレートを試す。
「対話」 のテンプレートから文字の入力と出力のコード 、文字列の結合処理について学ぶ
自習(予習)まだ使用したことのないチャレンジを試す。
「ブロック崩し」でブロックを配置するコードについて学ぶLayout(レイアウト)の解説のところまで進めるとよい。
応用課題
次回で取り組みます。
図形テンプレート で for ループを使用して図形を画面に整列配置する