宮腰 航
- SwiftUI / UIKit / AutoLayout
- Modern Concurrency / Concurrency
- CoreData / Realm / SwiftData
- URLSession
- Combine / RxSwift
- Local Push / Remote Push
- Widget
- Quick Actions / Universal Link / Custom URL Scheme
- Notification
- Kingsfisher / SwiftLint / MarkdownUI / LicenseList
- Git
- fastlane / GitHub Actions / Bitrise
- Firebase
- Authentication
- Firestore
- Storage
- Cloud Messaging
- Crashlytics
- AWS
- 環境設計・構築・運用
- MacOS
- Windows
- Linux
- Python
- HTML / CSS / JavaScript
- Figma
- docker
- postman / curl
![](https://private-user-images.githubusercontent.com/2251564/348573487-b82c4d68-7ebd-4be2-a843-220731aa5601.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMjM0ODIsIm5iZiI6MTcyNDEyMzE4MiwicGF0aCI6Ii8yMjUxNTY0LzM0ODU3MzQ4Ny1iODJjNGQ2OC03ZWJkLTRiZTItYTg0My0yMjA3MzFhYTU2MDEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjBUMDMwNjIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTYwNTU3OGQ1OWEyNTg3OTQ3ZTQ4YjNmODkwOGQ2OGI3MGJjNWM5YzJmM2VlZWJhMzgyMTlhYWI2NDc1YzNlMyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.6gjkzY-IuKTDLqnL4GmBQ11DDNDebpJolZ0BkMGk1PY)
![](https://private-user-images.githubusercontent.com/2251564/348573488-62410fa8-bf2e-48e6-9602-c9ba593d0228.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMjM0ODIsIm5iZiI6MTcyNDEyMzE4MiwicGF0aCI6Ii8yMjUxNTY0LzM0ODU3MzQ4OC02MjQxMGZhOC1iZjJlLTQ4ZTYtOTYwMi1jOWJhNTkzZDAyMjgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjBUMDMwNjIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjhlODMyN2IyYTI2YmU1YTQ3ZWE2ZjMwZjAyMmUyYjZhZDI5NjQ5OGQwMDJlMGM1NmIyY2M1MWViZDQ2MDM4YiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.TE0Ztqsgrikjl5whhUkQ6S7PGSUPqvNT_YcV3tgvtDs)
![](https://private-user-images.githubusercontent.com/2251564/348573490-44927690-f36b-4e15-b923-8b7d3e81bd81.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMjM0ODIsIm5iZiI6MTcyNDEyMzE4MiwicGF0aCI6Ii8yMjUxNTY0LzM0ODU3MzQ5MC00NDkyNzY5MC1mMzZiLTRlMTUtYjkyMy04YjdkM2U4MWJkODEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjBUMDMwNjIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTVlOGRjZjU4NDMyMzNlZjRkNzVkN2RhYWFhNDY0ZGRmNDFkYmY5MDhjMDNhMzc3YmE1NzE3OTNmNzY0YTc1OSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Rq575rIotr0XZCcimsFgt6SqnK5H0jFKt7fdXXfMrD8)
https://github.com/wtrmiya/NewsApp
ニュースビューアサンプルプロジェクト
- ニュースソース: News API (https://newsapi.org/)
- Firebaseを使用したアカウント管理・データ管理
- Configuration切り替えによるFireabse接続先の切り替え(開発・本番)
- Firebase Authenticationによるアカウント管理
- Firebase Firestoreによるユーザ設定情報、ブックマークの管理
- Firebase Firestoreによる利用規約の提供(不要なアプリアップデートの回避)
- ログイン状態に対応した機能制限
- fastlaneによる自動ユニットテスト実行(GitHubへのpush時)
- URLSessionによる外部API(News API)からの情報取得
- Dependency ContainerによるInitializer Injectionの実現
- Architecture: MVVM
- Figmaによるデザインおよび、SwiftUIによるデザイン実装
- デザイン参考元: https://ground.news/app
- ダークモード実装
- Gitへのシークレット情報登録除外(API key、Firebase設定ファイル)
- トーストによる操作結果通知
iOSのみ利用可能
https://github.com/wtrmiya/NewsApp
ライフログ系サンプルプロジェクト
- App Storeへのリリース作業内容確認を目的とする
- Realmによる永続化対応
- 日本語・英語の国際化対応
- Firebase Crashlytics
UIKitおよび、SwiftUIベースで作成したiOSアプリプロジェクトのそれぞれについて、AppDelegate、SceneDelegate有無におけるデリゲートメソッドの実行順序を調査した。