Objective-C
iOS
Swift

iOSアプリ個人開発で使ってるツールとかノウハウを公開してみる

個人でアプリを開発していると結構ガラパゴス化するのではないかと思い、

開発環境やツールなどを公開してみます。少しでもご参考になればと思います。


リリース実績


  • 2011年から、現在までで計12個のiPhoneアプリをリリース

  • うち写真アプリ×11、便利ツール×1


構成

複数のアプリで同じような機能を持つことが多いので、個人用の専用ライブラリを作成し、GithubのプライベートリポジトリからCarthageで導入できるようにしています。

AppStoreのメタデータ管理、スクリーンショット作成、リリース作業などはFastlaneで自動化し、なるべく無駄な作業を減らすようにしています。

また、リリース後の運用としてFirebase Performance Monitoringでパフォーマンス計測をしたり、Crashlyticsでクラッシュ解析を利用しています。ユーザーからの問い合わせはGoogleフォームで受け付け、それらのツールからの通知はSlackへ集約しています。


開発環境


ハードウェア


  • 開発機(Mac Mini 2018)

  • ディスプレイ(LG 24UD58-B 4K 23.8inch)

  • キーボード(Apple Wireless Keyboard MC184J/A)

  • マウス(logicool M720 TRIATHLON)


ソフトウェア

デザインツールはGimpやInkscapeを当初利用していましたが、Sketchは操作がわかりやすく、iOSにも特化しているため利用しています。個人開発のため初めはバージョン管理ソフトは使っていませんでしたが、アプリの種類や、バージョンが増えて管理しきれなくなったため、Gitを導入しました。

名称
説明
用途

macOS Mojave 10.14
OS
-

Xcode 10
統合開発環境
Swiftコーディング

Atom
テキストエディタ
コンフリクト解消等

Sketch
デザインツール(有料)
アプリアイコン、UIパーツ作成

Cocoapods
パッケージ管理
自作ライブラリの管理、OSS利用

Carthage
パッケージ管理
OSS利用

Git
バージョン管理システム
ソースコード/リソースファイル管理

Slack
チャット
各種システムの通知

Fastlane
CI/CDツール
AppStoreへの申請の自動化

Charles
通信パケットキャプチャソフト
通信処理のデバッグ

Deckset
Markdownスライドエディタ
プレゼン資料の作成


開発言語

開発当初はObjective-Cで書いていましたが、やはりSwiftの方がStruct/EnumなどSwiftyに書けるのが便利で、徐々にSwiftへ移行しています。


  • Swift / Objective-C(古い機能はObjective-Cで書いてあるので移行中)

  • HTML/CSS(アプリサポート用サイトのコーディング)

  • Python(画像のリサイズなどで自動化スクリプトをつくるとき)

  • Ruby(fastlaneのアクション作成)

  • Bash(Info.plistの設定変更やxcodebuildの自動化バッチをつくるとき)


利用しているWebサービス

定番のサイトも多いですが、カテゴリ分けして整理してみました。


リファレンス系

以下に書いてあるサイト以外にも個人の技術ブログなどにもとてもお世話になっています。


UIデザイン

デザインも自分でやらないといけないので、素材を活用してます。

最近はフラットデザインに合うアイコン素材を提供しているicons8を主に活用中。

配色はGoogleのマテリアルデザインガイドラインを参考にしています。


ライブラリ管理

似たようなアプリをいくつか作っているので、よく使うmethodやclassを部品化して、再利用しています。最近BitbucketからGithubのプライベートリポジトリ(有料)へ移行しました。



  • Github(プライベートリポジトリで自作ライブラリのバージョン管理、Todo管理)


  • Bitbucket(プライベートリポジトリで自作ライブラリのバージョン管理、Todo管理)


  • COCOAPODS SEARCH(オープンソースライブラリの検索、ランキング)


  • cocoa CONTROLS(オープンソースライブラリの検索)


運用

問い合わせはGoogleフォームで受けて、投稿があったらSlackに通知させています。

サポートサイトもGithub Pagesで作成しているので無料です。


AppStore用写真素材

AppStoreに載せるスクリーンショットの素材はここから良さげなものをDLしてます。


書籍

あまり初心者向け書籍で触れられない、設計やコーディングスタイル、UIKitの勉強に役立った本など。(※アフィリエイトリンクではありません)


利用しているオープンソースライブラリ

デファクトスタンダードになっているものをよく使ってます。