2017年11月11日

Fall 2017 | Session 601 | Face Tracking with ARKit

7:25
https://developer.apple.com/videos/play/fall2017/601/


iPhone Xから導入されたARKitがどのような場面で使われるのか。使用する場合の手順の概要を示す。が、何ができるかとどういうクラスがあるのかの概要。そして、どういう手順か程度の解説だけで具体性がないので、ちょっとこれだけでは使えそうにない。あくまでも入り口だけ。


□Common Usage
Selfie effects
Face capture

□Getting Started

ARConfiguration
ARSession
AVCaptureSession
CMMotionManager
ARFrame

ARFaceTrackingConfiguration
ARFaceAnchor
ARFaceGeometry
ARSCNFaceGeometry
ARBlendSapeLocation
ARDirectionalLightEstimate

AVDepthData

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

2017年11月08日

Fall 2017 | Session 204 | iOS Storage Best Practices

8:53
https://developer.apple.com/videos/play/fall2017/204/

アプリケーションで保存したファイルはXcode の Devices and Simulators ウインドウで、アプリケーションをMacにダウンロードすることができる。

□iCloud Drive

他のデバイスからもアクセス可能。
ローカルにもキャッシュする。

□Document Directory

Files.appで可視化。
・Support "Open in Place"
・Suppot "File Sharing Enabled"

Info.plistで設定する。

□Application Supoort Directory

ファイルを保存するが、見せたくない場合。
階層化可能
iClound/iTunesにバックアップされる
Documents&Dataのディスク使用量に含まれる

□Cashes Directory

パージ可能な一時的データ
ダウンロード可能なデータ

□Temporary Directory

一時ファイル
実行後
バックアップされない。
Documents&Dataのディスク使用量に含まれない

□Best Practice

NSURLIsExcludedFromBackupKey
Cloud or Local(一方にのみ保存するべき)
NSURLVolumeAvailableCapacityForImportantUsageKey
NSURLVolumeAvailableCapacityForOpportunisticUsageKey
ラベル:Fall2017 ファイル
posted by 永遠製作所 at 19:32| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月07日

Fall 2017 | Session 801 | Designing for iPhone X

12:50
https://developer.apple.com/videos/play/fall2017/201/

□iPhone X向けでデザイン上考慮すべき点

・ディスプレイ解像度
375 x 812pt(1125 x 2436px)
幅は4.7" Displayと同じ。
高さは 145pt 高い。667pt +145pt = 812pt
sensor housingがあるのも違い。

・ホームボタンに代わるインタフェース分を考慮する必要がある

□UIKit and Auto Layout

・新しいレイアウト要素が追加された。
Navigation Bar, Tab bar ,Status bar
Safe Area lauout guide

・従来モデルでは表示エリアとSafe Areaは同一。
 iPhone Xでは表示エリアの内側にSafe Areaがある。
 どちらも、Compact Width (Landscape)になる。

・Custom Layoutの場合

フルスクリーンアプリの場合アスペクト比が違うことに注意。
16:9
四隅にコントロールを置く場合には注意が必要。デバイス
Status barは4.7"より高くなっている。
Landscapeモードで左右で違いがでないようにすること(sensor housingがあるため)。

・Edge Protection

下端のスワイプ、タップでコントロールを引き出す場合があるので気を付ける。


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

2017年11月06日

Fall 2017 | Session 201 | Building Apps for iPhone X

https://developer.apple.com/videos/play/fall2017/201/
13:35

いよいよiPhone Xが発売されましたが、iPhone X対応アプリを実装するためのビデオが公開されていました。Fall 2017と題する短いビデオクリップ集。

このセッションではiPhone X対応するために必要なコード等の修正点を簡潔に伝えています。一応iOS 11対応という形でiOS 11で導入されたAPIですがすべてiPhone Xでセンサーカメラ部分が導入されたり、コントロールセンサーが代わったりしたことに対応する方法。

WWDCアプリを例に示している。

□Auto Layout

Auto Layoutを使っていれば自動的にiPhone Xのレイアウトに対応可能。

新たに導入された Safe Area に注意する必要がある。スクリーンの表示エリアとコントロールを配置してよいエリアに違いがある。Safe Area外に追加すると、コントロールセンターの操作と競合することになる。XibファイルでレイアウトするときにSuperview に接続するのではなく、Safe Area に接続する。

□サーチコントローラー(Swift)

サーチコントロールをテーブルビューで使う場合、サーチコントロールを生成して親コントローラー上でpresent()するだけでよかった。バックグラウンドカラーが違ったり、ランドスケープモードでクリッピングエリアがコントロールを隠したりすることになる。

