59
Private and confidential document of GT World Wide Developer Conference 2015 San Francisco, CA, USA Burcu GENECİ Date(10/07/2015)

WWDC 15 - Apple's Developer Event @ 8-12 June, 2015

Embed Size (px)

Citation preview

Slide 1

World Wide Developer Conference 2015

San Francisco, CA, USA

Burcu GENECDate(10/07/2015)

Private and confidential document of GT

Private and confidential document of GT

1

World Wide Developer Conference 2015 2

Hosted in the Moscone Center for the 26th year.

Attendees from over 70 countries.

80% are first-time attendees.

Presented at more than 100 conference sessions and 150 labs.

350 student scholarship winners.

1000+ Apple Engineers.

Private and confidential document of GT

2

Agenda

New versions of OS, IOS and WatchOS

Multitasking in iPad on iOS9

App Thinning

XCode7 New Features

Advanced Unit Testing and UI Test Recording

Whats new in Auto layout

Swift 2

Private and confidential document of GT

3

4Important News from Apple - EL CAPITAIN

SPOTLIGHT as a Search Engine..

The new search systemallows users to resize and move the Spotlight window, which presents new types of content.

Sports scores and other Siri data will be supported, and natural language search allows users to track down mail messages and documents easily. The search upgrades are also available in apps like Mail and Finder.

METAL for Mac..

50% improvements in rendering with 40% less CPU processing power required for graphics. Metal on OS X El Capitan offers better battery life and improved graphics performance for both games and professional apps.

SAFARIA new pinned feature enables users to keep websites listed at the top of Safari, similar to a bookmarks bar. The browser also gains a universal mute feature that allows users to mute a website that is playing music, even with several tabs open.

Call out your cursor.

SPLITVIEW

Private and confidential document of GT

4

5EL CAPITAIN

SPLITVIEW

Private and confidential document of GT

5

Important News from Apple IOS9 6

SEARCH (Siri Suggestions)App HistoryContent indexingWeb markup

SIRISiri can do a lot more in iOS 9 with contextual awareness. If you ask Siri to "Remind me to do this" when looking at a request you've received in the Messages app, Siri will understand what you mean by "this" and will add the event.SPLITVIEW for iPad

Safari View ControllerCreated with the goal to let developers stop writing miniature web browsers, Safari View Controller enables apps to delegate the responsibility of showing web content to Safari itself, avoiding the need to write custom code for built-in browsers.

Low Power modeiOS will shut down background activity and reduce performance to get you as much as three extra hours before the battery finally goes kaput.

HTTPS exclusively

NOTES

Private and confidential document of GT

6

IOS9 - NOTES 7

Private and confidential document of GT

7

Important News from Apple - WATCHOS 2 8

NATIVE APPSApps now run natively for betterperformance. With watchOS 2, many apps are native apps, which means they run entirely on your Apple Watch. So they load more quickly and have even greatercapabilities.

Appscan now take advantage of features like the Taptic Engine, DigitalCrown, accelerometer, heart rate sensor, speaker, and microphone.

Use more cards with ApplePay.

WATCHCONNECTIVITYWatchConnectivity saves battery life by allowing the WatchKit extension to transfer new information for the iPhone app to use when its next launched, allowing for seamless file transfers between the Apple Watch app and iPhone app. Using NSURLSession, Apple Watch can now communicate directly with known wifi hotspots using the new Tetherless Wi-Fi feature in watchOS 2.

COMPLICATIONS

TIMETRAVEL

Private and confidential document of GT

8

Important News from Apple WATCHOS 2 9COMPLICATIONS

Private and confidential document of GT

9

Important News from Apple WATCHOS 2 10TIME TRAVEL

Private and confidential document of GT

10

Important News from Apple Platform State of Unions 11

Private and confidential document of GT

11

Multitasking in iPad on iOS9

Private and confidential document of GT

12

Multitasking in iPad on iOS9

How to make your application resizable?

SizeClasses + Autolayout

How to manage this environment?

Memory ManagementOptimize Your App Use InstrumentsFix Memory Leaks Track memory warningsFix inefficient algorithms

NSPurgableData .. NSCache Working Set Memory

To participate effectively in this environment, an iOS 9 developer must carefully tune their apps resource usage. If an app consumes too much time per frame, screen updates can fall below 60 frames per second. Under memory pressure, the system terminates the app consuming the most memory.New Features

SlideOverPictureinPictureSplitView

Private and confidential document of GT

13

App Thinning in Xcode

BitcodeApp SlicingOn Demand Resources

Private and confidential document of GT

14

App Thinning in Xcode

Private and confidential document of GT

15

App Thinning in Xcode

Private and confidential document of GT

16

App Thinning in Xcode

Private and confidential document of GT

17

App Thinning in Xcode

Private and confidential document of GT

18

App Thinning in Xcode

Private and confidential document of GT

19

App Thinning in Xcode

Private and confidential document of GT

20

App Thinning in Xcode

Private and confidential document of GT

21

App Thinning in Xcode

Private and confidential document of GT

22

App Thinning in Xcode App Slicing

Private and confidential document of GT

23

App Thinning in Xcode App Slicing

Private and confidential document of GT

24

App Thinning in Xcode App Slicing

WHAT TO DO?

1x,2x,3x artworkUse Asset CatalogUse Device Traits (Screen Resolution, Device Family)

HOW TO TEST?

ENABLE_ONLY_ACTIVE_RESOURCES

HOW TO DISTRIBUTE?

Thin Distribution is supported in AppStore Purchase, TestFlight, Adhoc/Enterprise Distributions.

Private and confidential document of GT

25

App Thinning in Xcode App Slicing

26HOW TO DISTRIBUTE FOR TESTING?

Private and confidential document of GT

26

App Thinning in Xcode App Slicing 27

HOW TO DISTRIBUTE?

Private and confidential document of GT

27

App Thinning in Xcode App SlicingHOW TO DISTRIBUTE?

Private and confidential document of GT

28

App Thinning in Xcode- On Demand Resources

Private and confidential document of GT

29

App Thinning in Xcode- On Demand Resources

Private and confidential document of GT

30

App Thinning in Xcode- On Demand Resources

Private and confidential document of GT

31

App Thinning in Xcode- On Demand Resources

Asset packs are built by XcodeCan contain any non-executable assetsHosted by the App StoreDownloaded when needed Reclaimed as appropriateDevice-thinned just like the other content

Private and confidential document of GT

32

Advanced Unit Testing and UI Test Recording

XCTest and Accesibility work together

New UI Test feature

UI Recording

Private and confidential document of GT

33

Advanced Unit Testing and UI Test Recording

Private and confidential document of GT

34

Advanced Unit Testing and UI Test Recording

Private and confidential document of GT

35

Advanced Unit Testing and UI Test Recording

Private and confidential document of GT

36

Advanced Unit Testing and UI Test Recording

XCUIApplicationProxy for the tested application Launch Starting point for finding elements

XCUIElementProxy for elements in application Types Identifiers

XCUIElementQueryQueries resolve to collections of accessible elements Number of matches:countSpecify by identifier: subscripting Specify by index:elementAtIndex()

descendantsMatchingType() childrenMatchingType() containingType()

Element Uniqueness Element Hierachy

Private and confidential document of GT

37

Advanced Unit Testing and UI Test Recording

XCUIElementQuerydescendantsMatchingType() childrenMatchingType() containingType()

Event SynthesisSimulate user interaction on elementsAPIs are platform-specific button.click() // OS Xbutton.tap() // iOStextField.typeText(Hello, World!) // iOS & OS X

AssertionsXCTAssertEqual()

Private and confidential document of GT

38

Advanced Unit Testing and UI Test Recording

Private and confidential document of GT

39

Advanced Unit Testing and UI Test Recording

Private and confidential document of GT

40

Whats new in Auto layout

StackView

Horizontal & Vertical Layouts

3D View Debugger

Activate and deactiveConstraints

Private and confidential document of GT

41

Whats new in Auto layout

StackView

Horizontal & Vertical Layouts (Alignment)

Private and confidential document of GT

42

Whats new in Auto layout

StackView

Horizontal & Vertical Layouts (Alignment)

Private and confidential document of GT

43

Whats new in Auto layout

StackView

Horizontal & Vertical Layouts (Alignment & Distribution)

Private and confidential document of GT

44

Whats new in Auto layout

StackView

Horizontal & Vertical Layouts (Alignment)

Private and confidential document of GT

45

XCode7 New Features

Swift Migrator Playgrounds

Debugging and Profiling Tools

Address Sanitizier

Crash Logs

Private and confidential document of GT

46

XCode7 Swift Migrator

Private and confidential document of GT

47

XCode7 Debugging and Profiling Tools

Debugging

View Debuger

Exception Breakpoint

Advance Breakpoint Actions

Energy Impact CPU

Network

Location

Background

Private and confidential document of GT

48

XCode7 Playgrounds

Get more information about results

Adding explanation to play ground.

Protocol Extensions

Private and confidential document of GT

49

XCode7 Playgrounds

Private and confidential document of GT

50

XCode7 Address Sanitizer

Analyze Memory Corruption

EXC_BAD_ACCESS

Integrated into Debug Navigator

Edit Scheme Diagnotics > Enable Address Sanitizer

Edit Scheme Test Diagnostics > Enable Address Sanitizer

Shadow Mapping

Private and confidential document of GT

51

XCode7 Crash Logs

Fully Symbolicated

App Store and Test Flight

Full Xcode Integration

Private and confidential document of GT

52

XCode7 Crash Logs

Private and confidential document of GT

53

Swift 2

Error Handling Availability Check

Testability

Typed Collections

Private and confidential document of GT

54

Swift 2

Error Handling

Private and confidential document of GT

55

Swift 2

Availability Check

Old Aproach

Better Approach

Private and confidential document of GT

56

Swift 2

Testability

@testableimport MyApp

Typed Collections

Private and confidential document of GT

57

58

Private and confidential document of GT

58

59WWDC 2015 Keynote

WWDC 2015 Sessions

https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AnalyzingCrashReports/AnalyzingCrashReports.html

REFERENCES

Private and confidential document of GT

59