もう一人のY君

iPhoneアプリのレビューやアップデートレビューなどを書いています. たまに数学の記事も書きます.

もう一人のY君 MENU  MENU

【iPhoneショートカット】メモの指定キーワードを目立たせる

 

 メモアプリには検索機能自体はありますし該当箇所はある程度目立ちます.

 しかしもっと目立たせるよう工夫してみます.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.2.1

 

 

スポンサーリンク

 


 

 

 

該当キーワードのみ目立たせる

 まず適当な方法でメモを取得します.

 一番無難な手段は「メモを検索」と「リストから選択」でしょう.

 「メモを検索」は慢性的なバグがあり、特に名前などでフィルタしようとするとかなりの確率でエラーを起こします.

 今回文字列を目立たせるためにリッチテキストを利用します.

 「テキストを置き換え」で改行\nを<br>に置き換えます(オプションの「正規表現」をオンにします).

 続けて「テキストを要求」で目立たせたい文字列を指定します.

 

 

 使用するhtmlは必要最低限です.

 bodyタグ内に改行を置き換えた結果だけをpタグで囲んだものを入れます.

 

 

 あとは「入力を要求」で指定した文字列の部分を何らかの形で目立ちます.

 画像のようにbタグで太字にしたり色を他の文字や背景色以外のわかりやすい色にしたり、フォントサイズを大きくしたり…ですね.

 その結果をリッチテキストに変換して表示すれば完了です.

 画像で表示前にホーム画面に移動しているのは最後の「Web表示を表示」アクションのバグ回避なので使用する端末やOSによっては不要です.

 

 

 これで指定した文字列をメモアプリとは違った形で目立たせることができます.

 

 

該当キーワードを含む行を目立たせる

 上では指定キーワードのみ目立たせました.

 次はキーワードを含む行を目立たせてみます.

 

 

 メモを選ぶまでは前回と同じですが、今回は改行の処理を後回しにします.

 予めメモを変数に置き、検索するキーワードを「入力を要求」で取得したのち「一致するテキスト」で

 

.*指定入力.*

 

に一致させます.

 

 

 取得したメモ(を変数に置いたもの)のうち".*指定入力.*"に一致した箇所を目立つ表現で置き換えます.

 一致した箇所が複数あるかもしれないので「各項目を繰り返す」を使いましょう.

 先程は「指定入力」が対象でしたが今回は「各項目を繰り返す」を使っているので「繰り返し項目」に置き換えます.

 置き換え後に必ず「変数を設定」で更新します.

 置き換えた結果の改行をこのタイミングで<br>に置き換えます.

 

 この結果をhtmlのbodyタグへ挿入します.

 (先の例でword-breakを入れ忘れていました)

 

 

 これで該当キーワードを含む行のみ目立たせることができました.

 

 

 後者は通常のキーワード検索ではできない機能なのでなかなか便利です.

 

 

 

【iPhoneショートカット】レシピのファイルサイズを調べる

 

 アプリアイコンをホーム画面に追加して使っている人は結構いると思います.

 ショートカットからレシピのファイルサイズを調べてみます.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.2.1

 

 

スポンサーリンク

 


 

 

 

変数からファイルサイズを指定

 任意のレシピは「マイショートカットを取得」アクションから取得できます.

 しかしこれだけだと「すべてのショートカット」あるいは任意のフォルダから取得することになります.

 

 

 ファイルサイズの指定は対象の変数をタップすると変更できます.

 

 作成しているレシピの数が多い場合は「ファイルにフィルタを適用」アクションを利用してある程度絞ることで処理時間を省けます.

 ファイルサイズだけを出力するだけなら「結果を表示」などでファイルサイズを指定するだけなのですが、対象が複数の場合は「各項目を繰り返す」で名前などとセットにして変数に追加し、その変数を表示されることで各結果がどのレシピかを判別できます.

 

 

 参考までにRoutinehubで公開中のBattery Checkerは最新版でも43KBしかありません.

 

 

 

 では「アプリを開くレシピ」の場合はどうでしょう.

 

 

 ちなみにレシピ名は重複しない(させてくれない)ので名前がわかっていればフィルタの時点でひとつに決まりますね.

 

 

 結果は27KBでした.

 単純計算で38個でやっと1MBを超えるレベルということです.

 アクションによっては更に小さく26KBの場合があります.

 

 

 

 よっぽどな構成でない限り50KBを超えるのも難しいレベルです.

 

 逆に画像のように数百KB、ヘタをすると1MBを超える場合があります.

 ここまで肥大化する最大の要因はエンコードメディアです.

 BASE64などでエンコードしたテキストは単体で数万文字、数百KBに及びます.

 特にvCardメニューでは項目の数だけBASE64エンコードテキストが増えるのであっという間にファイルサイズも大きくなります.

 見栄えはいいですが代わりに他のアプリと遜色ないファイルサイズになるデメリットを持ち合わせているわけですね.

 

 画像のトップにあるApple Framesは各端末のフレーム画像を用意している影響で、やはりBASE64エンコードした画像がその分用意されていることによります.

 

 

 ちなみに古いバージョンの頃は今と仕様や機能がシンプルだったというのもあってか更にファイルサイズが少なく、今のおよそ1/10くらいです.

 

 

 追加したアイコンそのもののファイルサイズも、スクリーンショットなどに比べるまでもなく微々たるものです.

 

 整理整頓さえできていれば多少量産しても容量不足などの懸念とは無縁であることがよくわかります.

 

 

 

【iPhoneショートカット】Googleフォーム経由でスプレッドシートに情報を書き込む

 

 リクエストに答えてGoogleフォームとスプレッドシートについて取り上げます.

 

 日々の日記や投薬記録、家計簿など、様々な記録をGoogleフォームを介してGoogleスプレッドシートに記録できます.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.2.1

 

 

スポンサーリンク

 


 

 

 

Googleフォームの欠点を補う

 アンケートや問い合わせなどで使ったことがあると思います.

 Googleフォームから送信した情報は指定のスプレッドシートに送信できるため、Googleフォームを経由してGoogleスプレッドシートにデータを書き込むことが可能です.

 

 もちろん直接Googleフォームのリンクから書き込んで送信してもいいですが項目が増えるとページ送りする手間が生じます.

 スプレッドシートもセルがアクティブかどうかで操作性に難があります.

 他にあるデメリットとして挙げられるのは郵便番号の自動入力でしょうか.

 ショートカットならAPIを経由できるのでGoogleフォームだけではできない様々な処理を補うことが可能です.

 

 実際には他にもGASを使ってもっと便利になるのですが、今回は基本的な内容に留めます.

 

 

 まずはフォームを作成します.

 

docs.google.com

 docs.google.com/formsにアクセスするとフォームを新規作成できます.

 タイトルや各フォームを好きに追加・編集します.

 

 ここではデフォルトで追加されているラジオボタンで選択肢を2つにした状態にします.

 

 

 

フォームの構造

 編集画面右上にある三点アイコンをタップして「事前入力したURLを取得」をタップします.

 

 通常のフォーム入力と同じように各質問を入力できるので、適当に選んだり入力して「リンクを取得」をタップし、画面下に出てくる「リンクをコピー」をタップします.

 

 

 コピーしたURLを見ると画像のようになっています.

 モザイクをかけた部分はフォームを指定する文字列です.

 

 

 後ろに続く「&entry/xxx…=~」という部分が各質問のパラメータとその値に該当します.
 デコードすればわかりますがイコールより後ろの%E9%81…は「選択肢2」を意味します.

 

 

 なので今回の場合ラジオボタンの「選択肢1」が選択された状態にしたいなら、最後の"2"を"1"にしてアクセスすれば良いわけです.

 各々の質問に該当するパラメータの値を弄ってアクセスすれば、その通りに選択・入力されたフォームで表示される…というわけですね.

 

 

 質問が複数でも同じであることは実際に確認することでもわかります.

 

 なお各質問の順序はモザイクで隠した部分で決まっています.

 各パラメータの順序が変わっても質問の順序は変わりません.

 

 

レシピ例1:ラジオボタンと記述式のレシピ

 簡単な例として、まずラジオボタンと記述式(改行不可の入力フォーム)の二つを使ってみます.

 

 

 こんな感じです.

 

 先の説明にあった「事前入力したURLを取得」から適当に回答したURLを取得し、ショートカットレシピの「コメント」アクションにでも貼っておけば行ったり来たりする手間が省けます.

 

 

 レシピの作成例です.

 ラジオボタンは複数の選択肢からただひとつ選ぶので、選択肢を「リスト」アクションに入れ、それを「リストから選択」でひとつ選ばせるのが妥当です.

 

 記述式の質問はシンプルな一行テキストですから「入力を要求」で十分です.

 

 あとはこれらを該当するパラメータの値に置き換え、URLエンコード(デコード)した上で開きます.

 

 

 レシピができたら実際に確認します.

 

 希望通り選択と入力がなされています.

 

 

 

レシピ例2:日付と時刻

 もうひとつ、日付と時刻の場合にも触れておきます.

 

 

 日付と時刻は構文が指定されており、画像からわかる通りそれぞれ

 

yyyy-MM-dd
HH:mm

 

である必要があります.

 日付のフォーマットはショートカットでは標準装備です.

 

 「入力を要求」で日付と時刻を入力させ、各々のパラメータに日付と時刻を置き換え、エンコード→表示で完了です.

 

 

 挿入した日付などの変数は一度タップして「日付フォーマット」を「カスタム」にし、例えば日付であれば入力欄にyyyy-MM-ddと、時刻の場合はHH:mmと入れます.

 

 ※カスタムフォーマットでは一度変更しても反映されないバグがあります。もう一度入力すると正しく反映されます。

 

 

 完成したら実行して確かめます.

 

 

 

GoogleフォームをGoogleスプレッドシートに連携する

 最後に、作成したフォームの回答をGoogleスプレッドシートに集計できるようにします.

 

 

 対象のGoogleフォームを開き、「回答」タブをタップしてGoogleスプレッドシートのアイコンをタップします.

 

 新しいスプレッドシートを作成するか既存のスプレッドシートを選択するか問われるのでどちらかを選んで「作成」をタップすると、タイムスタンプに加えフォームに沿った質問の項が並んだシートが作成されます.

 

 

 この状態で記録すれば、Googleフォームだけでなく指定のGoogleスプレッドシートにも記録されていきます.

 

 

 Googleフォームには他にもチェックリストやプルダウンなども選べます.

 一度作っておけば様々な記録が少し楽になります.

 

 

【iPhoneショートカット】切り替え可能なパラメータを組み込む

 

 レシピを組んでも、目的によっては後でパラメータを変えて使いたい…ということがあります.

 

blog.thetheorier.com

 先日更新したUSLauncherの言語設定がそれに当たります.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.2

 

 

スポンサーリンク

 


 

 

 

シンプルなやり方

 例えば任意の数や文字列と一致するかどうかなどで判断するのが一番カンタンです.

 しかしこれだとひとつに対してしか対象にできません.

 

 

「テキスト」リストを使う

 条件となる対象が複数ある場合はifの条件として「テキスト」アクションや「リスト」アクションを使う手があります.

 

 しかし他の種類のデータを混ぜることはできません.

 

 

辞書を使う

 そこで「辞書」アクションを使ってみます.

 辞書であればキーと対応する値の組み合わせなので値がなんのデータであるかをキーの方で特徴づけられます.

 そのため画像ではflag1の一組しかありませんが他のデータを混ぜても混乱しません.

 なおブール値を使う場合はif文の条件の方で種類をブール値に指定する必要があります(赤の矢印).

 

 

切り替え可能なデータ(応用)

 上記を応用します.

 

 

 上では該当の「辞書」の値であるフラグで異なる「結果を表示」にしているだけですが代わりに数やテキスト、辞書に置き換えます.

 

 

 このif文の結果を利用すれば、指定のフラグに応じて異なるデータに切り替えることが可能です.

 

 

実用例

blog.thetheorier.com

 はじめに紹介したこちらのレシピで実際に組み込んだものです.

 それまでコメントに日本語と英語を混ぜていたのを今回のアイデアでどちらかのみに指定します.

 

 

 「辞書」アクションは数やテキストなど複数の種類をまとめて扱える便利なアクションです.

 そこでこの中に他のものと混ぜて言語指定用のキーと値を入れておきます.

 今回は日本語と英語だけなのでブール値を使っています.

 

 

 然るべき場所で言語指定のキーの値を取り出し、if文で日本語・英語それぞれのコメントを成すデータを書き分けます.

 今回は項目がそこそこあるため「テキスト」アクションを使いjsonで辞書を手書きしています.

 結果的に辞書として取得できればこの方法でも問題ないわけです.

 あとは該当の箇所で各々のキーの値を取り出し、活用します.

 

 今回のように各々で同じキーを入れて使えば、条件に応じて同じキーの値が変わるというわけです.

 

 

 こうして得た「辞書」はシンプルに使うだけならそのまま必要な箇所で使用し(画像①)、定型文を含む場合は必要に応じて予め分割して「テキスト」アクションと「テキストを置き換え」アクションを併用します(画像②).

 今回は文字列の重複を避けるために置換する項目は_versionという風に頭に"_"を入れた定型文にした上で置換しています.

 

 この例では日英の2通りなのでブール値で十分ですが、3通り以上なら数字などで場合分けするのが無難です.

 

 

 実用例では日英というテキストの切り替えでしたが当然数のようなパラメータでも可能です.

 

 仕組みさえ分かればあとは好きに応用するだけです.

 

 

【iPhoneショートカット】USLauncherのコンテンツを追加しました【20231130】

 

f:id:thetheorier:20211231140803p:plain

 2023年11月の更新です.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 

 

スポンサーリンク

 


 

 

ダウンロード

github.com

 こちらから、最新のjsonファイルを選んで「ファイル」アプリにダウンロードしてください.
 基本的には過去に保存した場所と同じフォルダーにすると楽です.

 ※リクエストに伴い個別配布した方もこちらに差し替えてください.

 

 

blog.thetheorier.com

 上でダウンロードした配布データおよびレシピに関してはこちら.

 

 

URLスキームの追加・削除

 バージョンの後ろに"?"がついているものは, 調べたバージョンより古いバージョンから変更された可能性があります.

 

 

  • AIP Viewer v2.0.30
    追加:msauth.com.microsoft.intunemam://
  • BeReal v1.17.1
    追加:amzn-AlexisBarreyat.BeReal://
  • Super Mario Run v3.0.30
    削除:supermariorun://
    追加:redbull://
  • tenki.jp v3.18.10
    削除:tenki.jp://
  • 原神 v4.2.0
    追加:genshin://
  • 崩壊:スターレイル v1.5.0
    追加:hsr://
  • メメントリ v2.2.0
    削除:twitterkit-yU472ZnQ0yEWDTfW8P9QpK7IO://

 

 

 スイカゲームがネットでバズって約2ヶ月ですね.

 

news.livedoor.com

 

news.livedoor.com

 現在Aladdin X社が提供するスイカゲームはもともとのプロジェクター内蔵のものとSwitch版のみです.

 記事にある通りiOS版やAndroid版は「開発の計画を進めて」いる状態です.

 すでにApp StoreやPlay Storeに画像や説明文の酷似する大量のアプリが存在しますがこれらはすべて公式でないということですね.

 

 公式でも2ヶ月ほど前から注意喚起しています.

 

 MusicFMやChatGPTもそうですが有名アプリ・サービスに便乗したり真似たりするアプリは絶えないですね.

 

 

 

【iPhoneショートカット】就寝時におすすめのオートメーション

 

 寝ている間にバッテリーが激減するのを経験した人は少なくないと思います.

 ショートカット・オートメーションを利用して可能な限りの対策を考えてみます.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.1.1

 

 

スポンサーリンク

 


 

 

 

就寝時のバッテリー消費抑制に使えそうな設定・アクション

 考えうる候補は

 

  • 明るさ
  • 低電力モード
  • TrueTone
  • 外観モード
  • ホワイトポイント
  • 集中モード
  • Night Shift
  • Wi-Fi
  • Bluetooth

 

あたりになります.

 

 このうち集中モードとNight Shift、外観モードは各々でスケジュールが可能なためオートメーションで組む必要は必ずしもありません.

 またWi-FiやBluetoothは就寝時という状況を考えるとわざわざオフにする必要はなさそうなので今回は除外します.

 必要ならこれらも候補に挙げていいでしょうね.

 TrueToneはバッテリー消費に有意な差が見られなかった検証ケースがあったりするので必須でないかもしれません.

 

 

就寝時のオートメーション

 効果の如何はともかく、オートメーションの組み方を簡単に紹介しておきます.

 ショートカットアプリを開き、画面下の「オートメーション」をタップし右上の+アイコンをタップします.

 トリガーは今回は23時に実行することにします、なので「時刻」を選択します.

 

 

 具体的な時刻と繰り返しを指定し、末項は「すぐに実行」にしてその下に出てくる「実行時に通知」がオフの状態であることを確認して「次へ」に進みます.

 今回はイチから組むので「新規の空のオートメーション」を選択します.

 

(この辺の仕様はiOS17で変更されています。ショートカットはiOSに応じて仕様やUIが変わることがあるので注意しましょう)

 

 

 編集画面に移動するので画面右のようにアクションを追加していき、「完了」をタップすればオートメーションが完成します.

 オートメーションで組みましたがレシピとして組んで好きなタイミングで実行した方がいい場合もありますね.

 

  • 「明るさを設定」
    目的を実行するなら迷うことなく0%です
  • 「低電力モードを設定」
    オンにすることで低電力モードが働きます.
    ・自動ロックがデフォルトで30秒
    ・明るさ
    ・自動ダウンロード
    ・メールの取得
    ・アプリのバックグラウンド更新
    などの機能が制限されます.
    特に自動ロックの制限は夜更かしを邪魔するのに役立ちます.
  • 「True Toneを設定」
    True Toneは周囲の光に合わせて色合いを調整することで目の疲れを軽減してくれる機能です.
    上で触れた通りバッテリー消費の抑制に効果があるかはなんとも言えないです.
    就寝時は基本的にはスリープして伏せていたりするものですから意味があったとしても低電力モードなどに比べたら微々たるものと考えられます.
    ユーザーガイドでは設定によってバッテリー駆動時間が伸びるものとして明るさと色、Night Shift、True Tone、ダークモード…としているため効果がゼロでないことは確かです.
    似た機能であるNight Shiftはブルーライトカットに関わる調整機能です.
  • 「外観モードを設定」
    上で触れた通り個別でスケジュールできる機能なのでそちらで設定しても問題ありません.
    バッテリー消費の抑制効果はそこそこあるようです.
  • 「ホワイトポイントを設定」
    オンにすることでホワイトポイントを下げます.
    通常より更に暗くする効果があるのですが、ホワイトポイントを下げることで今度はバックライトが自動変更され、結果消費抑制を妨げる可能性を指摘するコメントがAppleのサポートコミュニティにあったのでそれがちょっと気になります(その根拠となるソースが見当たらないので気にし過ぎかもしれません).

 

 

 

