SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
World Wide Developer Conference 2015
San Francisco, CA, USA
Burcu GENECİ
Date(10/07/2015)
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.
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
• What’s new in Auto layout
• Swift 2
4
Important News from Apple - EL CAPITAIN
• SPOTLIGHT as a Search Engine..
The new search system allows 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.
• SAFARI
A 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
5
EL CAPITAIN
SPLITVIEW
Important News from Apple – IOS9
6
• SEARCH (Siri Suggestions)
• App History
• Content indexing
• Web markup
• SIRI
Siri 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 Controller
Created 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 mode
iOS 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
IOS9 - NOTES
7
Important News from Apple - WATCHOS 2
8
• NATIVE APPS
Apps now run natively for better performance.
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
greater capabilities.
• Apps can now take advantage of features like the Taptic Engine,
Digital Crown, accelerometer, heart rate sensor, speaker, and microphone.
• Use more cards with Apple Pay.
• WATCHCONNECTIVITY
WatchConnectivity saves battery life by allowing the WatchKit extension to
transfer new information for the iPhone app to use when it’s 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
Important News from Apple – WATCHOS 2
9
COMPLICATIONS
Important News from Apple – WATCHOS 2
10
TIME TRAVEL
Important News from Apple – Platform State of Unions
11
Multitasking in iPad on iOS9
Multitasking in iPad on iOS9
How to make your application resizable?
SizeClasses + Autolayout
How to manage this environment?
• Memory Management
• Optimize Your App  Use Instruments
• Fix Memory Leaks  Track memory warnings
• Fix inefficient algorithms
NSPurgableData ..
NSCache
Working Set
Memory
To participate effectively in this environment, an iOS 9 developer must carefully tune their app’s 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
• Slide Over
• Picture in Picture
• Split View
App Thinning in Xcode
Bitcode App Slicing On Demand
Resources
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode
App Thinning in Xcode – App Slicing
App Thinning in Xcode – App Slicing
App Thinning in Xcode – App Slicing
WHAT TO DO?
• 1x,2x,3x artwork
• Use Asset Catalog
• Use 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.
App Thinning in Xcode – App Slicing
26
HOW TO DISTRIBUTE FOR TESTING?
App Thinning in Xcode – App Slicing
27
HOW TO DISTRIBUTE?
App Thinning in Xcode – App Slicing
HOW TO DISTRIBUTE?
App Thinning in Xcode- On Demand Resources
App Thinning in Xcode- On Demand Resources
App Thinning in Xcode- On Demand Resources
App Thinning in Xcode- On Demand Resources
• Asset packs are built by Xcode
Can contain any non-executable assets
• Hosted by the App Store
Downloaded when needed
• Reclaimed as appropriate
Device-thinned just like the other content
Advanced Unit Testing and UI Test Recording
• XCTest and Accesibility work together
• New UI Test feature
• UI Recording
Advanced Unit Testing and UI Test Recording
XCTest
Xcode’stesting framework
Test casesubclasses
Test methods
Assertions
Integrated with Xcode
CIviaXcodeServer and xcodebuild
Advanced Unit Testing and UI Test Recording
CoreTechnologies
+
AccessibilityXCTest
Advanced Unit Testing and UI Test Recording
Advanced Unit Testing and UI Test Recording
XCUIApplication
Proxy for the tested application
Launch
Starting point for finding elements
XCUIElement
Proxy for elements in application
Types
Identifiers
XCUIElementQuery
Queries resolve to collections of accessible elements
Number of matches:count
Specify by identifier: subscripting
Specify by index:elementAtIndex()
descendantsMatchingType()
childrenMatchingType()
containingType()
Element Uniqueness
Element Hierachy
Advanced Unit Testing and UI Test Recording
XCUIElementQuery
descendantsMatchingType()
childrenMatchingType()
containingType()
Event Synthesis
Simulate user interaction on elements
APIs are platform-specific
button.click() // OS X
button.tap() // iOS
textField.typeText(“Hello, World!”) // iOS & OS X
Assertions
•XCTAssertEqual()
Advanced Unit Testing and UI Test Recording
Advanced Unit Testing and UI Test Recording
What’s new in Auto layout
• StackView
• Horizontal & Vertical Layouts
• 3D View Debugger
• Activate and deactiveConstraints
What’s new in Auto layout
• StackView
• Horizontal & Vertical Layouts (Alignment)
What’s new in Auto layout
• StackView
• Horizontal & Vertical Layouts (Alignment)
What’s new in Auto layout
• StackView
• Horizontal & Vertical Layouts (Alignment & Distribution)
What’s new in Auto layout
• StackView
• Horizontal & Vertical Layouts (Alignment)
XCode7 – New Features
• Swift Migrator
• Playgrounds
• Debugging and Profiling Tools
• Address Sanitizier
• Crash Logs
XCode7 – Swift Migrator
XCode7 – Debugging and Profiling Tools
• Debugging
• View Debuger
• Exception Breakpoint
• Advance Breakpoint Actions
• Energy Impact
• CPU
• Network
• Location
• Background
XCode7 – Playgrounds
• Get more information about results
• Adding explanation to play ground.
• Protocol Extensions
XCode7 – Playgrounds
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
XCode7 – Crash Logs
• Fully Symbolicated
• App Store and Test Flight
• Full Xcode Integration
XCode7 – Crash Logs
Swift 2
• Error Handling
• Availability Check
• Testability
• Typed Collections
Swift 2
• Error Handling
Swift 2
• Availability Check
Old Aproach
Better Approach
Swift 2
• Testability
@testable
import MyApp
• Typed Collections
58
59
• WWDC 2015 Keynote
• WWDC 2015 Sessions
• https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistri
butionGuide/AppThinning/AppThinning.html
• https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistri
butionGuide/AnalyzingCrashReports/AnalyzingCrashReports.html
REFERENCES

