Upload
burcu-geneci-mba
View
604
Download
2
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