起床時のオートメーション

 就寝のために明るさを変えたのですから起きる時に元に戻す必要があります.

 これもオートメーションで組んでおきましょう.

 

 

 この場合もやることは大きくは変わりません.

 ただトリガーは例えば「日の出」にする必要があるでしょう.

 日の出、日の入りはその前後15分や30分などにもできます.

 

 アクションは先程の就寝時の逆にすればいいです.

 「明るさ」については例えば普段使う好みの値にします.

 

 

 

 これだけやっても減るときは減りますが電子部品やバッテリーの劣化に「絶対」はないのでこればかりは仕方ありません.

 特に冬期は充電効率が落ち一時的にバッテリーの劣化が起こるため、最大容量に関係なく減りを感じやすくなるでしょう(EV自動車の課題の一つでもあります).

 

 またショートカット自体がバグだらけのため、今回に限らずオートメーションが不発になることがあります.

 オートメーションの編集画面右下に再生ボタンがあるのでここから手動で実行できます.

 

 

 

【iPhoneショートカット】機種・デバイスごとに分岐させる

 

 iPhoneやiPadなど、ショートカットの使える機種を複数持っていると、同じようなレシピをそれぞれで作るのが煩わしく感じます.

 そうでなくとも同一レシピで機種ごとに機能を変える必要がある場合があります.

 簡単にできる方法を2通り紹介します.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.1.1

 

 

スポンサーリンク

 


 

 

 

①「機種の種類」を使う

 ショートカットには端末の機種の種類や名前を取得する「デバイスの詳細を取得」というアクションがあります.

 これを使って実行時の機種を判定し、処理を場合分けします.

 

 

 「デバイスの詳細を取得」を追加し、項目を「機種の種類」にします.

 機種の種類は例えばiPhoneやiPadといった分類です.

  確認を取るだけなので今回は「結果を表示」で異なる文章を表示させるだけです.

 

 

 確認に使ったのはiPad Air3なので「機種の種類」の出力はiPadです.

 if文で定めたiPhoneと一致しないので今回はその他の場合の方の「結果を表示」が出力されました.

 

 

blog.thetheorier.com

 実際には実用に応じて別の組み方をすることになります.

 例えばこちらのレシピではリッチテキストとして表示させる際、iPhoneとiPadでフォントサイズが異なるため「機種の種類」で判別し、各々の適切なサイズを定義しています.

 

 

 

②「デバイス名」を使う

 同じ「デバイスの詳細を取得」アクションにある「デバイス名」を使います.

 

 

 デバイス名はユーザーが自由に付けられるデバイスの名前です.

 設定アプリを開き、「一般」から「情報」を開きます.

 

 

 「名前」をタップすると編集できるようになります.

 ここで分かりやすい名前や便利な名前にしておきます.

 これが「デバイス名」の出力になります.

 

 

 レシピの構成は前回とまったく同じで「デバイスの詳細を取得」が「デバイス名」に変わるだけです.

 あとはif文の条件くらいですね.

 

 

 

 「機種の種類」は大雑把で例えばiPhoneを2台持ちしている場合には向きません.

 「デバイス名」は説明の通り好きな時に好きな名前にできるためフィルタも容易ですがうっかりデバイス名だけ変更してレシピに支障が出る可能性があります.

 

 目的やメリット・デメリットで使い分けるか組み合わせるといいです.

 

 

 

【iPhoneショートカット】擬似的なトグルボタンをホーム画面などに表示する

 

 ショートカットには画像に画像やテキストを重ねるアクションがあります.

 そこでショートカットの出力としてトグルボタンとしてホーム画面に表示することを考えてみます.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.1

 

 

スポンサーリンク

 


 

 

 

レシピ

 まず予め壁紙に加えオンオフとなるトグルボタンの画像を用意しておきます.

 今回はそれらをファイルアプリに保存した状況で組みます.

 

 

 ではレシピを組みます.

 まず壁紙とオンオフのトグルボタンの画像を読み込みます.

 必要に応じてサイズを変えたり回転させる必要があるかもしれません.

 今回は横向きで用意したトグルボタンの画像をサイズ変更した上で270度回転させています.

 各々をわかりやすい名前で変数に置きます.

 

 

 今回は「メニュー」アクションでオンオフ、そしてクリアする操作ということにします.

 

 まずトグルボタンをオンにする場合は「画像を重ねて表示」アクションを使い、オンとなるトグルボタンのアイコンを壁紙画像の希望の位置に重ねます(画像の回転はこっちで出来ましたね).

 

 

 トグルボタンをオフにする場合も重ねる画像が違うだけでオンの場合と同じようにします.

 クリアの場合は壁紙を設定することで実現できます.

 

 最後にこのメニューの結果を「壁紙に写真を設定」を適用すれば完了です.

 

 

 

実行

 これで例えばオフの状態でレシピを実行し…

 

 

 オンにするよう処理すれば見た目がオンになります.

 

 

 クリアした場合は元の壁紙が設定されるので消えたように見えます.

 

 

 シンプルにショートカットレシピの結果を出力するならテキストを重ねた方が楽です.

 

 本音はそういうのをシンプルにウィジェットで表示してくれるアプリを切望してるのですがメモアプリもファイルアプリもデメリットがあるか不可能だったりするのでこれが現実的な方法の一つです.

 これも「壁紙に写真を設定」アクション自体が重たいというデメリットがあります.

 

 それに他のテキストや画像を重ねる場合は同じレシピで一括する必要があります.

 例えば貼ったスクリーンショットでは「↓ここに注目」と書いたテキストや左上の日付はそれぞれで「テキストを重ねて表示」を使っています.

 更に今回の疑似トグルボタンが加わっているので実際のレシピでは重ねる処理を3回行っているわけですね.

 

 

 蛇足ですが、左上に日付を入れるアイデアは気に入っていたのですが、ナビゲーションやインターネット共有などが働いている間は画像のように後ろに隠れてしまいます.

 壁紙と同じ位置ですからステータスの変化による影響を受ける場所だとこうなりかねないわけですね.

 このアイデア自体は面白いのですが、位置を考えないと残念なことになります.

 日付なんかは時刻に寄せて表示したいんですけどね、次善策は時刻の下でしょうか.

 

 

 

【iPhoneショートカット】USLauncherのコンテンツを追加しました【20231031】

 

f:id:thetheorier:20211231140803p:plain

 2023年10月の更新です.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 

 

スポンサーリンク

 


 

 

ダウンロード

github.com

 こちらから、最新のjsonファイルを選んで「ファイル」アプリにダウンロードしてください.
 基本的には過去に保存した場所と同じフォルダーにすると楽です.

 ※リクエストに伴い個別配布した方もこちらに差し替えてください.

 

 

blog.thetheorier.com

 上でダウンロードした配布データおよびレシピに関してはこちら.

 

 

URLスキームの追加・削除

 バージョンの後ろに"?"がついているものは, 調べたバージョンより古いバージョンから変更された可能性があります.

 

 

  • au PAY v9.53.1
    削除:Control-auoneidSetting://
  • auPAY カード v1.0.5
    追加:com.kddi-fs.card://
  • Facebook v438.2
    追加:fb-www-link-secure://
  • Goodnotes 6 v6.2.4
    追加:db-0r0whpva15e5mnq-intunemam://
    追加:goodnotes5-intunemam://
    追加:goodnotes6-intunemam://
    追加:msauth.com.goodnotesapp.x-intunemam://
    追加:msauth.com.microsoft.intunemam://
  • whoo v0.14.3
    追加:whooapp://
  • ウェザーニュース v5.37.0
    削除:twitterkit-Lo7r5GKOIErBxm71UEruQ://
  • ドラゴンクエストX 冒険者のおでかけ超便利ツール v6.5.5
    削除:twitterkit-UonqbGNa8d7LF82Uzcksu6bxJ://
    追加:twitterkit-aWtT1uEeLUkcYQJ4IjPg4XYq2://

 

 

 iOS17.1になってからショートカットアプリに多くのバグが発生したようです.

 僕が把握した限りでは以下のアクションあるいは処理に問題があることがあります.

 

  • アクション
    ・リッチテキスト→Web表示を表示
    ・クイックルック
    ・メッセージを送信
    ・ツイート
  • その他
    ・共有からの実行
    ・写真の選択

 

 ポップアップ表示の類もカクカクしやすい傾向にあるため他の要因で実行に支障が出ている可能性もあります.

 

 すでにiOS17.2のベータ版がリリースされていますがそこで修正されていることを期待したいです.

 

 

【iPhoneショートカット】決まった時間間隔で時刻を均す

 

 時刻を出力するとき、正確なものでなくともいい場合があります.

 例えば9時41分で入力したけど大体10時だから10時にしたい…といった感じです.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.0.3

 

 

スポンサーリンク

 


 

 

 

30分で均す

 やり方はいくつかありますが今回は日付フォーマットを弄って操作することにします.

 簡単のためまず30分間隔で均すことを考えます.

 

 

 手段としては、round関数を使って時刻の分mmに対して

 

round(mm/30)*30

 

を計算させます.

 roundは四捨五入を結果に返す関数なので、mmが0~14(分)の場合はmm/30は0.5未満なので0*30=0に、15~44(分)の場合mm/30は0.5以上1.5未満なので1*30=30、45分以降の場合は2*30=60…となります.

 結果前者は0、後者は30になるので入力時の時刻hh/mmの定時hh:00にこの結果を足せばhh:00またはhh:30になるわけです.

 

ja.wolframalpha.com

 グラフで見るとよりわかりやすいですね.

 

 ただデフォルトだと日付のままなので必要な部分のみにする必要があります.

(そのまま計算させるとエラーになるか、UNIX時間扱いされます)

 

 

 時刻だけ取り出して均し、定時から足す、これが基本方針です.

 後者は「日付を調整」アクションを使います.

 

 

 

 まず計算式に追加した「指定入力」です.

 タップして「日付フォーマット」を「カスタム」にし、下の入力欄を「mm」に書き換えます.

(iOS17では一度編集した結果がリセットさせるマイナーバグが存在します、編集したらもう一度確認してください)

 

 

 「日付を調整」アクションの入力も同じく変更します.

 タップして「日付フォーマット」を「カスタム」にし、下にある入力欄を

 

yyyy/MM/dd HH:00

 

に書き換えます.

 

 これで対象の時刻の分の部分だけ強制的に0、つまり定時になります.

 

 最後に好きに出力して結果を確かめます.

 

 

 



 入力が15:48なのでround(48/30)*30=round(1.6)*30=2*30=60.

 15:48の定時は15:00なので上で得た60(分)を足して16:00ということで合っていますね.

 

 

 

均す時間を自由に決める

 目的によっては30分でなく60分だったり10分だったりするでしょうからもう少し汎用性を持たせた作りにしてみます.

 

 

 やることは難しくありません.

 前回「計算式」でアナログに30を打っていたのを例えば「数字」アクションで予め用意しておきマジック変数に置き換えるだけです.

 せっかくなので「結果を表示」にも追加します.

 

 

 同じ入力である9:41に対して、インクリメント(均す時間)が30分の場合と60分の場合で結果が異なるのがわかります.

 

www.icloud.com

 2つ目のレシピだけアップしておきます.

 

 

 計算式を変えることで、切り捨てにしたり繰り上げにしたりと他の均し方も可能です.

 

 

【iPhoneショートカット】重複を許す・許さないランダムリストを作る

 

 数字を並び替えるには「乱数」や「ファイルにフィルタを追加」のオプションが想定されますが目的によって重複を許すかどうかが分かれます.

 それぞれについて具体例を作ってみることにします.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.0.3

 

 

スポンサーリンク

 


 

 

 

イニシャル

 目的は違えど必要な情報として

 

  • リストする個数N
  • 最小値m
  • 最大値n

 

の値が必要なので各々を「入力を要求」で決定しておきます.

 これらの値は各々で使いまわします.

 

 

重複を許す場合

 重複を許す場合はとても簡単です.

 「乱数」アクションでmからnまでの数をランダムにN回拾うだけです.

 

 

重複を許さない場合1

 重複させたくない場合はどうすればいいでしょう?

 まず考えられる方法は次のようなものです.

 

  1. mからnまでのリストを作る
  2. 1をランダムに並び替える
  3. 2の先頭からN個分取り出す

 

 n-m>Nを満たさないと3の時点でエラーを起こすことが想定できますが今回はそのエラー処理は無視します.

 

 

 まずmからnまでの昇順リストを作ります.

 tmpと名付けた変数にmを代入しておき、「繰り返す」でmからnまでのn-m+1回繰り返させます.

 リストとして格納する変数valueにtmpを追加し、tmpを1足して繰り返せばOKです.

 

 

 このリストvalueを「ファイルにフィルタを適用」でランダムにすればいいのですがこうして作った変数valueはフィルタにとっては1要素として扱われます.

 なので「テキストを分割」で改行分割してからフィルタします.

 並び順序を「ランダム」、制限はオンにして変数Nに置き換えるか、適用したフィルタの結果に対して「リストから項目を取得」で先頭からN項目まで取り出します(画像は後者).

 

 

重複を許さない場合2

 同じく重複を許さない場合ですがここでは「辞書」アクションの性質(バグ?)を利用します.

 

 

 まず空のままの「辞書」を追加し、これを適当な変数に置きます.

 レシピが完成したらこの部分(画像で赤で囲んだ部分)は取り除いても機能します.

 次に最小値mを一時的な変数tmpに置きます.

 

 

 これを使ってキーがmからnの数字となる辞書を作ります.

 前回同様n-m+1回の繰り返しになりますが、今回は「辞書の値を設定」でキーに先程の一時変数tmpと宛てがいます.

 値は空っぽのままだとエラーを起こすので半角スペースでもなんでもいいので文字を入れておいてください(赤矢印).

 最後にtmpを1足して更新して繰り返させます.

 

 

 最後に「ファイルにフィルタを適用」で上で作った辞書のキーに対してランダムにフィルタさせます.

 入力に辞書を入れタップし、「辞書」にチェックが入っているのを「キー」に切り替えます.

 

 

結果

 「乱数」アクションを単純に使った場合は当然ながら重複する数字があったりなかったりします.

 

 

 mからnまでランダムに並べてN個取り出した場合は重複する余地がありません.

 

 

 「辞書」を使った場合もmからnまでのキーを使っているので重複は起こりません.

 

 

 N=1000の場合で数回試しましたがどの場合も処理時間はほぼ変わりませんでした.

 

 「辞書」を使って重複なしにランダムにする方法は仕様変更で修正される可能性があるため確実にやるなら前者でしょうね.

 

 

 

【iPhoneショートカット】アクションボタン無しでも端末の傾きに応じてよく使う機能をカスタマイズ

 

 iPhone15から搭載されたアクションボタンは、デフォルトではよくある機能が割り振られていますがショートカットレシピをあてがうことが可能です.

 しかしiPhone14以前のシリーズには当然ボタンはありません.

 

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のiOSバージョン : iOS17.0.3

 

 

スポンサーリンク

 


 

 

 

レシピ自体は作れる

 仕組みはアクションボタンを押下した際に端末の傾きで場合分けして様々なアクションを実行する…というものです.

 

 

Actions

Actions

  • Sindre Sorhus
  • ユーティリティ
  • 無料

 しかしデフォルトのままでは傾きを判定するアクションはないため、ショートカットを補助するアプリのひとつであるActionsというアプリを使います.

 このアプリをインストールしておくとショートカットから(今回の場合)"Get Device Orientation"というアクションが使えるようになります.

 

 

 このアクションによって端末の傾き次第で

 

  • unknown
  • portrait
  • portraitUpsideDown
  • landscapeLeft
  • landscapeRight
  • faceUp
  • faceDown

 

を出力するので各々に応じて最大7種類の機能を使い分けることができます.

 …と言っても通常unknownを出力することはまれであるため、実際には6種類とするのが妥当です.

 

 

 これで実行時の端末の傾きによって好きなアクションを実行できます.

 

 

アクションボタンのない端末の場合

 アクションボタンを持つiPhone15シリーズはボタンを使うことで自らタイミングを選ぶことができます.

 そうでないシリーズは主にアクセシビリティや背面タップ、NFCタグから実行するのが妥当でしょう.

 

 しかしこれらは傾き次第ではうまく実行し辛い場合があります.

 例えば背面タップでfaceUpの判定はテーブルに置いている状態では不可能ですしシールタイプのNFCタグは傾きの判定が著しく制限されます.

 

 なのでそのデメリットを少しでも軽減させる工夫が必要です.

 

 

 妥当な解決策として考えうるのは実行時に少しだけ待機させることです.

 画像のようにレシピのはじめに1秒ないし2秒ほど「待機」アクションで待たせ、その間に自ら傾きを整えるという理屈です.

 

 

 端末が伏せられた状態など、レシピが実行されたか分からない状況を想定して最初に「デバイスを振動させる」アクションを入れるのも良いです(iPadは対応していません).

 

 

 いずれにしろActions自体は他のシリーズでも使えますから、あとはどうやってレシピを実行するか…の違いでしかありません.

 工夫次第ではアクションボタンなしでもある程度便利に使うことができます.

 

 

 

Get Device Orientationの出力について

 先に書いた通り、Actionsの"Get Device Orientation"はunkownを除いて6つの結果を出力します.

 英語なのでどれがどういう意味か分かりづらいというDMがあったのでここで簡単に説明します.

 

 

 まずは前後の傾きです.

 手前を0°とした場合、0~45°および315~360°の90°の場合は"faceDown"を出力します.

 45~135°の場合は"portrait"を出力します.

 135~225°の場合は"faceUp"を出力します.

 225~315°の場合は"portraitUpsideDown"を出力します.

 

 普段遣いなら使用時はportraitやfaceUpが多いでしょうね

 テーブルに伏せている場合はfaceDownです.

 ポケットに上下逆で入れる場合はportraitUpsideDownです.

 

 

 次は左右の傾きです.

 iPhone15シリーズの場合コネクタ左にラインがかかっている(画像の赤矢印)ので端末が起きている状態を0°とします.

 0~45°および315~360°の場合は"landscapeRight"を出力します.

 45~135°の場合は"faceUp"を出力します.

 135~225°の場合は"landscapeLeft"を出力します.

 225~315°の場合は"faceDown"を出力します.

 

 手で持って使う場合はfaceUpやfaceDown寄りになりますがスタンバイモードなど横向きでスタンドに置いている場合はlandscapeRightやlandscapeLeftになるでしょう.

 

 

 

 これは傾き判定自体の影響だと思いますが、伏せた状態で持っている場合の判定は曖昧だったりします.

 

 いずれにしても傾き判定は他の目的でも使える面白いアクションですね.