iOSアプリのプラベート開発ツールメモ
プライベートアプリのStockeyを開発して無事世の中にアウトプット💩することができました。さらに誰かに使ってもらえている良いアプリが出せたかなと思います。
このStockeyの開発経緯については、デザイナーのnakattyanがまとめていますので興味がありましたら、そちらをご覧になってください。
さて、開発するにあたって使用したツールやOSSについてまとめておきます。
まずはツール類です。
Xcode 10.1
StockeyはiOSのみにターゲットを絞っていたので、純粋なネイティブ開発ということでXcodeを使用しています。
Slack
デザイナーとのコミュニケーションツールです。他にもZeplinやBitrise、Firebaseと連携して各種通知を受け取るようにしています。
Zeplin
デザインのレイアウト指示書ツールです。当初、デザインについての会話は直接Slack上でやっておりましたが、最近はZeplinのコメント機能でやりとりをしています。
GitLab
ソース管理サービスです。プライベートリポジトリが無料で作れるため、ここを選定しました。Bitbucketは使ったことがあったので、新しいところへのチャレンジも含んでます。
SourceTree
Gitクライアントです。Gitを使い始めてからずっとお世話になっています。UIに慣れすぎて、CIでのGitの利用はググらないとわからないのがたまにキズです。
Bitrise
ipaファイルをデザイナーに配布するために利用しています。無料枠だとビルド時間に10分の制限があるため、いろいろと対策しています。
・Carthageは事前にローカルPCでframeworkを作成しリポジトリに含め、
Bitrise上でCarthageのビルドを行わないようにする
・Swiftの型推論が発生しないように型を明示的に記載する
・ビルド時間が遅いところをピックアップし、改善に努める
しかし、最近はアボン比率が高くなっており、どうしようか悩み中です。
Fabric
クラッシュレポートツールです。そろそろFirebaseに移行が必要ですね。
App Privacy Policy Generator
プライバシーポリシーを生成してくれるサイトです。
Firebase Hosting
プライバシーポリシーを配置しています。SSLがかかっており、さらに独自ドメインも利用できるのでおすすめです。プライバシーポリシーレベルでしたら、無料の範囲内で十分使えると思います。
Google Forms
App Storeのプロダクトページのお問い合わせで利用しています。
次に使用している各種オープンソースソフトウェアについてです。
Carthage
XcodeでOSSを簡単に管理できます。競合としてCocoaPodsがあります。
Carthageは事前にOSSごとにframework化してくれるので、ビルド時間が速くなるメリットがあります。CocoaPodsを使うメリットとは?
Result
インフラ層のリポジトリのコールバックで利用しています。アーキテクチャ設計難しす。
RxSwift
ViewとModelのつなぎ込みで利用しています。MVVMっぽい感じを目指してます。
Swinject
依存注入してみたくて初めて使ってみました。容易にリポジトリなどの差し替えが可能になることを体感できたので、今後業務で実践できることがあれば取り入れていきたい所存。
SnapKit
オートレイアウトをコードで簡単に書くために利用しています。基本的にはstoryboardで頑張っているので、あまり使用していません。
XCGLogger
ログ出力!
Toast-Swift
AndroidのトーストのようなUIを簡単に実装できます。「削除しました!」などの箇所で利用しています。
SwiftyDropbox
Dropboxへ複数枚の画像をアップロードするために利用しています。
realm-cocoa
バージョン2.0.0で実装したフォルダ機能で利用しています。
SwiftLint
きれいにコード書くぜ!
LicensePlist
使っているOSSはちゃんと明記しよう!iPhoneの設定アプリ内のインストールアプリ一覧からStockeyを選択すればそこに!
firebase-ios-sdk
Analytics的なことをしたかった…
Crashlytics
クラッシュしないで…
クラッシュは発生してしまいましたが、すぐに対応しているため、現在(v2.0.3時点)はCRASH-FREE 100%です。
以上、様々なサービスやOSSを無料で使わせてもらっています。
無料の範囲内で十分開発ができるほどでありがたいです。
自分もOSSなどにコミットできるように技術力を上げていきたいです。
この記事が気に入ったらサポートをしてみませんか?