iOS11では(iPhone Xに対応するためには)navigationItem に追加する必要がある(コードは6:40あたり)。


let serchController = UISerchController(serchResultsController: nil)
serchController.serchResultsUpdater = self
serchController.obscuresBackgroundDuringPresentation = false
serchController.serchBar.text = serchText

if #available(iOS 11.0, *) {
self.navigationItem.serchController = searController
serchController.isActive = true
} else {
present(searchController, animated: true, copletion: nil )
}



□テーブルビューのヘッダのサーチフール度(Objective-C)

if (@available(iOS 11.0, *) {
self.navigationItem.serchController = self.serchController;
self.navigationItem.serchController.active = showSearchBar;
} else {
if ( _showSerchBar ) {
self.tableView.tableHeader =
self.serchController.searchBar;
} else {
self.tableView.tableHeaderView = nil;
}
}



□テーブルビューのセル

テーブルセル内のContent Viewはデフォルトで Safe Area 内に配置されるが、Xib の「Content View Insets To Safe Area」をチェックをはずすとSafe Area外まで表示させることができる。

また「Use Safe Area Layout Guides」をチェックする。

□Summary

iOS 11 SDKを使う。Launch Storyboardを使う。
縦横両方のレイアウトでテストする。
Safe Areas に気を付ける
・safeAreaLayoutGuide for Auto Layout
・safeAreaInsets for manual calculations
posted by 永遠製作所 at 23:12| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年06月09日

WWDC17 | Session 201 | What's New in Cocoa Touch

WWDC17 | Session 201 | What's New in Cocoa Touch
40:25

https://developer.apple.com/videos/play/wwdc2017/201/

Cocoa touchで新たに導入された機能などの概要。詳細は別セッションで。

■新機能

□ドラッグアンドドロップ
・ドラッグするビューに UIDragInteraction を追加する。
・受け入れるビューに UIDropInteraction を追加する。
・始めからサポートされているビュー:
TableView, CollectionView, TextView, TextField, WebView
・UIPasteConfiguration

□ファイル管理

・UIDocumentBrowserViewControllerを使う。
・ローカルファイルやネットワークファイルにもアクセスできる。
・複数のアプリが同じファイルにアクセスするのでアクセス管理が必要。
・そのために NSFileCoordinator や UIDocument を使うと良い。

■UIの変更

□Large Title

ナビゲーションバーのトップのタイトルを大きくする。検索フィールドとの一体化。メインのビューをスクロールしたときに自動的に縮小する。読み込み中のスピン表示も一体化。

class UINviationBar {
var prefersLargeTitle: Bool
}

class UINavigationItem {
var largeTitleDisplayMode: LargeTitleDisplayMode
var serchController: UISerchController?
}


上下のエリアが可変になったのでそこを調整する必要がある。
class UIView {
var safeAreaLayoutGuide: UILayoutGuid: { get }
var safeAreaInsets: UIEdgeInsets { get }
func safeAreaInsetsDidChange()
}

class UIScrollView {
var contentInsetAdjustmentBehaviro: UIScrollViewContntInsetAdjustmentBehavior
var adjustedContentInset: UIDegeInsets { get }
}


□Swipe Actions

・テーブルビューのスワイプ時の機能をカスタマイズできるようになった。

UISwipeActionsConfiguration
UIContetxualAction

class UITableView {
var separatorInsetReference: UITableViewSeparatorInsetReference
}


■API変更

□Swift 4

・enum, struct を Codable にする。NSCoding, JSON, Porperty lists
・\記法でのキーパス表記が可能になった。
・KVO

□画面上部からのノーティフィケーションセンター、下部からのコントロールセンター表示

class UIViewController {
func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge
}


□Auto Layout and Scroll View

class UIScrollView {
var contentLayoutGuide: UILayoutGuide { get }
var frameLayoutGuide: UILayoutGuide { get }
}


centerXAnchor

□Dynamic Type

カスタムフォントへの対応
ラインスペースへの対応
Visual Fromatting Language への対応

□Password 自動入力
□アセットカタログ

・UIColor を名前で作成
・PDFベースの画像

□可変リフレッシュレート
□ローカリゼーション

RL表記言語へのUIの対応
ラベル:WWDC UIKit iOS11
posted by 永遠製作所 at 15:26| 東京 ☀| Comment(0) | TrackBack(0) | WWDC | このブログの読者になる | 更新情報をチェックする