「yidev 第16回勉強会」に参加してきました
2014年9月27日(土)に開催されましたYokohama iPhone Developers 勉強会 第16回に参加してきました。
iOS界隈で著名な方々が集まる非常にハイレベルな勉強会でした。
Getting started with Handoff
2tchの中の人、『iOS SDK Hacks』の著者である@sonsonさんによる発表。
- Handoffでできること
- 必要要件
- UserInfoの中にオブジェクトを入れて、投げる
- NSUserActivityのインスタンスがスコープを外れると落ちる
- Streamを使えば大容量のファイルを通信可能
Custom Keyboard について
特殊文字の中の人である@haranicleさんによる発表
- Custom KeyboardはiOS8から導入されたApp Extensionの一つ
- システムキーボードの代わりに使用できる
- 機能
- NextKeyboardは絶対必要
- 他のキーボードに移れなくなるため
- ガイドラインではシステムキーボードみたいにしろって書かれている
- ホストアプリがカスタムキーボードの使用を拒否していたら使えない
- NextKeyboardは絶対必要
- UIInputViewControllerを使って実装していく
- 毎回initから呼ばれるので、initからviewDidAppearまでを出来る限り軽くすべき
- ボタンの表示はNextKeyboardボタンだけでも早く表示する
- StoryboardはUIInputViewControllerには使えない
- ハマりどころ
- シミュレータでキーボードが出ないときはToggleSoftwareKeyboardで出す
- コードでAutoLayout設定するのが大変
- その他
- viewDidAppear以降のタイミングならキーボードの高さを買えられる
- Info.plistからネットワークへの接続や位置情報収集の設定が可能
- In-App Purchaseも設定可能
UIテストの決定版
@kitasukeによる発表
Uiテスト@yidev from Yusuke Kita
- UIテストツールの決定版などない
- UIテストの目的
- 思わぬところで起こるUI関連の不具合を防ぐ
- あまり変わらないなところをUIテストすべき
- チュートリアル見た見ないあたりはテストすればいい
- UI操作はほとんどできる
- カメラロールから写真選択ができなかった
- Accessibilityを使っているツール
- 対応する箇所を埋めていく
- XCTestを継承しているのでほぼ一緒
- 全画面遷移のスクリーンショットを保存可能
- しかし画像をいちいち見てられない
- ImageMagickのmontageコマンドを使えばタイル状にできる
- ImageMagickのcompositeコマンドを使えば画像のdiffが取れる
- Travis CIでそのテストも可能
- UIテストの利点・欠点
- 良い点:運用コストが下がる
- 悪い点:UI実装者とテストケース実装者が異なる
スクショから始まるデバッグについて
@dealforestさんによる発表。
- シミュレーションでのデバッグは容易だが、AppStoreからインストールされたアプリでのデバッグが非常に困難
- アプリを配布した後は、print debugやbreak pointがほぼ不可能
- 情報が少なくてもバグが再現できればよい
- できることはあるにはある
- Crash Reportの収集
- Clashlitics、Bugsnagなど
- クラッシュしないとでてこない
- NSError、NSExceptionの収集
- スクショをとって共有
- その他
- Helpshiftとかでユーザからの問い合わせ
- レビューを見る、エゴサーチ
- Crash Reportの収集
- ユーザからこんなバグがあったとスクショが送られてきたとする
- スクショからバグを推測するのがたいへん
- デバッグに必要な情報が欲しい
- 画像としてそういう情報を出力すればいいじゃない
- DFTDebugScreenshotを作った
- スクリーンショットにオブジェクトを出力できる
- 考えられる応用
- AutoLayoutでConstraintsで出力できる
- UIWebViewでjsの情報を出力できる
- 今後
- UIViewControllerのdebugObjectをいつでも取得できるようなinterfaceを追加するつもり
- colorizeして画像にするつもり
- AccessTokenやcokieを出力したとき用に暗号化
SpriteKit ゲームを Swift で書いてみる
『Xcode5完全攻略』著者である@studioshinによる発表。
- WWDC行ってきた
- Swift登場した
- 忙しくて手が回せていなかったがキャッチアップした
- 著書に収録しているObjective-Cで書いたシューティングゲームをSwiftで書き直した
- ほとんど1対1で書いていける
- アクションもほぼ対でかける
- asを書くキャストが慣れない
- !、?のオプショナルが必須になり、そこでエラーがよくでる
- オプショナル大変
ドメイン駆動開発 入門編
cocominapさんによる発表。