Apple審査を⼀一発通過! 
iOS開発経験0でも出来る 
じげん流流Swift開発のすべて 
株式会社じげん 
具志堅 雅 
@ g 0 8 m 1 1
具志堅 雅 
@g08m11 
 
 
ZIGExN 
• 求⼈人PJ兼エンジニアユニット所属 
• R a i l sエンジニア兼i O S エンジニア 
Private 
• 3社合同アフィリエイトソン 最優秀賞受賞  
• 2社合同2 B H a c k 協賛企業賞を3社受賞  
• 観光アイディアソン 準優勝など 
2
株式会社じげん 
3
株式会社じげん 
4
株式会社じげん 
5
株式会社じげん 
• 従業員数: 約70名 (アルバイト込み)  
• 従業員内訳 
– PM: 8名 
– エンジニア: 18名  
– デザイナー: 4名 
– マーケ: 8名 
• 男⼥女女⽐比: 2:1 
 
• エンジニアの内訳 
ここがポイント 
– iOSエンジニア: 0%(2014年年8⽉月時点) 
– Railsエンジニア: 100% 
 
6
話すこと 
• 今⽇日のプレゼンの対象者 
– i O S開発、S w i f t開発を個⼈人で学習したい⽅方 
– 未経験だが会社でチームを作ってi O S開発をしたい 
⽅方 
 
• iOSエンジニアがゼロだったじげんがどのよう 
に開発を⾏行行ったのか? 
– どのようにしてi O Sエンジニアを⽣生み出していくの 
か? 
7
もくじ 
• 第⼀一部 
– チームでSwif t開発してみよう 
• 第⼆二部 
– ゼロからSwif tを始めるときの学習⽅方法 
8
もくじ 
• 第⼀一部 
– チームでSwif t開発してみよう 
• 第⼆二部 
– ゼロからSwif tを始めるときの学習⽅方法 
9
Swift開発フロー 
ユニット 
ミッショ 
ンの設定 
STEP1 
企画に参 
画。⼯工数 
⾒見見積もり 
STEP2 
実装。 
Apple申 
請 
STEP3 
Apple通 
過。新機 
能実装 
STEP4 
10
Swift開発フロー 
ユニット 
ミッショ 
ンの設定 
STEP1 
企画に参 
画。⼯工数 
⾒見見積もり 
STEP2 
実装。 
Apple申 
請 
STEP3 
Apple通 
過。新機 
能実装 
STEP4 
11
-‐‑‒ ユニットミッションの設定 
-‐‑‒ Xcodeの使い⽅方、Swiftの勉強 
12 
STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 
1
-‐‑‒ ユニットミッションの設定 
-‐‑‒ Xcodeの使い⽅方、Swiftの勉強 
13 
STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 
1
ユニットミッションの設定 
• じげんには、事業部での業務とは別に「ユニットミッション」と 
いうユニット別での業務を各Q ごとに決めるメンバー決定 
– ネイティブアプリミッションに多くのメンバーが集結! 
– 各ミッションのメンバー数は平均5 ⼈人ほどだが、S w i f t アプリのミッ 
ションには1 1 名がJ O I N ! 
• ただ単純に「S w i f t を勉強しました」とならないように、2 Q 末 
でのゴール設定をする 
– S w i f t アプリミッションの⽬目的は? 
– 8 ⽉月末までのマイルストーンの設定 
• はじめてのi O S アプリ開発 
– 9 ⽉月末までの達成⽬目標 
– 成果報告 
14 
STEP 
1
-‐‑‒ ユニットミッションの設定 
-‐‑‒ Xcodeの使い⽅方、Swiftの勉強 
15 
STEP ユニットミッションの設定(8⽉月中旬〜~9⽉月中旬) 
1
16 
Xcodeの使い⽅方、Swiftの勉強
Xcodeの使い⽅方、Swiftの勉強 
• ユニットミッションで決めた機能を 
集中的に勉強(研修的ではない。) 
• 積極的にライブラリを活⽤用(Swif ty JSON) 
• ユニットミッションメンバーでもくもく会 
– だいたい皆同じ所でつまっている 
– 毎週2⽇日だけだが、ほとんどのメンバーが積極的に 
参加して、情報交換していた 
– ペアプロ的な時間を作ることで開発速度度が爆発! 
17
Swift開発フロー 
ユニット 
ミッショ 
ンの設定 
STEP1 
企画に参 
画。⼯工数 
⾒見見積もり 
STEP2 
実装。 
Apple申 
請 
STEP3 
Apple通 
過。新機 
能実装 
STEP4 
18
-‐‑‒ 企画へ参画、⼯工数⾒見見積もり 
-‐‑‒ 実装 
19 
STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 
2
-‐‑‒ 企画へ参画、⼯工数⾒見見積もり 
-‐‑‒ 実装 
20 
STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 
2
• 仕様の確定(フェーズを⼆二分割) 
• 申請⽇日、リジェクトを考慮したスケ 
ジュール 
• タスクの洗い出し 
• 制作、⾮非制作で⾒見見積もり 
 
21 
STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 
2
Gantter 
22
⾒見見積もりポーカー 
23
-‐‑‒ 企画へ参画、⼯工数⾒見見積もり 
-‐‑‒ 実装 
24 
STEP 企画に参画。⼯工数⾒見見積もり(9⽉月中旬〜~10⽉月初旬) 
2
実装 
• デザイナーがJustInMindでプロト作成 
• それをベースにエンジニアが簡易易な画⾯面 
遷移を作成 
• 不不明点やバグなどあればその場で相談 
• その場で解決できない場合はWaffle.io 
でタスク管理理 
25
実装 
• ユニットミッションで実装したソース 
の活⽤用 
• ハマった所はHipChatへ情報共有 
• 解決した際はRendezvous(じげん版 
QiitaTeam)へナレッジ共有、ノウハ 
ウ蓄積 
26
Rendezvous 
27
実装 
• PJ同様にスクラムをフル活⽤用 
• タスク洗い出し 
• コミュニケーションをオンラインだけ 
で完結させずにオフラインでも 
積極的に⾏行行う 
28
KPT 
29
バーンダウンチャート 
30
カンバン 
31
Swift開発フロー 
ユニット 
ミッショ 
ンの設定 
STEP1 
企画に参 
画。⼯工数 
⾒見見積もり 
STEP2 
実装。 
Apple申 
請 
STEP3 
Apple通 
過。新機 
能実装 
STEP4 
32
-‐‑‒ 実機テスト 
-‐‑‒ 申請に必要な資料料を⽤用意 
-‐‑‒ 有識識者と⼀一緒に申請 
33 
STEP 実装。Apple申請 
3
-‐‑‒ 実機テスト 
-‐‑‒ 申請に必要な資料料を⽤用意 
-‐‑‒ 有識識者と⼀一緒に申請 
34 
STEP 実装。Apple申請 
3
実機テスト 
• 操作性などを確認 
• バグつぶし、仕様漏漏れの確認 
• 実装に時間が掛かる場合はフェーズ2 
へシフト 
 
 
35
-‐‑‒ 実機テスト 
-‐‑‒ 申請に必要な資料料を⽤用意 
-‐‑‒ 有識識者と⼀一緒に申請 
36 
STEP 実装。Apple申請 
3
申請に必要な資料料を⽤用意 
• 基本は⾮非制作側で⽤用意 
(⼯工数⾒見見積もり時に相談済み) 
• iPhone6 Plusなどのキャプチャはデ 
ザイナーが⽤用意 
 
 
37
-‐‑‒ 実機テスト 
-‐‑‒ 申請に必要な資料料を⽤用意 
-‐‑‒ 有識識者と⼀一緒に申請 
38 
STEP 実装。Apple申請 
3
有識識者と⼀一緒に申請 
• 会社名義のため申請内容を統⼀一 
• じげスタのエンジニアへ適宜相談 
 
 
39
有識識者と⼀一緒に申請 
• D E M O
有識識者と⼀一緒に申請 
41
Swift開発フロー 
ユニット 
ミッショ 
ンの設定 
STEP1 
企画に参 
画。⼯工数 
⾒見見積もり 
STEP2 
実装。 
Apple申 
請 
STEP3 
Apple通 
過。新機 
能実装 
STEP4 
42
-‐‑‒ 振り返り 
-‐‑‒ 実装 
43 
STEP Apple通過。新機能実装(10⽉月初旬〜~現在) 
4
振り返り 
• 申請時に出来なかったタスクを元々予 
定していたタスクへマージ。 
• 再度度、⼯工数ポーカーを実施(より確度度 
⾼高く⾒見見積もる) 
• 制作、⾮非制作で分担 
 
44
-‐‑‒ 振り返り 
-‐‑‒ 実装 
45 
STEP Apple通過。新機能実装(10⽉月初旬〜~現在) 
4
実装 
• リソースが⾜足りないため、 
Objective-‐‑‒Cと同時平⾏行行で学習中 
• iOSの内部構造を学習 
(「ダイナミックObjective-‐‑‒C」) 
46
まとめ(つまったこと) 
• Debugの仕⽅方が分からない 
• 知らない間にブレークポイントを設定し 
ハマる 
• iOS開発のベストプラクティスが分から 
ない 
• 参考ソースが不不⼗十分 
47
まとめ(これから学習される⽅方) 
• Xcodeは最新バージョンを使いましょう 
• 実装する前に「Swiftコーディング規約 
@Wantedly」を⾒見見て綺麗麗なコードを⼼心 
がけましょう 
• 理理解した事や⾃自分が詰まった所は積極的 
にアウトプットしましょう 
48
まとめ(所感) 
• ぶっちゃけなんとかなる 
• 何を実現するかチームで決める⽅方が⼤大 
事 
• Objective-‐‑‒CよりもSwiftがおすすめ 
• ⾃自分⼀一⼈人ではなく、会社またはエンジ 
ニアチーム、仲間の協⼒力力が不不可⽋欠 
49
まとめ(私事) 
• SwiftのおかげでSwift Gilrsの講師に 
• Rails以外に⾃自分の引き出しが増えた 
• iOSのことも分かるサーバーエンジニ 
アに⼀一歩近づいた 
50
もくじ 
• 第⼀一部 
– チームでSwif t開発してみよう 
• 第⼆二部 
– ゼロからSwif tを始めるときの学習⽅方法 
51
じげん流流3つの学習パターン
すーさん 
CASE1 
i O S アプリ開発は、ほぼはじめて 
( 以前に少しO b j -‐‑‒ C を触ったことはある) 
 