Contenu connexe

Tendances

Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator OverviewJeff Haynie
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankushankush Ankush
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesAidan Casey
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKIntel® Software
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionBlrDroid
 
Apple iPhone App Programming Guide
Apple iPhone App Programming GuideApple iPhone App Programming Guide
Apple iPhone App Programming GuideYusuf Karoma
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best PracticesJean-Luc David
 
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)Qualcomm Developer Network
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEIntel® Software
 
Developing Windows Phone Apps with the Nokia Imaging SDK
Developing Windows Phone Apps with the Nokia Imaging SDKDeveloping Windows Phone Apps with the Nokia Imaging SDK
Developing Windows Phone Apps with the Nokia Imaging SDKNick Landry
 
Why Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidWhy Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidDavid Jones
 
From Containerization to Modularity
From Containerization to ModularityFrom Containerization to Modularity
From Containerization to Modularityoasisfeng
 
Iphone app programming guide
Iphone app programming guideIphone app programming guide
Iphone app programming guideClickBank
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Gonzalo Parra
 

Tendances (20)

What's new in ios 7.0
What's new in ios 7.0What's new in ios 7.0
What's new in ios 7.0
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile services
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
 
March 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech SessionMarch 2014 Meetup - Nokia X Tech Session
March 2014 Meetup - Nokia X Tech Session
 
Apple iPhone App Programming Guide
Apple iPhone App Programming GuideApple iPhone App Programming Guide
Apple iPhone App Programming Guide
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best Practices
 
ios basics
ios basicsios basics
ios basics
 
Revue des annonces WWDC2015
Revue des annonces WWDC2015Revue des annonces WWDC2015
Revue des annonces WWDC2015
 
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)
Hands-On with the Qualcomm Vuforia Mobile Vision Platform (Beginning tutorial)
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDE
 
Developing Windows Phone Apps with the Nokia Imaging SDK
Developing Windows Phone Apps with the Nokia Imaging SDKDeveloping Windows Phone Apps with the Nokia Imaging SDK
Developing Windows Phone Apps with the Nokia Imaging SDK
 
Why Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidWhy Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on Android
 
