昨日は「横浜iPhone勉強会」に参加してきましたよ。
今回は記念すべき第20回目の開催です!\(^o^)/
https://atnd.org/events/67499atnd.org
ツイートもまとめさせて頂きました。
今回は自己紹介タイム中、スクリーンに参加者のアイコンを映しておく、という試みがありました。
今までだと顔とアイコンが一致しないまま勉強会を終えることが多かったので、個人的にこの試みは大成功だったと思います!
***
そんなわけで以下、発表内容の簡単なメモになります。(発表者の皆さま、間違い等あればご指摘ください)
iOS開発者のためのバックエンド入門 (2)
@yuumi3 さんによる発表。Ruby on railsを使い、実際に簡単なバックエンドを作るデモがありました。やはり手馴れている方のライブコーディングはとてもわかりやすく、見ている側も楽しかったです。
- Rubyの良い点
- 書くコードが少なくてすむ
- 生産性が高い
- 情報が豊富
- 利用者が多い
- 悪い点
- 性能が高くない
- 非互換なバージョンアップが起こる
- CoC、ルールを知らないとコードが読めない
- インストール
- Rubyを手軽に試したい場合
- Railsinstaller (http://railsinstaller.org/en) というものがある
- 手軽だけど微妙に古い
- ちゃんとやりたい
- brew + rbenv + gem
- InstallRailsMac - Ruby on Rails 教育関連情報 - EY-Office
- Rubyを手軽に試したい場合
- RubyのWeb App Framework
- Ruby on Rails
- Sinatra
- Grape
- 簡単なToDoアプリを作る
- iOSアプリ側はSwift
- ネットワーク系のライブラリなどは使っていない
- Deploy
- herokuを利用
- サーバの設定・管理が不要
- ごく小アクセスなら無料
WWDC でのお話(+Apple Watch のお話)
@kitasuke さんによる発表。サンフランシスコの楽しさが伝わってくる内容でした。WWDCのチケットは無くとも、本人の行動力次第でたくさんのことを得られるんですね!
- チケット外れたけどサンフランシスコに行った
- チケット無くても得るものはたくさんある
- ミートアップにも参加できる
- Realm, CocoaPods State of the Union, Mercari Inc. など
- チケット無いデメリット
- ラボに行けない
- バッシュに参加できない
- Yosemiteは絶対に見るべき
- 後半はwatchOS 2のお話
- HealthKitについて(資料の公開は検討中とのことですのでメモも自粛)
Xcode 7におけるUIテストとカバレジ計測
@nowsprinting さんによる発表。非常に丁寧な説明で、とてもわかりやすい発表でした。ちなみに、nowsprintingさんはあの「テスト自動化入門」の著者の方でした!
- UIテストの位置づけ
- UI Testing API
- XCTESTに追加されたUI操作を行うクラス
- XCUIApplication
- XCUIElementのサブクラス
- テスト対象アプリを起動したり終了したり
- XCUIElement
- ヒエラルキーからボタンを探して取得したりタップしたり
- Accessibility identifier, label, title などで指定
- XCUIElementQuery
- すべてのButtonのサブクラスを取得する、など様々なことができる
- wait/sleep を考慮する必要がない。適宜waitしてUIエレメントを探してくれる
- XCUIApplication
- XCTESTに追加されたUI操作を行うクラス
- UI recording
- シミュレータでの操作をそのまま録画してテストコードを出力してくれる!
- Code coverage
- スキーム設定でオンにするだけでコードカバレッジが取れるようになる
- 結果はReport Navigatorで確認できる
- Test Reports
- ステップごとにスクリーンショットが撮影、保存されている!
フォント関係のお話
@nolili さんによる発表。noliliさんとは以前からTwitterでつながっていたのですが、この会でようやくご挨拶することができました!(自己紹介タイムのおかげ)
とても綺麗なスライドだったのですが、NDAの関係もあり公開は控えるとのことです。メモも自粛させて頂きます。
Complication について
@mo_to_44 さんによる発表。Apple Watchの文字盤のところに情報を表示できる「Complication」のお話です。
- Complicationとは
- 時計のフェイスに情報を表示できる
- 時系列ごとの情報の表示が可能 (Time Travel機能)
- 表示領域をタップするとWatch App へ遷移する
- Complication Familis
- Modular small, largeなど複数のComplication Familiesが用意されている
- 全てのComplication Familiesをサポートする必要はない
- CLKComplicationTemplate
- CLKImageProviderとCLKTextProviderで構成される
- 表示形式に適したTemplateを選んで使用する
- CLKComplicationDataSource
- complication表示のために必要なデータを作成
- 実装上の注意点
- データソースのメソッドは最小限に
- 通信してデータを取るとか、計算するとか、時間のかかることはしない
- 計算が必要な場合はWatchExtension以外の場所(iOS App側とか)で行い、キャッシュしてcomplicationからアクセスする
- 参考資料
Xcode Botとテストについて
@TachibanaKaoru さんによる発表。Apple公式の継続的インテグレーションツール「Bot」のお話です。会場には意外とBotの存在を知らない人も多く、とても貴重な発表になりました。
- Botとは
- 主な機能
- 自動ビルド
- インテグレーション詳細情報の表示
- Test実行
- ipaの作成と配布
- Xcode 7で導入された機能
- UI Testの実施
- Code Coverageの表示
- Botを使用するメリット
- Bot設定デモ(メモは自粛)
- まとめ
CloudKit のお話(+Apple Watchリモコン化計画)
@haranicle さんによる発表。
- cloudKitの紹介
と思ったら
- Apple Watchリモコン化計画!
- Watchから照明器具を操作したい
- IRKIT で実現する方法
- すでに実現している人がいた!
- 外出先からも操作可能
- HomeKit で実現する方法
- iOS 9からApple Watchにも対応している
- HomeKit に対応した製品が必要
- Smart Bridge - ちょっと高め
- SmartPlug - お手頃な値段
- 外出先からも操作可能
- 専用のシミュレータ(HomeKit Accessory Simulator)がある
- Xcode内からダウンロード可能
- 各製品の動作状況も確認できる
クラス継承とプロトコル拡張を比べてみる
発表が押していたこともあり、@es_kumagai さんの発表は残念ながら時間切れ(´・ω・`) 次回は是非、お聞きしたいです!
まとめ
今回はWWDC 2015直後ということもあり、iOS 9やXcode 7関連の発表が多い印象でした。ご存知の通り、WWDCのセッションはとても数が多く、ひとりで全部見ることは困難なので、こういった勉強会を通してどんどん情報共有していきたいですね(^ω^)
また、最初にも書いた通り、今回はアイコンをスクリーンに出しながらの自己紹介になったため、初めて顔とアイコンが一致した!という人も何人かいました。これが会話のきっかけになったりと、大変有意義な時間を過ごせました。
次回のYIDEVも楽しみですね!