ウェディング関連メディアアプリの開発
Table of Contents
期間 | 役割 | 規模 |
---|---|---|
2020年9月〜 | iOSエンジニア | iOS 1名。開発にあたっては、ディレクター・デザイナー・サーバサイドエンジニア・フロントエンドエンジニアと連携しつつ開発 |
言語 | アーキテクチャ | FW・ツール等 |
---|---|---|
Swift | MVP | UIKit, Combine OSS: Firebase, Adjust, Alamofire, PromiseKit等 Design: Adobe XD |
ウェディング関連のメディアアプリの開発に従事。
デザインリニューアルやSign in with Appleへの対応を経験。
iOSのエンジニア以外でも、アプリのビルド・AppStoreへの配信が行えるようスクリプトも整備。
デザインリニューアルやSign in with Appleへの対応を経験。
iOSのエンジニア以外でも、アプリのビルド・AppStoreへの配信が行えるようスクリプトも整備。
担当した業務 #
- デザインリニューアル
- 難しかった部分
- UITabBarでアイコンをアニメーションさせる
- UITabBarのボタンにアクセスできるAPIがないため、簡単にアニメーションさせることができない
- UITabBarのView階層からUIControlのサブクラスを抽出して対応
- UITabBarでアイコンをアニメーションさせる
- 難しかった部分
- その他
- 新機能追加・既存機能の改修
- Sign in with Apple対応
- リリーススクリプトの整備(後述)
リリーススクリプトの整備 #
- 課題
- 開発以外の定常的なリリースを、業務委託のエンジニアに依頼していた
- 定期的なアプリリリースは、社内のエンジニア(not iOS)で完結したい
- 要求
- 作業者: Xcodeを起動したり、Organizerの操作待ちを避けたい
- 技術面: GitHub Actionsを使える環境にはあるが、先方からは今後検討ということで、一旦ローカルで自動化する
- アプローチ
- Xcodeの知識がなくてもリリースできるように、AppStoreへのアップロードまでをスクリプト化
- Fastlaneを使わない
- RubyバージョンやFastlaneのバージョン管理を避けるため
- 実施したこと
- 結果
- 社内のエンジニアでもAppStoreConnectへのアップロードが一発で完了
- ビルドバージョンも自動付与できるので、アップロードし直しも防げる
- 今後
- GitHub Actionsを使うように整えたい
習得スキル #
- Xcode関連のコマンド知識
- xcodebuildコマンドを使用したアーカイブ、App Store Connectへのアップロード
開発で意識していたこと #
- 開発時は、少しリファクタリングをしてから、開発に取り掛かるようにした
- 案件が不定期のため、負債がたまりがち
- 不使用コードの削除、クラスの整理、ライブラリのバージョンアップなど
開発以外の業務 #
- アプリに関する技術情報やトレンドを、委託元にお知らせする
- OSのバージョンアップに関するお知らせ
- Apple Store Connectの仕様変更
- アプリのターゲット層が使用する他アプリの状況など