見出し画像

自分のカレンダーから空き時間を探すiOSアプリケーションを開発しました #pity #freetimepicker

 友達との会話で「来週いつ暇?」とか打ち合わせの調整に「ご都合のよろしい日程を複数頂けますでしょうか」とか聞かれた時に自身のカレンダーとにらめっこをして空き時間を探した経験はないでしょうか?

開発した経緯

 前に投稿したように絶賛転職活動中なのですが、その中で時間調整の機会がとても多いことに気づきました。空き時間をいい感じにテキストでリストアップできれば前述したようなメールやメッセージをもらった時にもさくっとスマートに返信ができるなと思ったので開発してみようと思いました。

開発したアプリケーション

iOS版

macOS版

機能紹介

画像1

 まずは検索対象の日付を選択します。今日、明日、今週、来週、今月、来月、カスタム(検索開始日と検索終了日を設定)から選びます。次に最低限必要な空き時間を設定します。ここは該当する予定にかかりそうな時間をそのまま入力します。30~45分程度を想定している場合は45分を選択しておきます。次に検索対象時間を設定します。業務中の空き時間を探したい場合は、9:00~18:00を設定したり、業後の空き時間を探したい場合は18:00~23:00と設定したりすることを想定しています。次にその予定までに必要な移動時間を設定します。業務などで移動する必要が無い場合は0:00を設定しておくと良いと思います。1時間の移動が必要な場合は1:00といった感じです。終日イベントを検索対象としたく無い場合は終日を無視をONにし、平日のみを検索対象としたい場合は休日を無視をONにします。必要な項目が入力され、検索時間が正しい場合は検索するボタンが青色になるのでタップします。

画像2

そうすると上記のような検索結果がテキストで一覧になって表示されます。テキストは選択可能になっているのでそこでコピーしたり右上のシェアボタンをタップすることでコピーをしたりそのままシェアしたりすることができます。

画像3

日付のフォーマットは設定アプリからPityに遷移して日付のフォーマット部分を編集すれば変更することができます。

画像4

ただ、こちらはSwiftのDateFormatterに準拠しており、アプリ内ではDateFormatter.dateFormat(fromTemplate:options:locale:)というクラスメソッドで地域によって変換が入っているのでもしかしたら思った想定していないフォーマットになることがあるかもしれません。もしご自身で設定した厳密なフォーマットで利用したいことがある場合はご連絡いただければ対応するかもしれません。

SiriShortcut

画像8

 SiriShortcutにも対応したので声で空き時間を探すことも可能です。上記の画像のようにすると検索結果がそのままクリップボードに入ってくるので便利です。

Today Extension

画像8

 Today Extensionにも対応したのでアプリを開かずにさくっと空き時間を探すこともできます。

macCatalyst

スクリーンショット 2020-02-29 11.24.34

 iPhoneやiPadの対応だけではなくmacOS(Catalina以降)にも対応しました。Macでメールやメッセージをやり取りしている場合にはこちらを利用するのも良いかなと思います。(3/2現在: 近日中に公開予定)

GitHub

 またこちらのアプリケーションですがGitHubでOSSとして公開しています。技術的にはSwiftUI/Combineを利用していますがそのまま表現が難しいUIはUIKitでカスタムした画面も利用しています。カレンダーのデータを取得するためにはEventKitを利用し、SiriShortcutに対応するためにIntents.frameworkを利用し、Firebase/AdMobを利用したりしています。もしバグや改善提案がある場合はIssuesを作っていただいたり、バグ修正や機能追加をしていただいた場合にはPull Requestを作っていただけるととても嬉しいです。FirebaseやAdMobの設定が必要なのでビルドまで多少面倒とは思いますがご興味があれば是非お願いします。

アイコン

 アプリ名やアイコンは現職のデザイナーとわいわいしながら考えたり作ってもらいました。とても助かったし最終的に満足のいく名前・アイコンができて嬉しいです🙇🏻‍♂️mifuTomoありがとう!

スクリーンショット 2020-02-29 11.30.18

まとめ

 転職活動中に感じた不便からシンプルな機能のiOS/macOS Catalyst対応のアプリケーションを開発しました。もしよかったらインストールしていただいて高評価レビューをしていただいたり、何か問題があればGiHub Issuesに書いたり、ご自身で改善してみた場合にはPull Requestを送っていただければ嬉しいです。

この記事が気に入ったらサポートをしてみませんか?