• ⻘青本(絶対に挫折しないiPhoneアプリ開発 
「超」⼊入⾨門)をやる 
• We b上のサンプルコードや社内の⼈人間が作ったサ 
ンプルコードをやる 
• 実践
すーさん 
CASE1 
i O S アプリ開発は、ほぼはじめて 
( 以前に少しO b j -‐‑‒ C を触ったことはある) 
 
• Tip s 
– S w i f t に関する全体像を把握してから進めるのではなく 
て、サンプルコードを実際に⾃自分で動かしていくこと 
で、引き出しをストックしていく 
– 制作物を作っていく際には、それらのストックを参考 
にしながら作っていく 
– ⻘青本でX c o d e の基本的な使い⽅方は学んでおく
すーさん 
CASE1 
i O S アプリ開発は、ほぼはじめて 
( 以前に少しO b j -‐‑‒ C を触ったことはある) 
 
• DEMO
きたくに 
CASE2 
i O S アプリ開発は、完全にはじめて 
 
• Youtub e のSw i f t関連の動画を⾒見見漁る 
• Ap p leのSw i f t本を通勤電⾞車車で読む(2周) 
• O b j-‐‑‒ Cで書かれたライブラリをSw i f tに書き換え 
る 
• Q i i t aに投稿しまくる
きたくに 
CASE2 
i O S アプリ開発は、完全にはじめて 
 
• Tip s 
– なんとなく英語が聞ける⼈人なら、Yo u t u b e を⾒見見ながら 
X c o d e の使い⽅方を学びつつ、S w i f t を学習していける 
– S w i f t 本を読むことで、S w i f t の基本的な⽂文法をイン 
プットしておくと、後々楽になる 
– O j b -‐‑‒ C からS w i f t への書き換えはハードだが、S w i f t の 
ソースが少ない現状では、O b j -‐‑‒ C を読んで書き換える 
ことが頻発するため、できればやっておいた⽅方が良良い
きたくに 
CASE2 
i O S アプリ開発は、完全にはじめて 
 
• DEMO
まいける 
CASE3 
i O S アプリ開発は、完全にはじめて 
 
• じげん社内の⼈人間が作った道やソースコードを活 
⽤用し、学習していく 
• それらのソースコードを真似てベースを作った後 
に、徐々にカスタマイズしていく
まいける 
CASE3 
i O S アプリ開発は、完全にはじめて 
 
• T i p s 
– 社内で先にS w i f t を学習している⼈人がやったことを真似し 
ていくことで、わからない所はその⼈人に聞きながら効率率率的 
に学習していくことがわかる 
– 全員が同時にS w i f t をやるよりも、時間差を空けて学習し 
た⽅方が、同じ失敗をしたり、同じハマり⽅方をしないで済む 
ので、結果的に全体のアウトプットは良良いものになる 
– よくわからないメソッドがあれば、逐⼀一“ ⌘ + クリック” で 
ソースを読み、きちんと理理解しながら進めることで、「わ 
かったふり」を防ぐ
まいける 
CASE3 
i O S アプリ開発は、完全にはじめて 
 
• DEMO
学習法まとめ 
• i O S アプリ開発⾃自体が初めての場合は、できるだけ複数⼈人 
で学習を開始した⽅方がいい! 
– F B グループなどに⼊入るもの勿論論良良いが、やはり直接気軽に聞 
ける存在を作っておくべき 
• 個⼈人で学習するときには、使えるリソースを全部活⽤用して 
やれば、最初のスタートは切切れる 
– S w i f t 本やQ i i t a に上がっているサンプルコード、Yo u t u b e 
などを参考にする 
– 近々出版されるS w i f t 関連の書籍でもいいかも 
• 初⼼心者ながらに情報発信することで、それに対してF B をく 
れる⼼心優しい⽅方を頼りにしよう 
62
いかがでしたか?
できそうな気がしませんか?
じげんは微⼒力力ながら 
Swiftに関する勉強会で 
サポートしていきます!
これから 
Swiftをやっていきたい⽅方 
⼀一緒に頑張りましょう!

Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて