上司「君、来週からiOSね」 - ReDo

2013年3月28日

上司「君、来週からiOSね」

ios6.png
と、言われた際にどう最初の一週間を過ごすべきか、という話です。

○はじめに

MBAを買って本1冊Xcodeで必死に写経したことを「俺iOS個人的にやったことありますし余裕ですしおすし」と自慢すると半年から1年ぐらい経って忘れたころにこうなります。気をつけましょう。

# 自分はiOS歴3weekぐらいの雑魚な上に多大にジョーク成分が含まれておりますので応用には留意願います。

○月曜日:実機に触ろう

流行に乗って買うだけ買って使っていないApple製品がある際には月曜朝からこれ見よがしに机の上に広げてください。
まわりに「俺iOS始めたしお前らAndroidとかにはつきあってられないし」というアッピルは邪魔をされないために効果的です。

・Xcodeでの開発にはMacが必要です
・シミュレータではできないことがあるためiOS実機があると良いです。
 ・最新のiOS 6.xが動作しないデバイスの場合は候補としてイマイチです。
 ・つまり俺の持ってるiPad初代は5.1止まりなので役立たずということです。
 ・GPSとかバイブとかiPhoneじゃないと動かないのでiPhoneがあればなお良いです。
・Android経験者はシミュレータであってエミュレータではないことに留意してください。
 ・まともなMacだと実機より速いことがあります。
・実機で動かすには(ものすごく簡略化して言うと)Appleにお金を払ってデベロッパ登録する必要があります

ちゃんと公式ドキュメントが日本語であるので読んだ方が良いです。

一般的トピックス及びよくあるご質問
https://developer.apple.com/jp/support/

iOSデバイスを短期間でも触ったことがあるとか、各モバイルプラットフォーム比較表、の様なものを見たことがあるカンのいい人ならばいきなり以下の二つのドキュメントを読み始めてもいいと思います。

>日本語に翻訳されたiOSのドキュメントです。
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
・App Storeでの公開に向けた開発
・iOSチーム管理ガイド

また、新規にセットアップするとApple IDというものが必要になります。
色々なところで必要なのですが公式の説明は「Apple製品のエンドユーザを対象に」書かれているため開発者向けのそれには少しイメージの違う表現があります。少し斜に構えてぐぐると良いと思います。

○火曜日:Xcodeを起動しよう

Apple IDを登録したらApp Storeから開発環境のXcodeをインストールします。

起動したらCreate a new Xcode projectを選択して適当にプロジェクトを作成、Runを押したらエミュレータが立ち上がるので「Xcode iOS 初心者」とかでググりだすと思いますがやめてください。

やめてください。(大事なことなので二度言いました)

「iOSアプリの初心者向け情報」が流行ったのは数年前のため、奇特にも最新情報に更新してくださっているサイト以外はノイズです。結構初心者には厳しいノイズです。

じゃあどうするかと言うと、公式の日本語ドキュメントに戻ります。

https://developer.apple.com/jp/devcenter/ios/library/japanese.html
理論から入るのが好きな人はこちらから
・iOSアプリケーションプログラミングガイド
実践から入るのが好きな人はこちらから
・初めてのiOSアプリケーション

しかしここでまた罠があります。前者は2012.09(英語版は2013.01で新しい)、後者は2012.02で決して新しいとは言えません。眉にツバをつけて差分に気をつけながら読みすすめてください。

また、この日は早めに上がって「新しいXcode・iOSに対応した本」を1冊買ってください。
最初に買った本がARC+StoryBoard非対応、会社で借りた本がARC+StoryBoard対応だけどiOS5止まり、3冊目にして最新iOS6対応本を読みましたが、初学者には差分が相当ストレスです。

現状で言うとiOS6対応がXcode4.5からなので「iOS6対応」とか書いてある本なら大丈夫だと思います。

【余談:古いiOSは捨てていいの?】
筆者にはiOSの実経験が皆無なためAndroidエリアから覗き見した感覚での感想ですが、以下の理由により最新でいいと思います。

1. エアでほぼ全てのデバイスに横並びで降ってくる。3GSにすら6.1が!
2. 最新OSにアップデートすることが当然の様にエンドユーザまでブランディングされている。
# パチンコガンダム駅Map事件とかはありましたが。
3. バージョン間互換性が意外と無い。ガンガンAPIがdeprecated化される印象です。

比較してAndroidの場合は後方互換性が高いので2.3でやる→Action Barを覚える→Fragmentを覚えるとかで良いと思ってます。

○水曜日:Macと仲良くしよう

普段からMacユーザの方はなんともないと思いますが、Winユーザの人は相当Macそのものに泣きそうになっていると思います。それでもすっかりメジャー(開発機としてはシェアトップなのではの勢い)なOS X、ぐぐればありがたい情報が見つかります。

基本的には困ったら適切にぐぐれば良いとは思いますが、キーワードのみ挙げておきます。

・システム環境設定→トラックパッドでタップでクリックを有効に。
 この設定で二本指タップが副クリックになる。初期状態でなぜ有効でないのか。

・FinderでCtrl+xのカット・副クリックからこのパスでTerminalを開く、ができる様になるXtraFinderをインストール。
 Windowsユーザは入れとこう。

・外部ファイルサーバとの接続については「smb://」あたりでぐぐる。
 Mac同士はAFPというプロトコルになる。ぐぐり用ワードとして覚えておく。

・Office for Mac 2011の互換性はイマイチ
 色々がんばりましたが現状はWin/Mac両環境で自由に更新編集は危険という認識です。
 ViewerとしてならプレビューやLibreOfficeで十分な気もしますので導入は慎重に!

・Mac用システムファイルやフォーマットに注意。
 なんだかんだ言って差分があります。キーワードだけご紹介。
 「.DS_Store」「UTF-8-MAC」「MacZip4Win」

・Terminal最強
 困ったらTerminalでいいと思います。
 MacportsとかHomebrewとかでぐぐって、Homebrewを入れてください。

・画像加工はプレビューで十分
 さらばSkitch。GIMPは豪華すぎてとても僕には扱えないよ。

○木曜日:サンプルを動かそう

コピペもしよう。バージョンが古いものには注意だ。

【iOS5】第1回開発日誌 標準UI一覧と各機能紹介!!
http://life-book.co.jp/delivery/?p=143
まずは見た目から、ぐぐり用キーワードをまず覚える。

【iOS開発】Sample Code(サンプル)のスクリーンショット一覧
http://se-suganuma.blogspot.jp/2010/10/iossample-code.html
見た目大事。UICatalogから入るのが良いけどちょっと古いことには注意。

UICatalog
https://developer.apple.com/library/ios/#samplecode/UICatalog/Introduction/Intro.html

ここまでが「先に見つけたかった」と後から悔やんだ情報で、ここから先は順不動でも困らない気がします。やった分だけ知識が堅牢になったり、守備範囲が広くなったりします。また、「Google先生」「困ったら本家」「動かせば勝ち」「先輩に泣きつけ」等の基本戦術はもちろん身につけておく必要があります。

以下、最新ではないかもしれないけど、大変ありがたいもの。

2つ目のiOSアプリケーション:ストーリーボード
https://developer.apple.com/jp/devcenter/ios/library/documentation/SecondiOSAppTutorial.pdf
iOS アプリの画面開発の基礎を理解する
http://d.hatena.ne.jp/glass-_-onion/20120601/1338477967
初めての Storyboard in iOS 5 Part 1
http://www.raywenderlich.com/ja/25696/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE-storyboard-in-ios-5-part-1
※タダなので文句は言えませんが時々説明が飛んでいます。後ろの方でプロジェクトファイル一式がダウンロードできますので先にそれをダウンロードしておいた方が無難です。

このあたりまでがんばると、「StoryBoardでUINavigationControllerベースで好きな画面を足したり引いたり」ができるようになります。多分。でも調子にのってテンプレートサンプルのMaster-Detailに戦いを挑むと間違いなく負けます。あれ強い。新規プロジェクトのデフォルトになってるの罠。

○金曜日:計画を立てよう

ここまでくると、やっと基礎知識が揃って「どういうものを作るのが、あるいは作れるようになるのがゴールなのか」が考えられる様になると思います。

お客様には何を作るのか(作ったものがどう便利なのか)を説明する必要がありますし、外注先やあなたがプロジェクトリーダであればプロジェクトメンバにはどう作るのかを説明する必要があります。

また、その説明が間違っていればその分手戻りが発生します。iOSの標準的なお作法やテスト手法を学び、品質を上げる手段を確保する必要があります。

https://developer.apple.com/jp/devcenter/ios/library/japanese.html
・ヒューマンインターフェイスガイドライン

App Store Review Guidelines
https://developer.apple.com/appstore/resources/approval/guidelines.html

iPhoneアプリ審査での111の禁止項目(意訳)
http://fladdict.net/blog/2010/09/reject-list.html
※注釈にある通り2010.09の意訳のため、参考例で:)

一週間の報告書と来週以降の計画を記載してしかる所に報告したらあなたのiOS一週目は完了です、お疲れさまでした!

○土曜日:復習しよう

一週間がんばったことを思い出したり、URLをまとめたり、削除すべきファイルや「oldディレクトリに入れる」等、退避すべき情報へのタグ付けを行いましょう。
一ヶ月経つと人間は全てを忘れます。おっさん/BBAならなおさらです。

なお、たいていの会社は週休二日制だと思いますので本当にやるとあなたは社畜です。ざまぁ。

○日曜日:休息しよう

知った気分になってSNSやblog等で思う存分iOSやMacをdisると良いでしょう。WindowsとかAndroidとか他PFと比較しながら叩くのがコツです。

翌日見返すと恥ずかしくなって真面目に勉強せざるをえなくなります。恥駆動開発マジオススメ。

しない。



最後に1冊、今月のありがとう本を紹介。

エントリ中にも登場しますが、iOSについてぐぐったことがある人なら誰もがお世話になったことがあるはずのA Day In The Life 本。ホヤホヤのiOS6.1/Xcode4.6対応。私はGoogle Play版を買ったのですがスキャン品なので余白が大きく、7"タブでちょっと厳しく10"タブならちょうどいいという感じです。初学時にはパラパラ飛ばして読んだり貸したりすると思うので買うならアナログの方をオススメしておきます。

コメントする