WWDC2017
iOS11の忘備録
まずQiitaを一読して後追いする。WWDC2017を個別にみていきたい。恐らくリンク先の堤さん等のまとめ(API Diffsから見る iOS 11 の新機能 #WWDC17 - Over&Out その後)
を読むほうが早い..。
以下作成中
レビュー催促ポップアップの規制
Apple、アプリ上でレビューを催促するポップアップを今後は規制
iphone-mania.jp
iOS10.3からSKStoreReviewController
これに一本化される。
MusicKit
iTuneの曲の再生、プレイリスト取得等
MusicKit - Apple Developer
qiita.com
MapKit機能追加
MKMarkerAnnotationViewが追加されたのが大きいような気がする。表示の優先順位とかもつけられるようになった。
qiita.com
Core ML
機械学習系、学習済みのものを使ったりできる。appleが幾つか学習済みデータのサンプルを以下で提供しているのでそれを使ってみるのが良いかも。
少し調べる必要がある。
d.hatena.ne.jp
Machine Learning - Apple Developer
Core ML | Apple Developer Documentation
Depth API
デュアルレンズを使った奥行き判定。AVCaptureDepthDataOutput。
d.hatena.ne.jp
AVCaptureDepthDataOutput - AVFoundation | Apple Developer Documentation
SiriKit機能追加
各種インテントが増えてる。公演のPDF参照。
INTransferMoneyIntent, INSearchForAccountsIntent, INCreateTaskListIntent, INAddTasksIntent, INSetTaskAttributeIntent, INSearchForNotebookItemsIntent,
INGetVisualCodeIntent,
developer.apple.com
SiriKit - Apple Developer
https://devstreaming-cdn.apple.com/videos/wwdc/2017/214bugobsy7xw94v/214/214_whats_new_in_sirikit.pdf
ReplayKit機能追加
RPScreenRecorderというデバイス画面の動画を取れるクラス(AVPlayerからはとれない。)にstartCaptureが追加された。
d.hatena.ne.jp
RPScreenRecorder - ReplayKit | Apple Developer Documentation
SceneKit機能追加
scncameracontroller 情報がない。
SCNCameraController - SceneKit | Apple Developer Documentation
ちなみにSCNCameraとは
SCNCamera - SceneKit | Apple Developer Documentation
NEHotspotConfiguration, NEHotspotConfigurationManager
特定のwifiにワンタップで自動でつなげるような感じなのだろうか。。 NEHotspotHelperはiOS9からある。
[iOS] Wi-Fi一覧でアピール表示し、パスワードを自動入力して接続させる方法(とまとレストランの販売促進アプリ) | Developers.IO
NEHotspotConfiguration - NetworkExtension | Apple Developer Documentation
NEHotspotConfigurationManager - NetworkExtension | Apple Developer Documentation
Advances in Networking, Part 1 - WWDC 2017 - Videos - Apple Developer
developer.apple.com
ARKit
ARSCNViewやARSKViewは ARSessionを含む。Sessionを動かすにはconfigがいる。ARSessionConfiguration, ARWorldTrackingSessionConfiguration。
ARSession - ARKit | Apple Developer Documentation
WWDC2017ARKIT
developer.apple.com
ARKitはAVFoudationとCoreMotionを使う。ARSessionConfigを設定してARSessionをRunする。ARSessionはAVCaptureSessionとCMMotionManagerを使う。
現在のフレームがARFrame。
特定の位置等をARAnchorで付けたりできる。ARCameraにTracking stateなどの状態が入る(ARSessionから状態通知)。
シーン(場面)の理解としてどこが平面化の理解というのができる。configuration.planeDetection とかで指定しておく。hitTestが frame.hitTestでできる。
Renderingについては
SceneKit のARSCNView
SpriteKitのARSKView
メタルでCustom Renderingする
等がある。
SceneKitはiOS8から使える簡易3D描画フレームワーク。
qiita.com
サンプルコード
github.com
github.com
アニメーション
iOS10から導入されたUIViewPropertyAnimatorに
iOS11で
scrubsLinearly:、pausesOnCompletion:が加わる。
CALayerに.maskedCorners:CACornerMaskが加わる。
Foundation
キーパスが簡単に
let age = ben[keyPath: \Kid.age] ben[keyPath: \Kid.nickname] = "Ben"
KVOも
let observation = mia.observe(\.age) { }
Codableについて
略