From Containerization to Modularity
From Containerization to ModularityFrom Containerization to Modularity
From Containerization to Modularity
 
Iphone app programming guide
Iphone app programming guideIphone app programming guide
Iphone app programming guide
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09
 
Intro to MonoTouch
Intro to MonoTouchIntro to MonoTouch
Intro to MonoTouch
 

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

Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumit Kataria
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkImam Raza
 
DreamFactory Essentials Webinar
DreamFactory Essentials WebinarDreamFactory Essentials Webinar
DreamFactory Essentials WebinarDreamFactory
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsShashikant Jagtap
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentrohithn
 
In-Flight Infotainment and e-Shopping App | iPad App for shopping
In-Flight Infotainment and e-Shopping App | iPad App for shoppingIn-Flight Infotainment and e-Shopping App | iPad App for shopping
In-Flight Infotainment and e-Shopping App | iPad App for shoppingMike Taylor
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioGuilhem Ensuque
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookKyle McInnes
 

Similaire à WWDC 15 - Apple's Developer Event @ 8-12 June, 2015 (20)

iPhone Programming
iPhone ProgrammingiPhone Programming
iPhone Programming
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
Ios
IosIos
Ios
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
 
DreamFactory Essentials Webinar
DreamFactory Essentials WebinarDreamFactory Essentials Webinar
DreamFactory Essentials Webinar
 
Python Diamond Tool
Python Diamond ToolPython Diamond Tool
Python Diamond Tool
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
IOS ecosystem
IOS ecosystemIOS ecosystem
IOS ecosystem
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS Apps
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Splunk Developer Platform
Splunk Developer PlatformSplunk Developer Platform
Splunk Developer Platform
 
In-Flight Infotainment and e-Shopping App | iPad App for shopping
In-Flight Infotainment and e-Shopping App | iPad App for shoppingIn-Flight Infotainment and e-Shopping App | iPad App for shopping
In-Flight Infotainment and e-Shopping App | iPad App for shopping
 
XCode8.0
XCode8.0XCode8.0
XCode8.0
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBook
 

Dernier

Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 

Dernier (20)

Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 

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

  • 1. World Wide Developer Conference 2015 San Francisco, CA, USA Burcu GENECİ Date(10/07/2015)
  • 2. 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.
  • 3. 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 • What’s new in Auto layout • Swift 2
  • 4. 4 Important News from Apple - EL CAPITAIN • SPOTLIGHT as a Search Engine.. The new search system allows 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. • SAFARI A 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
  • 6. Important News from Apple – IOS9 6 • SEARCH (Siri Suggestions) • App History • Content indexing • Web markup • SIRI Siri 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 Controller Created 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 mode iOS 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
  • 8. Important News from Apple - WATCHOS 2 8 • NATIVE APPS Apps now run natively for better performance. 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 greater capabilities. • Apps can now take advantage of features like the Taptic Engine, Digital Crown, accelerometer, heart rate sensor, speaker, and microphone. • Use more cards with Apple Pay. • WATCHCONNECTIVITY WatchConnectivity saves battery life by allowing the WatchKit extension to transfer new information for the iPhone app to use when it’s 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
  • 9. Important News from Apple – WATCHOS 2 9 COMPLICATIONS
  • 10. Important News from Apple – WATCHOS 2 10 TIME TRAVEL
  • 11. Important News from Apple – Platform State of Unions 11
  • 13. Multitasking in iPad on iOS9 How to make your application resizable? SizeClasses + Autolayout How to manage this environment? • Memory Management • Optimize Your App  Use Instruments • Fix Memory Leaks  Track memory warnings • Fix inefficient algorithms NSPurgableData .. NSCache Working Set Memory To participate effectively in this environment, an iOS 9 developer must carefully tune their app’s 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 • Slide Over • Picture in Picture • Split View
  • 14. App Thinning in Xcode Bitcode App Slicing On Demand Resources
  • 23. App Thinning in Xcode – App Slicing
  • 24. App Thinning in Xcode – App Slicing
  • 25. App Thinning in Xcode – App Slicing WHAT TO DO? • 1x,2x,3x artwork • Use Asset Catalog • Use 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.
  • 26. App Thinning in Xcode – App Slicing 26 HOW TO DISTRIBUTE FOR TESTING?
  • 27. App Thinning in Xcode – App Slicing 27 HOW TO DISTRIBUTE?
  • 28. App Thinning in Xcode – App Slicing HOW TO DISTRIBUTE?
  • 29. App Thinning in Xcode- On Demand Resources
  • 30. App Thinning in Xcode- On Demand Resources
  • 31. App Thinning in Xcode- On Demand Resources
  • 32. App Thinning in Xcode- On Demand Resources • Asset packs are built by Xcode Can contain any non-executable assets • Hosted by the App Store Downloaded when needed • Reclaimed as appropriate Device-thinned just like the other content
  • 33. Advanced Unit Testing and UI Test Recording • XCTest and Accesibility work together • New UI Test feature • UI Recording
  • 34. Advanced Unit Testing and UI Test Recording XCTest Xcode’stesting framework Test casesubclasses Test methods Assertions Integrated with Xcode CIviaXcodeServer and xcodebuild
  • 35. Advanced Unit Testing and UI Test Recording CoreTechnologies + AccessibilityXCTest
  • 36. Advanced Unit Testing and UI Test Recording
  • 37. Advanced Unit Testing and UI Test Recording XCUIApplication Proxy for the tested application Launch Starting point for finding elements XCUIElement Proxy for elements in application Types Identifiers XCUIElementQuery Queries resolve to collections of accessible elements Number of matches:count Specify by identifier: subscripting Specify by index:elementAtIndex() descendantsMatchingType() childrenMatchingType() containingType() Element Uniqueness Element Hierachy
  • 38. Advanced Unit Testing and UI Test Recording XCUIElementQuery descendantsMatchingType() childrenMatchingType() containingType() Event Synthesis Simulate user interaction on elements APIs are platform-specific button.click() // OS X button.tap() // iOS textField.typeText(“Hello, World!”) // iOS & OS X Assertions •XCTAssertEqual()
  • 39. Advanced Unit Testing and UI Test Recording
  • 40. Advanced Unit Testing and UI Test Recording
  • 41. What’s new in Auto layout • StackView • Horizontal & Vertical Layouts • 3D View Debugger • Activate and deactiveConstraints
  • 42. What’s new in Auto layout • StackView • Horizontal & Vertical Layouts (Alignment)
  • 43. What’s new in Auto layout • StackView • Horizontal & Vertical Layouts (Alignment)
  • 44. What’s new in Auto layout • StackView • Horizontal & Vertical Layouts (Alignment & Distribution)
  • 45. What’s new in Auto layout • StackView • Horizontal & Vertical Layouts (Alignment)
  • 46. XCode7 – New Features • Swift Migrator • Playgrounds • Debugging and Profiling Tools • Address Sanitizier • Crash Logs
  • 47. XCode7 – Swift Migrator
  • 48. XCode7 – Debugging and Profiling Tools • Debugging • View Debuger • Exception Breakpoint • Advance Breakpoint Actions • Energy Impact • CPU • Network • Location • Background
  • 49. XCode7 – Playgrounds • Get more information about results • Adding explanation to play ground. • Protocol Extensions
  • 51. 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
  • 52. XCode7 – Crash Logs • Fully Symbolicated • App Store and Test Flight • Full Xcode Integration
  • 54. Swift 2 • Error Handling • Availability Check • Testability • Typed Collections
  • 55. Swift 2 • Error Handling
  • 56. Swift 2 • Availability Check Old Aproach Better Approach
  • 57. Swift 2 • Testability @testable import MyApp • Typed Collections
  • 58. 58
  • 59. 59 • WWDC 2015 Keynote • WWDC 2015 Sessions • https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistri butionGuide/AppThinning/AppThinning.html • https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistri butionGuide/AnalyzingCrashReports/AnalyzingCrashReports.html REFERENCES