🔔

【個人開発 x iOS】クリスマスまでのカウントダウンとADVENTARの記事を見れるアプリ「Advent Counter」をつくった 🔔

2023/01/24に公開

kamimi です。こんにちは。
今年、個人開発に本気を出そうと思いました。本業はiOSアプリエンジニアなので、一番手っ取り早くiOSアプリを作りました。せっかくなので記事に残しておこうと思います。

ここ数年クリスマスが近づくと、エンジニアおなじみ(エンジニアじゃなくてもおなじみなのかな。)、アドベントカレンダーを書いています。去年はADVETARで作られたカレンダーに参加しました。

で、ふと「アプリでADVENTARの記事見たい」と思ったので、作りました。

「Webで見ればいいのに。」

・・・確かに。でもアプリにしたかったので仕方ありません。なので作りました。
個人開発初心者(これが初めて個人で出したiOSアプリ)なので、お手柔らかに・・・

こんな機能

ADVENTARの記事を検索・閲覧することができます。押すとブラウザに飛びます。
ついでにクリスマスまでのカウントダウンもします。

https://twitter.com/kamimi_01/status/1617637853361754113?s=20&t=3tQxAFXa2wjjzzMH-TSEKw

以上のアプリです。笑

これでよく審査通ったなって正直思ってます...笑

インストール方法

App Storeリンクはこちらです。

https://apps.apple.com/jp/app/advent-counter/id1665425372?l=ja

制作過程

自分のメモとしても制作過程を残しておきます。
制作時間は大体8時間くらいだったと思います。

使用した技術

  • Swift
  • SwiftUI

SwiftUI好きです。

ライブラリは

  • Lottie
  • SwiftSoup

を使ってます。
Lottieはかわいいアニメーションが多くて好きです。SwiftSoupはこの後書きますが、HTMLのパースをするために使っています。

実装

ADVENTARはAPIが提供されていなかったので、取得してきたHTMLをiOSアプリ側でパースしました。
詳細は以下に書きました。SwiftSoupというライブラリを使いましたが、使いやすかったです。

https://qiita.com/kamimi01/items/c220cccd35ad00157a9a

ちなみにこのアプリ、元々はLive Activityを実装しようと思って作り始めたのですが、HTMLのパースが私にとっては大変で(初めてパースした。。HTMLも普段あまり見ないので。。)、それをやっているうちにモチベーションが燃え尽きました・・・

あとカウントダウンですが、下にあるリストをスクロールするとカウントが止まってしまうことに気づいたので、記事を見て直しました。元の記事はStackoverflowのだったのですが、どこかにいったので類似記事を。感謝・・・ 🙏🏻

https://qiita.com/rc_code/items/ad18caa78e711ffb961c

個人開発は基本全てpublicなリポジトリでやってますので、リンク載せておきます。

https://github.com/kamimi01/HTMLParseWithSwift

「リポジトリの名前がおかしい?」

それはですね、このリポジトリは元々HTMLのパースを試すためだけに作ったものだからです。やっているうちに「このリポジトリで作れば良くない」と気が変わったので、ここで作りました。笑

審査

一度は食らうだろうと思っていましたが、食らいましたリジェクト。審査ってiOSアプリを個人開発する上で地味に心理的ハードルになっていると思います。言っても仕方ないけど。

Guideline 2.1 - Information Needed

https://developer.apple.com/jp/app-store/review/guidelines/#app-completeness

2つ質問をされただけでした。質問は以下の2つ。

- What kind of blog posts can be shown?(どんな種類のブログ投稿を見ることができるのか?)
- Are there ways for users to personalize the results, if so how?(ユーザが結果をパーソナライズする方法はあるか?)

1つ目はADVENTARオンリーですよと答え、2つ目はその方法はありません、と正直に答えました。

これに答えたらそのまま審査が進んで、気づいたらapproveされていました。特にアプリの修正はしませんでした。

おわりに

最初にも書いた通り、元々はLive Activityを実装したくて作り始めたものだったので、その機能も追加したいです。他にも色々やりたいことはあるので、気が向いたらやるかもしれません。その気はいつ向くんでしょうか。🤔

個人開発はモチベが尽きたら終わるので、心理的ハードルを少しでも感じるものは取り除いてやってますので、やりたいことをやります。笑
なのでアップデートされなくてもごめんなさい。

去年のクリスマスが終わった後にリリースしたので、だいぶ時期が外れましたが、来年に向けて使おうかなと。笑笑

使ってみるという奇特な人がもしいたら、使ってみてください。🙏🏻

Discussion