LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

WWDC - Developer's Living 開催しました!

こんにちは!そして初めまして!LIFULL HOME'SのiOSアプリチームの又来です。新卒1年目の新米エンジニアです。入社して早くも3ヶ月が経ちますが、ようやく社会人生活にも慣れてきたところです。

さて、6/5-9にCA, San Joseで行われたWWDC 2017では、iOS11の発表やARKitなどをはじめとする新技術の発表がありましたね。

今回はその新技術の共有会ということで、「WWDC - Developer’s Living」を開催しました! f:id:LIFULL-mataraik:20170707151534j:plain

発表

Core ML / Vision Frameworkを使ってできること

@shingtさんの発表です。

Core MLを用いてiOS上で画像解析技術の利用をするための知識やできることについて発表していただきました。

画像解析技術の利用ハードルが低下した

Core MLは学習済みのモデルを扱うことができるので、Vision Frameworkと組み合わせることで精度が高い画像解析が行えるようになります。また、取り込んだ学習モデルを使って、物体検出などのTracking(物体の追跡)が可能になります。

今回新技術の発表があったARKitと組み合わせることで空間上に検出した物体を追跡しながら投影するなんてこともできそうですね。 f:id:LIFULL-mataraik:20170707151459j:plain

iOS11からの位置情報アプリの立ち向かい方

@SatoTakeshiさんの発表です。

iOS11から変更があった、位置情報について発表していただきました。

常に許可から「このAppの使用中のみ許可」に

iOS10までの位置情報の認証は、「常に許可」と、「このAppの使用中のみ許可」のどちらかをユーザーに問い合わせれば良いだけでした。しかし、今回からは常に許可しか問い合わせていないアプリも「このAppの使用中のみ許可」を 強制的に出すようになりました。

今回はその認証に対する変更点だけでなく、細かい変更部分など位置情報アプリを作るなら欠かせない変更点とその対策について紹介していただきました。 f:id:LIFULL-mataraik:20170707151506j:plain

WWDCに学ぶライブコーディング+CoreNFC

@fromkkさんの発表です。

WWDCでの発表はプログラムをリアルタイムに実行しながらコーディング行う、ライブコーディングが多いです。

そんなライブコーディングの良さをCoreNFCのデモ共に発表していただきました。

Xcodeのコードスニペット(入力補完)を使う

コードを書きながら発表するのは緊張したり、書くべきコードを忘れたりしますよね。そんな時はXcodeの入力保管を使って、まとめたいコードを簡単にショートカットに登録すると、発表中にど忘れしたりすることがなくいつでも呼び出しが可能になります。また、コメントを記述することもできるのでわかりやすそうです。

発表では、コードスニペットを用いてNFCタグの認証のデモを披露していただきました。

映像出力機器の不備でテレビのモニタに映しております。この度はご迷惑をおかけしました。 f:id:LIFULL-mataraik:20170707151512j:plain

iOS 11からのアプリ間ファイル共有

@ktanaka117さんの発表です。 iOS11からアプリ間でファイルのやりとりができるようになり、アプリ側で実装するためのやり方について発表していただきました。

ファイル共有には送信側、受取側どちらも対応する必要がある

渡したい画像などのファイルを送信するためには自身のアプリ側でファイル共有の対応をすれば良いですが、アプリ間で共有をする場合は受け取る側も共有の実装が必要になります。

この機能を使ったアプリがこれからたくさん出てくることがカギになりそうです。 f:id:LIFULL-mataraik:20170707151515j:plain

Dictionary for Swift4

弊社の塙 拓朗の発表です。

Swift4.0でDictionaryの機能が便利になりました。

Dictionaryが扱いやすくなった

Swift4.0での変更点をいくつか挙げると、

  • Key-ValueのペアになったSequeneタイプからDictionaryを生成できるようになった
  • 重複したKey(Sequenceタイプ)に対して処理が可能
  • 初期化だけでなく既にあるDictionaryに対しても行えるmergingとmergeが追加
  • FilterとMapの扱いが簡単になった
  • 取り出しの際にデフォルトが指定できる
  • Sequeneをグルーピングしやすくなった
  • あらかじめ容量を確保できるようになった

などなど、痒い所に手が届くようにパワーアップしました。

直接的な新機能ではありませんが、開発者としては嬉しいアップデートですね。 f:id:LIFULL-mataraik:20170707151523j:plain

PDFKit

@kishikawa katsumiさんの発表です。

Macでは使うことができていたPDFのプレビューですが、iOSでPDFKitが使えるようになったこと、簡単に実装できるようになったことをデモを交えて発表していただきました。

ページプレビューからスキップまで簡単に

PDFKitを使うと簡単にビューワーが作成可能になります。文字検索をしたり、ヒットした文字にattributeを指定してマーカーを引いたりすることができるようになります。また、文字検索での機能について、行をまたぐなどをすると空白文字が入ってしまい、検索にマッチしない場合があるので、空白や空行を取り除く処理が必要になります。

これまでiBooksなどのビューワーアプリを開発してきた方はこのPDFKitを使ってみてはいかがでしょうか。

デモを拝見しましたが、とても簡単に実装できていたので今後のアプリ開発が楽になりそうですね。 f:id:LIFULL-mataraik:20170707151527j:plain

ARKit

弊社の池田 和洋の発表です。

今回WWDCでの大注目を浴びたARKitの機能を用いたデモアプリについて紹介させていただきました。

拡張現実オブジェクトの合成を可能とするデモでは、平面を認識した位置にボールを出現させ、ボールが平面に衝突するとバウンドするようなものを実演しました。

特別なハードウェアはいらない

用意するのはiPhoneまたはiPadのみでARが使えるようになります。(厳密にいうと、A9以上のチップ内蔵のものなのでiPhoneは6s以上、iPadはProか第5世代のみ)

ARKitでは机や床など平面を認識することが非常に得意で、空間上に出現させたオブジェクトもブレることがほとんどなく、精度が非常に高いものになっています。 f:id:LIFULL-mataraik:20170707151529j:plain

最後に

共有会が終わった後はみなさんでワイワイ交流会!

懇親会ではじゃんけん大会を開催し、なんと景品は現地でしか買うことのできないWWDCのお土産です!(欲しい) f:id:LIFULL-mataraik:20170707151536j:plain

グッズをゲットした方々、おめでとうございます!! f:id:LIFULL-mataraik:20170707151547j:plain f:id:LIFULL-mataraik:20170707151550j:plain f:id:LIFULL-mataraik:20170707151552j:plain

WWDCで発表があってから数週間にも関わらずみなさん新機能を使った開発を既にスタートさせていました。

今回のアップデートで大幅にできることが増えているのは確かです。

最新の知見を共有する場にもなり非常にアツいイベントになったのではないかと思います。

これからのiOSアプリに期待です!