iOS 13の新機能をざっくり把握する本
iOS 13の新APIについて解説する本を書きました。新機能について「何が」「どういう実装で」実現できるのかを解説しています。筆者が実際にコードを書いて試しつつ書いてるので、WWDCセッションやドキュメントにも書いてない部分が補完されてたりもします。さらっと読めるので新機能をざっくり把握したい方におすすめです。
Swift UIやSign In with Appleのような多くの方が話題にしている内容は入っていませんが、その他の新機能も知っておいて損はないものばかりです。本書はまだあまり情報が出ていない機能を中心に紹介しているので、Swift UI等の本命新機能は公式チュートリアル等でがっつり学びつつ、その他新機能を本書でサッとキャッチアップされてはいかがでしょうか。
本文84ページ。このnoteを購入すると、PDF版をダウンロードできます。
以下、各章の簡単な紹介です。
第1章 文字認識(Text Recognition)
iOS 13で、ついに、待望の「文字認識」機能が追加されました。カメラなどで撮影した画像内にある文字を読み取る機能です。OCR(Optical Character Recognition)とも呼ばれます。現状では英語のみのサポートですが、数字やアルファベットは日本語においても多く用いますし、電話番号や郵便番号、クレジットカードの番号、メールアドレス等、用途はいくらでも考えられます。日本語サポートを期待しつつ、こういう機能が存在することと、使い方ぐらいは把握しておいて損はないでしょう。
第2章 VisionKit
VisionKitはiOS 13から追加された新フレームワークです。`VNDocumentCameraViewController`というクラスが提供されており、ドキュメントをスキャンするための一連の機能をアプリに付加することができます。
使い方自体は簡単すぎて本書を読む必要はないと思いますが、アプリ開発において紙文書を入力としたいケースはままあるので、知っておいて損はないということで取り上げました。
第3章 BackgroundTasks
BackgroundTasksは、iOS 13で追加された新フレームワークです。その名の通り、アプリがバックグラウンドにあるときにタスクを実行できるようにするものです。バックグラウンド処理、重要ですよね。もちろんどんな処理でも無限にバックグラウンドで実行可能、というわけではないので、どういう処理がどんな感じで実行されるのか、既存のバックグラウンド処理との違いはなにか、一度自分でつくってみて掴んでおいた方がいいと思います。
第4章 Core NFCの新機能
Core NFCはiOS 11で追加されたフレームワークですが、iOS 12であまりアップデートされなかったなー、と思いきや、iOS 13で大幅に強化されました。
第5章 Semantic Segmentation Matte
そしてiOS 13から取得できるようになったSemantic Segmentation Matte(以下SSM)は、人の「髪」「肌」「歯」といった部位をセグメンテーションするためのマスクです。
めちゃくちゃ高精細で、髪や眉の細かいところまできれいにマスクできます。
これでたとえば何ができるかというと、髪や肌や歯の色や質感を変えたりできるわけです。
第6章 Core Haptics
うまくハマればUXがめちゃくちゃ気持ちよくなるTaptic Engineですが、今まではUIFeedbackGeneratorで既成のハプティックパターンを再生するだけでした。
Core Hapticsはハプティックパターンを細かくカスタマイズできるフレームワークです。Taptic Engineをより低いレイヤで制御するフレームワークと言い換えてもいいでしょう。
音をオーディオファイルから再生するように、ハプティックパターンをAHAP (Apple Haptic and Audio Pattern)というJSONライクなファイルフォーマットで定義して再生することもできます。
第7章 Indoor Maps
iOSアプリを面白く&&実用的にした一要素として、位置情報&地図という要素はかなり大きいと個人的には思っています。そしてまだまだ発展の余地がある領域がインドアマップでしょう。実は以前からPDFのベクター画像を地図にオーバーレイするサンプルは公式で出ていたのですが、「Indoor Mapping Data Format(IMDF)」という新しいフォーマットが規格化され、iOS 13ではそれを地図にレンダリングすることができるようになりました。
第8章 Create ML
ドラッグ&ドロップで超簡単にオリジナルの機械学習モデルがつくれてしまうCreate MLがmacOS 10.15 Catalina/Xcode 11で大幅パワーアップしました。
第9章 SoundAnalysis + Create MLで音声分類
SoundAnalysisは、iOS 13で追加された音声解析のためのフレームワークです。今のところ音声の「分類」が可能です。
第10章 デプス推定
これまでデプス(深度)は、デュアルカメラやTrueDepthカメラ等、ハイエンドなiOSデバイスに搭載されるカメラで撮影した場合にのみ取得できるものでした。
しかしWWDC19のタイミングで、Appleが公式に配布するCore MLモデルに「FCRN-DepthPrediction」と呼ばれるデプス推定モデルが追加され、デプス撮影機能をもたないカメラで撮影した静止画や動画からも(機械学習で推定した)デプスデータを取得できるようになりました。
第11章 一般物体のセグメンテーション
Appleが公式に配布するCore MLモデルに「DeeplabV3」と呼ばれるセグメンテーション用モデルが追加されました。本モデルはiOS 13の機能を使用していないため、iOS 12以上で利用可能です。
「Portrait Effect Matte」や「Semantic Segmentation Matte」は高精細なセグメンテーションマスクを提供します。しかし、以下のような制約があります。
またiOS 13 / ARKit 3で登場した「People Occlusion」はリアルタイムでセグメンテーションを行うものですが、以下のような制約があります。
一方、Core MLの「DeeplabV3」モデルは、
と、非常に幅広い場面・条件下で利用可能です。
書籍見本
PDFの中身の見本を載せておきます。
電子版(PDF)ダウンロード
ここから先は
¥ 130
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/