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などにコミットできるように技術力を上げていきたいです。

この記事が気に入ったらサポートをしてみませんか?