こんにちは。月謝袋アプリ開発の SINQWELL です。
今回の v1.21.6 は、機能としては小ぶりなアップデートです。
ただ、その裏側でちょっとした「事件」があったので、
今日は少し開発者目線も混ぜてお届けします。
今回の改善(2つ)
1. 「その他 年間合計」がタップできるようになりました
月謝サマリーの「その他 年間合計」をタップすると、その年の入金の内訳
(対象月・生徒名・項目・金額・入金日)を一覧で確認できます。
先日の「月別合計」のタップ表示に続いて、先生からのご要望で実現した機能です。
発表会費や教材費を年間でまとめて見返したいとき、確定申告前の確認などにどうぞ。

2. Googleカレンダー連携の説明をわかりやすくしました
設定画面の説明が一行だけで「連携すると何が起きるの?」という状態だったので、
「登録したレッスンが先生ご自身のGoogleカレンダーに『◯◯さんのレッスン』として
自動登録される(30分前に通知・変更や削除も反映・月謝情報は送られない)」と、
具体的に書き直しました。これも先生からの「よくわからない」というお声がきっかけです。

現在審査中ですので、明日ぐらいには公開されると思います。
突然のビルド不能事件(開発者向け)
さて、ここからは裏側の話です。
今回の改善を実装し終えて、いつものように実機ビルドをしたところ——
Swift Compiler Error (Xcode):
Invalid redeclaration of synthesized memberwise 'init(stringRepresentation:)'
アプリが一切ビルドできなくなりました。エラーの発生源は自分のコードではなく、
課金処理に使っているライブラリ(RevenueCat)の内部。
コードを1行も触っていない場所が、ある日突然コンパイルできなくなる。
個人開発をしていると、たまにこういう日が来ます。
原因は、少し前に更新した Xcode の新しい Swift コンパイラと、
使っていたバージョンの RevenueCat の相性問題でした。
調べると公式フォーラムに「SDK 5.78.0 以降で修正済み」という回答を発見。
プラグイン(purchases_flutter)をメジャーバージョン10系に上げ、
CocoaPods を更新して解決しました。
教訓としては、エラーメッセージで検索すると、世界の誰かが同じ壁にぶつかっていること。
そして課金ライブラリのような重要な依存は、更新後に必ず実機で
課金まわりの表示を確認すること。今回もプレミアム画面の動作確認までやって、
ようやく安心して審査に出せました。
EU向けの配信を終了しました
もうひとつ、運営面のお知らせです。
今回から、EU圏(27か国)への配信を終了しました。
EUでは規制により、アプリ配信者の住所・連絡先などの事業者情報を
ストア上で公開することが求められるようになっています。
当方は小さな個人開発で、プライバシー保護の観点から住所を公開しない方針のため、
両立が難しいと判断しました。
日本をはじめ、これまでお使いいただいている地域では変わらず配信を続けますので、
ご安心ください。
おわりに
小さなアップデートでも、その裏には調査や判断がいろいろあります。
そういう舞台裏も含めて、これからも正直に発信していきます。
ご意見・ご要望はいつでもお気軽にどうぞ。次のアップデートの種になります。


