Help us understand the problem. What is going on with this article?

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の勉強に役立った本など。(※アフィリエイトリンクではありません)

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした