Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

多人数iOSアプリ開発を考える

3,329 views

Published on

1人で開発していると発生しない、チームによるiOS開発ならではの事象に関しての検討資料です。

Published in: Engineering
  • Dating direct: ❶❶❶ http://bit.ly/2Q98JRS ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2Q98JRS ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

多人数iOSアプリ開発を考える

  1. 1. 多人数iOSアプリ 開発を考える Swiftビギナーズ勉強会 第15回 #swiftbg @sasaron397
  2. 2. アンケート 複数人で1つの アプリを開発した 経験のある方?
  3. 3. • 名前: ささろん( @sasaron397 ) • あだ名: ボンクラ、ササテン • 職業: なめこ栽培家 (んふんふ ! ) • フード: ゲーム(STG, RPG)、ボードゲーム、麻雀 自己紹介
  4. 4. 本日のアジェンダ 1. んふんふ 2. んふんふ 3. んふんふ 4. んふんふ 5. んふんふ
  5. 5. 真面目に やります。
  6. 6. 多人数アプリ開発
  7. 7. 多人数アプリ開発で必要なこと 1. ソースコード(Xcodeプロジェクト)をみんなで共有する • ローカルにコード置いてるだけだと、自分しか作れない 2. アプリの作り方にルールを設けて、方向性を合わせる • みんなが好き勝手にアプリを作ってしまったら、カオスな未来が・ ・・
  8. 8. GITでソースコードを共有する 出展: サルでも分かる Git 入門
  9. 9. 要はプライベートなGITHUB
  10. 10. プロジェクトファイル衝突の壁 1. Aなめこが Test1.swift を追加しサーバに反映 2. Bなめこが Test0.swift を削除、Test2.swiftを追加 3. サーバに反映する前に、Bなめこは Aなめこの修正を取り込む
  11. 11. 衝突!!
  12. 12. プロジェクトファイル衝突の壁 • 原因は巨大なプロジェクトファイル • 手動マージ(整合性を取る)に失敗すると、最悪プロジェクトが壊れる
  13. 13. プロジェクトファイル衝突の壁 • プロジェクトファイルの衝突を自動で解消するMERGEPBX • http://www.tokoro.me/2014/02/06/pbxproj-merge/ • http://qiita.com/kaneshin/items/1deebde685c973fda6b8 • MERGEPBXなしでの多人数アプリ開発は考えられないレベルです
  14. 14. VIEW作成の足並みを合わせる どの方法でViewを作っていくのか? 重要なのは足並みを揃えること 1. Storyboard • メリット: 初心者がプロジェクトに参入しやすい • デメリット: 修正した時に差分が分かりづらい 2. Xib(Interface Builder) • Storyboard とコードの中間的な位置付け 3. 全てコードで書く • メリット・デメリットは StoryBoardの反対
  15. 15. アンケート STORYBOARD 以外で 開発している方?
  16. 16. HTTP://QIITA.COM/YUCH_I/ITEMS/B4612FAE110254C816F4 VIEW作成には個が反映されやすい
  17. 17. STORYBOARDの運用方針 Storyboardの運用方針は、最初に決定すること 1. 1アプリ(プロジェクト) 1Storyboard法 (ベリーハード) • 絶対に衝突するので、多人数開発では極力避けたほうが良い 2. 1機能 1Storyboard法 (ノーマルモード) • 機能単位で担当分けして開発するなら問題ない 3. 1画面 1Storyboard法(イージーモード、個人的にオススメ) • 衝突は最低限に抑えられるが管理するファイルは増える
  18. 18. 多人数で開発する方なら必読です! IOSアプリ開発の現場で訊いてみた
  19. 19. レイアウト作成の足並みを揃える View同様、足並みを揃えることが重要 1. AutoLayoutで対応する • メリット: 柔軟にレイアウトに対応できる • デメリット: 学習コストが高い 2. AutoResizingで対応する • メリットデメリットはAutoLayoutの反対 3. コードで座標を計算する • 差分がわかりやすい反面、Xcodeのエコシステムを活用できない
  20. 20. 規約で書き方を統一する • Swiftは書き方の自由度が高く、また省略がしやすい言語である (例: selfの省略、void の省略・・) • 書き方には個性が反映されやすく、足並みを揃えないと色々な方式が 入り混じる
  21. 21. 規約で書き方を統一する • Swiftコーディング規約@Wantedly • http://qiita.com/susieyy/items/f71435cc962e70d81b37 • リクルートライフスタイル • https://github.com/recruit-lifestyle/swift-style-guide • Swiftコーディング規約まとめ • http://qiita.com/KentaKudo/items/b48762a0d6adfbf62579
  22. 22. SWIFTLINTで書き方を強制する • GitHub's Swift Style Guide. な書き方をしないとエラーになる
  23. 23. ツールのバージョンを合わせる • Xcode, Cocoapodsのバージョンはプロジェクトで統一する • Swiftのバージョンが異なってしまうかもしれない • Pod file.lock が Cocoapodsのバージョンを持つから • Storyboard がツールバージョンを持つから
  24. 24. 証明書をちゃんと作る • 証明書の作成は、Xcodeの自動作成に任せない。 • 過去に何回も、今までは平気だったのに突然アプリが作れなくなっ たトラブルに遭遇しましたよ! (ストア提出時によく起こる) • リリース用 Certificates は、作成完了後にでリリース権限を持つメン バー間で共有する(キーチェーンのエクスポート機能) • Provisioning Profileは、更新(デバイス追加等)したらメンバー全員に再 度ダウンロードしてもらう
  25. 25. まとめ • バージョン管理ツールでソースコードを共有しよう • アプリの作り方の足並みを揃えよう • 多人数アプリ開発は摩擦が起きやすいので、ルールを守って清く正し い多人数アプリ開発ライフをお過ごしください なめこも無事卒業
  26. 26. ありがとう ございました!

×