2017年11月30日

WWDC17 | Session 212 | What's New in Foundation

53:10
https://developer.apple.com/videos/play/wwdc2017/212/

iOS, macOS他のどのOSでも共通で使用するFoundation Frameworkの更新状況。

新しいAPIや速度等の改善、キーパス/キーバリュー監視、コード化の三つの話題。

■主な新規API

概要のみ。

□新機能
File provider communication
Improved available storage space API
Improved NSString ↔ Swift String range conversion Discrete NSProgress support in NSXPCConnection Thermal notifications on iOS

□速度向上
Copy-on-write NSArray, NSDictionary, NSSet
Data inlining
Faster calendrical calculations with lower peak memory Faster bridging of NSNumber to and from Swift

続きを読む
posted by 永遠製作所 at 20:05| 東京 ☁| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月29日

WWDC17 | Session 810 | What's New in iOS11

8:47
https://developer.apple.com/videos/play/wwdc2017/810/

iOS11のデザイン上の変更点を短いビデオで解説している。フラットデザインで導入されたデザイン哲学はコンテンツファースト。コンテンツを目立たせるためにUI 要素を目立たなくしたが、ナビゲーションなど不備な部分を修正している。

Wayfinding
Typographic Hierarchy
Contrast

□Wayfinding
Large Titleなどを導入。ラベル表示の差別化をできるようにしている。
Large TitleはナビゲーションTop levelを強調するなどに使用できる。

□Typographic Hierarchy
ラベルを二つ並べるにしても重要性は同一ではないはず、これをわかりやすくするために、Size, Weight, Colorなどで判断できるようにする。

iOS10とiOS11のApple標準のアプリ(写真、天気等)で違いを比較。


posted by 永遠製作所 at 20:31| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月24日

Fall 2017 | Session 203 | Updating for Apple Watch Series 3

12:22
https://developer.apple.com/videos/play/fall2017/203/

Apple Watch Series3 では単独でcellular connectionをもつことができるようになった。この機能を使うときの注意点について述べている。

□URLSession

ネットワーク接続時に使うクラス。ネットワークアクセスが可能な時にのみ使う。
WKExtension クラスを使えば、connection typeがわかる。
小さいデータの転送に使う。
転送は保留させる可能性がある。
新しいデータが到着するとアプリが前面に起こされる。


□Bset Practices

SCNetworkReachablitilyを使うより、 waitsForConnectiovity を使う。
applicationWillResignActive() のときに、リクエストをキャンセルする。
複数のタスクがあっても単一の URLSession 共有して使う。

□Watch Connectitvity
Use for initial setup
Background transfers
Update application context for newer data


□Barometric Altimeter

Core Modtionデータをどのように使うかをサンプルコードで示す。

CMAltimeter
CMAltitudeData

9:50〜コード例




posted by 永遠製作所 at 18:55| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月23日

Fall 2017 | Session 202 | Updating Your App for Apple TV 4K

2:49
https://developer.apple.com/videos/play/fall2017/202/

Apple TV 4Kに対応するための主な差分の概要を短時間で説明。
4K Retina, P3, A10X, Siri Remote

□高解像度レティナディスプレイに対応する

Launch Image 2xイメージを用意する
App Icon 2xイメージを用意する
Top Self Image


UIScreen.main.nativeScale // -> 2
UIScreen.main.nativeBounds // -> 3840.0, 2160.0 (pixels)
UIScreen.main.bounds // -> 1920.0, 1080.0 (points)

Wide Color

□Media Apps

Up to 4k resolution
Dolby Vision, HDR10
HEVC(fMP4)

□Siri Remote
方向と回転が取得できるようになった。

GCMotion
@available(tvOS 11.0, *)
var hasAttitudeAndRotationRate: Bool { get }

@available(tvOS 11.0, *)
var attitude: GCQuaternion { get }

@available(tvOS 11.0, *)
var rotationRate: GCRotationRate { get }

posted by 永遠製作所 at 18:18| 東京 🌁| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月22日

Fall 2017 | Session 503 | Introduction to AVDisplayManager

6:20
https://developer.apple.com/videos/play/fall2017/503/

tvOS 11.2, Apple tv 4K で可能となったビデオモードの自動切替についての解説。

□自動切替
・SDR/HDRなど、フレームレートやダイナミックレンジは視聴するビデオに応じて自動変更される。
・ただし、Apple TVの設定でオフにできる。

60Hz/Dolby Vision→24Hz/SDR

□HLS Playlist Authoring

FRAME-RATE
VIDEO-RANGE (optional)

□実装

avPlayerViewController.appliesPreferredDisplayCriteriaAUtomatically = true/false

で切り替える。falseで自動スイッチ停止

AVPlayerViewControllerを使えば全画面表示になる。
AVDisplayManagerを使いNon-fullsceen playback

スイッチするためにディスプレイ設定を表示するビデオから取得する。

let displayCriteria = avAsset.preferredDisplayCriteria
let displayManager = self.view.window.avDisplayManager
displayManager.preferredDisplayCriteria = displayCriteria


デフォルトに戻す。

displayManager.preferredDisplayCriteria = nil

□助言

モード切替は必要最小限にする。
モード切替はフルスクリーン再生時に使う。
主UIではシステムフレームレートを使う。
次のような場合、切替は行わない。
短いクリップ
複数のビデオの同時再生
頻繁な切替
posted by 永遠製作所 at 19:43| 東京 ☁| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする