Slide 1

Slide 1 text

Pitfalls of PhotoKit @griffin_stewie

Slide 2

Slide 2 text

Fenrir Inc. @griffin_stewie Bouldering: Level 5

Slide 3

Slide 3 text

PhotoKit

Slide 4

Slide 4 text

PhotoKit • From iOS 8 • Sophisticated • Thread safe

Slide 5

Slide 5 text

Simple Fetching

Slide 6

Slide 6 text

Assets Library • Enumerate groups and assets • Filter inside loop • Easy access raw data

Slide 7

Slide 7 text

PhotoKit • Call fetch methods • Like CoreData • Apply fetch options

Slide 8

Slide 8 text

Complicated Fetching

Slide 9

Slide 9 text

PHFetchOptions • dates • pixelWidth • pixelHeight • etc

Slide 10

Slide 10 text

PhotoKit • Access raw data ?

Slide 11

Slide 11 text

Darkside

Slide 12

Slide 12 text

Too slow

Slide 13

Slide 13 text

Fetching 5000 assets • Assets Library • Takes a few seconds • PhotoKit • Takes a few minutes

Slide 14

Slide 14 text

Reasons

Slide 15

Slide 15 text

XPC • Assets Library • Same process as app • PhotoKit • Separate process • Communicate using XPC

Slide 16

Slide 16 text

Thread safe • Assets Library • Developers should take care of it • PhotoKit • Framework cares

Slide 17

Slide 17 text

Let's use obediently