The document discusses new features in iOS 7 related to multi-tasking and networking. It describes how apps can now perform background updates using Background Fetch, which allows apps to retrieve new data in the background without needing to use background execution time. It also discusses how remote notifications can now include a flag to retrieve data content in the background before the user interacts with the notification.
Presentation for the September 2011 Salt Lake City Cocoaheads group. Covers the basics of how iOS apps terminate, resume, and what you can do in the background.
Orangescrum Mobile API Add on User ManualOrangescrum
Orangescrum Mobile API add-on user manual will help you to install the Mobile API add-on & guide you about the features of Mobile API.
With the Mobile API Orangescrum open source (community) users can generate a code to use the iOS & Android Mobile APP .
For more information about the Mobile API & APP, please visit: http://www.orangescrum.org/add-on/mobileapi
Explore the Mobile API demo at: http://newui.orangescrum.org/
How to write better code: in-depth best practices for writing readable, simpl...Oursky
From data structure and object to architecture to refactoring. YouTube videos included. Summary of Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin
References:
Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin (http://www.amazon.com/Clean-Code-Handbook-
Software-Craftsmanship/dp/0132350882)
Design Patterns: ELements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
The Clean Code Talks - "Global State and Singletons"
https://www.youtube.com/watch?v=-FRm3VPhseI
How to write better code: in-depth best practices for writing readable, simpl...Jane Chung
From data structure and object to architecture to refactoring. YouTube videos included. Summary of Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin
References:
Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin (http://www.amazon.com/Clean-Code-Handbook-
Software-Craftsmanship/dp/0132350882)
Design Patterns: ELements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
The Clean Code Talks - "Global State and Singletons"
https://www.youtube.com/watch?v=-FRm3VPhseI
Troubleshooting Live Java Web Applicationsashleypuls
This talk examines methods and tools that can be used to uncover and resolve performance problems arising in Java web applications. It touches on a few common problems such as slow SQL and blocked threads. It uses various diagnostic tools to examine these problems including log files, jvisualvm, and New Relic. Finally, it evaluates the use of these tools in a production environment, separating them into what can and cannot be used in live production applications.
Time Log with Payment Add on User ManualOrangescrum
The Time Log with Payment add-on user manual will help you to install the Time Log with Payment add-on & guide you the features of Time Log with Payment add-on features.
With this add-on, you can easily plan, track, manage and pay for your extended teams' work.
To know more about the add-on, please visit: http://www.orangescrum.org/add-on/payment
Video and slides synchronized, mp3 and slide download available at http://bit.ly/19skk3A.
Saul Mora discusses using some of the patterns from the Design Pattern book today, and applying patterns in a multicore world.Filmed at qconnewyork.com.
Saul Mora is an active member of the Cocoa developer community and contributes by blogging, producing NSBrief (a developer podcast, http://nsbrief.com), contributing to open source projects, and helping to teach others about the wonders and methods of developing applications.
FUTURESTACK13: Mobile Apps, A DevOps Way from Jonathan Karon, Engineering Man...New Relic
What secrets can you glean from analyzing billions of network reqests and hundreds of millions of mobile app sessions? Do carriers, OEMs, and operating system bugs really affect performance? Come learn how developers at New Relic and elsewhere are taking advantage of these insights to make our apps faster and more fault tolerant.
But that's not all! Join us as we unveil the future of mobile software analytics: a world where you have direct insight into the behavior of your app on each and every mobile device around the globe. We'll talk about our vision for mobile and you'll be the first to see the latest innovations from New Relic's mobile team!
This session explains the different services and techniques to automate deployments on AWS, using tools such as AWS CloudFormation, OpsWorks, or PowerShell.
Who should attend:
Developers, DevOps Manager, Configuration Managers, Test Managers and Architects
Demos associated with this webinar:
• Creating a CloudFormation script that describes the target environment
• Deploying the build artifacts onto the target environment
View the webinar: http://youtu.be/5WwWylmZE7Y
FUTURESTACK13: What’s New and Upcoming with New Relic from Patrick Lightbody,...New Relic
Come learn about the new features we're launching at FutureStack, as well as what our roadmap looks like for the next year. We'll also share how we think about our products and the process is for deciding what to build next.
Collection of tips & tricks that makes the difference between a good app and a "wow-affect" app. Relevant to product managers and developers (including some code samples)
As presented in DroidCon Tel Aviv 2014 by:
Ran Nachmany, MobiliUp
http://il.droidcon.com
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Dù bạn là ai, dù mục đích học tiếng Anh của bạn đơn thuần chỉ là có tấm bằng trong tay để xin việc hay cao siêu hơn là có thể nói thông viết thạo thì việc nằm lòng các ngữ pháp tiếng Anh ẩn chứa sức mạnh ghê gớm dưới đây cũng là bước cơ bản giúp bạn master tiếng Anh
Presentation for the September 2011 Salt Lake City Cocoaheads group. Covers the basics of how iOS apps terminate, resume, and what you can do in the background.
Orangescrum Mobile API Add on User ManualOrangescrum
Orangescrum Mobile API add-on user manual will help you to install the Mobile API add-on & guide you about the features of Mobile API.
With the Mobile API Orangescrum open source (community) users can generate a code to use the iOS & Android Mobile APP .
For more information about the Mobile API & APP, please visit: http://www.orangescrum.org/add-on/mobileapi
Explore the Mobile API demo at: http://newui.orangescrum.org/
How to write better code: in-depth best practices for writing readable, simpl...Oursky
From data structure and object to architecture to refactoring. YouTube videos included. Summary of Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin
References:
Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin (http://www.amazon.com/Clean-Code-Handbook-
Software-Craftsmanship/dp/0132350882)
Design Patterns: ELements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
The Clean Code Talks - "Global State and Singletons"
https://www.youtube.com/watch?v=-FRm3VPhseI
How to write better code: in-depth best practices for writing readable, simpl...Jane Chung
From data structure and object to architecture to refactoring. YouTube videos included. Summary of Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin
References:
Clean Code: A Handbook of Agile Software Craftsmanship: by Robert C Martin (http://www.amazon.com/Clean-Code-Handbook-
Software-Craftsmanship/dp/0132350882)
Design Patterns: ELements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
The Clean Code Talks - "Global State and Singletons"
https://www.youtube.com/watch?v=-FRm3VPhseI
Troubleshooting Live Java Web Applicationsashleypuls
This talk examines methods and tools that can be used to uncover and resolve performance problems arising in Java web applications. It touches on a few common problems such as slow SQL and blocked threads. It uses various diagnostic tools to examine these problems including log files, jvisualvm, and New Relic. Finally, it evaluates the use of these tools in a production environment, separating them into what can and cannot be used in live production applications.
Time Log with Payment Add on User ManualOrangescrum
The Time Log with Payment add-on user manual will help you to install the Time Log with Payment add-on & guide you the features of Time Log with Payment add-on features.
With this add-on, you can easily plan, track, manage and pay for your extended teams' work.
To know more about the add-on, please visit: http://www.orangescrum.org/add-on/payment
Video and slides synchronized, mp3 and slide download available at http://bit.ly/19skk3A.
Saul Mora discusses using some of the patterns from the Design Pattern book today, and applying patterns in a multicore world.Filmed at qconnewyork.com.
Saul Mora is an active member of the Cocoa developer community and contributes by blogging, producing NSBrief (a developer podcast, http://nsbrief.com), contributing to open source projects, and helping to teach others about the wonders and methods of developing applications.
FUTURESTACK13: Mobile Apps, A DevOps Way from Jonathan Karon, Engineering Man...New Relic
What secrets can you glean from analyzing billions of network reqests and hundreds of millions of mobile app sessions? Do carriers, OEMs, and operating system bugs really affect performance? Come learn how developers at New Relic and elsewhere are taking advantage of these insights to make our apps faster and more fault tolerant.
But that's not all! Join us as we unveil the future of mobile software analytics: a world where you have direct insight into the behavior of your app on each and every mobile device around the globe. We'll talk about our vision for mobile and you'll be the first to see the latest innovations from New Relic's mobile team!
This session explains the different services and techniques to automate deployments on AWS, using tools such as AWS CloudFormation, OpsWorks, or PowerShell.
Who should attend:
Developers, DevOps Manager, Configuration Managers, Test Managers and Architects
Demos associated with this webinar:
• Creating a CloudFormation script that describes the target environment
• Deploying the build artifacts onto the target environment
View the webinar: http://youtu.be/5WwWylmZE7Y
FUTURESTACK13: What’s New and Upcoming with New Relic from Patrick Lightbody,...New Relic
Come learn about the new features we're launching at FutureStack, as well as what our roadmap looks like for the next year. We'll also share how we think about our products and the process is for deciding what to build next.
Collection of tips & tricks that makes the difference between a good app and a "wow-affect" app. Relevant to product managers and developers (including some code samples)
As presented in DroidCon Tel Aviv 2014 by:
Ran Nachmany, MobiliUp
http://il.droidcon.com
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Dù bạn là ai, dù mục đích học tiếng Anh của bạn đơn thuần chỉ là có tấm bằng trong tay để xin việc hay cao siêu hơn là có thể nói thông viết thạo thì việc nằm lòng các ngữ pháp tiếng Anh ẩn chứa sức mạnh ghê gớm dưới đây cũng là bước cơ bản giúp bạn master tiếng Anh
Scalability and optimization are constant
concerns for the developer and operations
manager. The Performance Zone focuses on
all things performance, covering everything
from database optimization to garbage
collection, tool and technique comparisons,
and tweaks to keep your code as effcient
as possible.
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
Các doanh nghiệp cần luôn có mặt trên online để khách hàng dễ dàng thấy họ mỗi khi tìm kiếm. "Mùa vụ" hay giai đoạn mà lượng
tìm kiếm về sản phẩm dịch vụ của doanh nghiệp trên Google bỗng gia tăng chính là thời điểm tuyệt vời để tận dụng.Các doanh nghiệp
có thể tối đa hoá doanh thu trong thời kì cao điểm này bằng cách lên chiến lược quảng cáo "luôn online" gắn liền với mục tiêu mùa.
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
Lập trình sáng tạo bao gồm việc sáng tạo. Khoa học máy tính và các ngành liên quan tới tính toán đã từ lâu đƣợc giới thiệu tới những ngƣời trẻ tuổi một cách rời rạc – quá nhấn mạnh kĩ thuật so với khả năng sáng tạo. Lập trình sáng tạo giúp cho sự phát triển của cá nhân đối với tính toán trở nên tốt hơn, bằng cách hỗ trợ vẽ vời dựa trên sáng tạo, tƣởng tƣợng, và sở thích.
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
Meta Tag là thẻ dùng để cung cấp các thông tin về website một cách tóm gọn đối với các trình duyệt lẫn người dùng hay bot từ các search engine. Mọi người hay nghe Meta Keyword, Meta Description, Meta Page title,..
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
Google Webmaster Tools • Google Analytics phân tích traffic • SEO Power Suite , web auditor đ onpage • Ahrefs, phân tích t khóa và Link • OpenSiteExplorer phân tích link profile • Firexfox Extensions: SEO Doctor cho onpage, NoDofollow • SEOMoz Toolbar đ check PA và DA •Free Monitor for Google đ check RANK •SEOMOZ pro check onpage
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
Cơ chế hoạt động Google Tên miền Cấu trúc website Meta Tag (Title, Description, H1-H6, ALT...) URL thân thiện, Sitemap, robots.txt Keyword Density Tốc độ tải trang
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Những chú ý đặc biệt khi hỗ trợ người dùng máy tính xách tay Cài đặt, cấu hình, tối ưu, sửa chữa các thiết bị ngoại vi hay dùng với máy tính xách tay Nâng cấp, thay thế các thiết bị máy tính xách tay Nguyên lý hoạt động của máy in Cài đặt máy in
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Tìm hiểu các quy trình xử lý đảm bảo an toàn Tìm hiểu phương pháp bảo trì phòng ngừa cho máy tính cá nhân Tìm hiểu cách phát hiện và xử lý sự cố máy tính
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhận biết được đặc điểm và thông số kỹ thuật của các CPU dùng cho máy tính cá nhân Thông hiểu cách lựa chọn CPU cho hệ thống Thông hiểu cách lắp mới và thay thế CPU Thông hiểu các phương pháp tản nhiệt cho CPU Thông hiểu các loại RAM khác nhau và nguyên lý hoạt động của chúng. Thông hiểu các vấn đề cần thiết khi nâng cấp RAM
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhắc lại các khái niệm cơ bản về phần cứng và phần mềm. Giới thiệu về các thành phần của máy tính. Nắm được vị trí sắp xếp của các thành phần bên trong case, các loại case khác nhau. Nắm được các thông số về nguồn điện được sử dụng để vận hành hệ thống máy tính. Ước lượng công suất của hệ thống và chọn bộ cấp nguồn và thiết bị lưu điện cho phù hợp. Nhận biết và xử lý một số vấn đề thường gặp liên quan đến nguồn điện
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
5. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
Tuesday, September 3, 13
6. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
Tuesday, September 3, 13
7. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
§ This API remains in iOS7, but you may not need to use it (more on this
later)
Tuesday, September 3, 13
8. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
§ This API remains in iOS7, but you may not need to use it (more on this
later)
§ If you do use it, the execution semantics have changed
Tuesday, September 3, 13
9. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
§ This API remains in iOS7, but you may not need to use it (more on this
later)
§ If you do use it, the execution semantics have changed
o
If user locked screen in iOS6, the background task would keep the phone awake
Tuesday, September 3, 13
10. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
§ This API remains in iOS7, but you may not need to use it (more on this
later)
§ If you do use it, the execution semantics have changed
o
o
If user locked screen in iOS6, the background task would keep the phone awake
iOS7 puts the app to sleep; the app will get a time-slice once the phone wakes up
Tuesday, September 3, 13
11. Background Tasks
§ Ever since iOS4, apps could request extra time to execute after being sent
to the background
o
15 minutes of execution time
§ This API remains in iOS7, but you may not need to use it (more on this
later)
§ If you do use it, the execution semantics have changed
o
o
o
If user locked screen in iOS6, the background task would keep the phone awake
iOS7 puts the app to sleep; the app will get a time-slice once the phone wakes up
Execution time not guaranteed to be contiguous
Tuesday, September 3, 13
13. New App Switcher
§ One of the major changes in the OS
Tuesday, September 3, 13
14. New App Switcher
§ One of the major changes in the OS
§ User can swipe up on app snapshot to kill the app
Tuesday, September 3, 13
15. New App Switcher
§ One of the major changes in the OS
§ User can swipe up on app snapshot to kill the app
o
Unlike in iOS6, this also kills background execution
Tuesday, September 3, 13
22. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
Tuesday, September 3, 13
23. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
o
But update happens after the user is already in the app, so the user sees a transition
Tuesday, September 3, 13
24. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
o
But update happens after the user is already in the app, so the user sees a transition
§ Background Fetch enables an app to update its data in the background
Tuesday, September 3, 13
25. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
o
But update happens after the user is already in the app, so the user sees a transition
§ Background Fetch enables an app to update its data in the background
o
If an app is in the background, it will be assigned a time-slice
Tuesday, September 3, 13
26. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
o
But update happens after the user is already in the app, so the user sees a transition
§ Background Fetch enables an app to update its data in the background
o
o
If an app is in the background, it will be assigned a time-slice
If an app isn’t running, it will be started in the background and then assigned a timeslice
Tuesday, September 3, 13
27. Background Fetch
§ When an app opens, typically it shows fresh data
§ When an app is brought to the foreground after being in the background,
generally the first thing most apps do is refresh their data
o
But update happens after the user is already in the app, so the user sees a transition
§ Background Fetch enables an app to update its data in the background
o
o
o
If an app is in the background, it will be assigned a time-slice
If an app isn’t running, it will be started in the background and then assigned a timeslice
When and how often the app is assigned a time-slice is controlled by the OS
Tuesday, September 3, 13
29. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
Tuesday, September 3, 13
30. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
Tuesday, September 3, 13
31. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
Tuesday, September 3, 13
32. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
No repeating interval
Tuesday, September 3, 13
33. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
Tuesday, September 3, 13
34. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
Tuesday, September 3, 13
35. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
performFetchWithCompletionHandler
Tuesday, September 3, 13
36. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
o
performFetchWithCompletionHandler
Do your work: call the completion handler when you are done
Tuesday, September 3, 13
37. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
o
o
performFetchWithCompletionHandler
Do your work: call the completion handler when you are done
After the completion handler is called, if you have new data, it will create a new
snapshot of your app
Tuesday, September 3, 13
38. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
o
o
performFetchWithCompletionHandler
Do your work: call the completion handler when you are done
After the completion handler is called, if you have new data, it will create a new
snapshot of your app
§ Update UI for App Switcher
Tuesday, September 3, 13
39. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
o
o
performFetchWithCompletionHandler
Do your work: call the completion handler when you are done
After the completion handler is called, if you have new data, it will create a new
snapshot of your app
§ Update UI for App Switcher
§ You can test this via debug properties
Tuesday, September 3, 13
40. Background Fetch API
§ Set the UIBackgroundModes value in the Info.plist to “fetch”
o
This can also be set this via the new Capabilities page in Xcode
§ Set the background fetch interval range on your Application object
o
o
No repeating interval
Time-slice assignment is managed by the OS, the range is set by the developer
§ New delegate callback
o
o
o
performFetchWithCompletionHandler
Do your work: call the completion handler when you are done
After the completion handler is called, if you have new data, it will create a new
snapshot of your app
§ Update UI for App Switcher
§ You can test this via debug properties
o
Also on Debug menu
Tuesday, September 3, 13
42. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
Tuesday, September 3, 13
43. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
Tuesday, September 3, 13
44. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
User is notified via alert or popup
Tuesday, September 3, 13
45. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Tuesday, September 3, 13
46. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
Tuesday, September 3, 13
47. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
Tuesday, September 3, 13
48. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
o
content-available : 1
Tuesday, September 3, 13
49. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
o
o
content-available : 1
When set, the app gets executed before the user gets the notification
Tuesday, September 3, 13
50. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
o
o
o
content-available : 1
When set, the app gets executed before the user gets the notification
Hopefully you can get that new data before the user clicks the alert to bring the app
to the foreground
Tuesday, September 3, 13
51. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
o
o
o
content-available : 1
When set, the app gets executed before the user gets the notification
Hopefully you can get that new data before the user clicks the alert to bring the app
to the foreground
§ Send content-available:1 without an alert in the payload of the
notification
Tuesday, September 3, 13
52. Remote Notifications
§ Since iOS4, notifications could be sent through Apple’s Push Notification
Service (APNS)
§ Often sent to notify user of new data
o
o
o
User is notified via alert or popup
If the user clicked on UI, the app was either brought to foreground or started
Race condition: what if app can’t show new data yet because new data can’t even
start to be retrieved until app is in the foreground
§ iOS7 enables you to send a notification with a new flag
o
o
o
content-available : 1
When set, the app gets executed before the user gets the notification
Hopefully you can get that new data before the user clicks the alert to bring the app
to the foreground
§ Send content-available:1 without an alert in the payload of the
notification
o
This becomes a silent notification and is delivered to the app in the background
Tuesday, September 3, 13
54. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
Tuesday, September 3, 13
55. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
o
Or use new Capabilities UI in Xcode
Tuesday, September 3, 13
56. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
o
Or use new Capabilities UI in Xcode
§ Make sure to set content-available: 1 in the payload
Tuesday, September 3, 13
57. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
o
Or use new Capabilities UI in Xcode
§ Make sure to set content-available: 1 in the payload
§ The application:didReceiveRemoteNotification:fetchCompletionHandler
is called with a non-null completion handler
Tuesday, September 3, 13
58. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
o
Or use new Capabilities UI in Xcode
§ Make sure to set content-available: 1 in the payload
§ The application:didReceiveRemoteNotification:fetchCompletionHandler
is called with a non-null completion handler
o
Call the completion handler when you are done
Tuesday, September 3, 13
59. Remote Notifications API
§ Set UIBackgroundModes to remote-notification in Info.plist
o
Or use new Capabilities UI in Xcode
§ Make sure to set content-available: 1 in the payload
§ The application:didReceiveRemoteNotification:fetchCompletionHandler
is called with a non-null completion handler
o
o
Call the completion handler when you are done
Silent notifications will be rate-limited. APNS does the work to make sure that device
isn’t overloaded – delayed but not rejected
Tuesday, September 3, 13
61. Networking in the Background
§ Before iOS7, you might want to download or upload a resource after the
your app has gone to the background
Tuesday, September 3, 13
62. Networking in the Background
§ Before iOS7, you might want to download or upload a resource after the
your app has gone to the background
§ Background Task API would give you a set time-slice
Tuesday, September 3, 13
63. Networking in the Background
§ Before iOS7, you might want to download or upload a resource after the
your app has gone to the background
§ Background Task API would give you a set time-slice
o
What if your operation took longer than the time allowed (i.e. a large resource like a
video or image)?
Tuesday, September 3, 13
66. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
Tuesday, September 3, 13
67. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
Tuesday, September 3, 13
68. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
Works even if your app is in the background or even if it is terminated
Tuesday, September 3, 13
69. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
Tuesday, September 3, 13
70. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
§ BTS manages battery life and data
Tuesday, September 3, 13
71. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
§ BTS manages battery life and data
o
Requests are classified as discretionary or non-discretionary
Tuesday, September 3, 13
72. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
§ BTS manages battery life and data
o
o
Requests are classified as discretionary or non-discretionary
Discretionary requests will only happen when on WI-FI
Tuesday, September 3, 13
73. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
§ BTS manages battery life and data
o
o
o
Requests are classified as discretionary or non-discretionary
Discretionary requests will only happen when on WI-FI
Requests from the background are automatically discretionary
Tuesday, September 3, 13
74. Background Transfer Service (BTS)
§ iOS7 introduces the BTS
§ You can offload network work to the BTS
§ BTS will ensure that the work gets completed
o
o
Works even if your app is in the background or even if it is terminated
If your app wakes up due to background fetch or notification, this is a great API to pair
with it
§ BTS manages battery life and data
o
o
o
o
Requests are classified as discretionary or non-discretionary
Discretionary requests will only happen when on WI-FI
Requests from the background are automatically discretionary
Requests from the foreground can request to be discretionary
Tuesday, September 3, 13
77. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
Tuesday, September 3, 13
78. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
o
API is similar to NSURLConnection
Tuesday, September 3, 13
79. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
o
API is similar to NSURLConnection
§ Adds more functionality than NSURLConnection
Tuesday, September 3, 13
80. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
o
API is similar to NSURLConnection
§ Adds more functionality than NSURLConnection
o
Instance storage of credentials, cookies, and other state (vs. NSURLConnection’s global
shared state).
Tuesday, September 3, 13
81. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
o
API is similar to NSURLConnection
§ Adds more functionality than NSURLConnection
o
Instance storage of credentials, cookies, and other state (vs. NSURLConnection’s global
shared state).
§ If your app goes to the background or even is terminated after you make
a NSURLSession request, BTS service will still complete the request
Tuesday, September 3, 13
82. NSURLSession
§ New object in iOS7
§ Subsumes the functionality of NSURLConnection
o
API is similar to NSURLConnection
§ Adds more functionality than NSURLConnection
o
Instance storage of credentials, cookies, and other state (vs. NSURLConnection’s global
shared state).
§ If your app goes to the background or even is terminated after you make
a NSURLSession request, BTS service will still complete the request
o
Your app is started or woken up when request is finished and you have a chance to
process
Tuesday, September 3, 13
84. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
Tuesday, September 3, 13
85. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Tuesday, September 3, 13
86. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
Tuesday, September 3, 13
87. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
Tuesday, September 3, 13
88. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
NSURLSessionDelegate for high-level events
Tuesday, September 3, 13
89. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
Tuesday, September 3, 13
90. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
Tuesday, September 3, 13
91. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
o
[resume] method to start task
Tuesday, September 3, 13
92. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
o
o
[resume] method to start task
[cancel],[suspend],[resume] control methods
Tuesday, September 3, 13
93. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
o
o
o
[resume] method to start task
[cancel],[suspend],[resume] control methods
Multiple sub-classes for different functions
Tuesday, September 3, 13
94. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
o
o
o
[resume] method to start task
[cancel],[suspend],[resume] control methods
Multiple sub-classes for different functions
§ NSURLSession also has block-based convenience methods as well
Tuesday, September 3, 13
95. NSURLSession API
§ To create an NSURLSession, you need an NSURLSessionConfiguration
object
o
o
Configuration object determines foreground/background execution, whether the
request will use only wi-fi, etc.
Background configuration gets an identifier (string) to use later to retrieve from BTS
§ Implement to appropriate protocols
o
o
NSURLSessionDelegate for high-level events
NSURLSessionTaskDelegate for data-level events
§ NSURLSessionTask really replaces NSURLConnection
o
o
o
[resume] method to start task
[cancel],[suspend],[resume] control methods
Multiple sub-classes for different functions
§ NSURLSession also has block-based convenience methods as well
o
Still need to call [resume] on task to kick off connection
Tuesday, September 3, 13
98. Background Considerations
§ Limited time
o
You still only get a limited time to execute in the background (less than 1 minute)
Tuesday, September 3, 13
99. Background Considerations
§ Limited time
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Tuesday, September 3, 13
100. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
Tuesday, September 3, 13
101. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
§ User control
Tuesday, September 3, 13
102. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
§ User control
o
User can turn off or limit background fetch
Tuesday, September 3, 13
103. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
§ User control
o
User can turn off or limit background fetch
§ Data Protection
Tuesday, September 3, 13
104. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
§ User control
o
User can turn off or limit background fetch
§ Data Protection
o
If you use the recommended levels of data protection, you won’t be able to access
files, keychain, or sqlite DBs when running in the background
Tuesday, September 3, 13
105. Background Considerations
§ Limited time
o
o
o
You still only get a limited time to execute in the background (less than 1 minute)
Make sure to call the completion handlers ALWAYS in less than 1 minute
Use BTS to enhance the work you can do when called in the background
§ User control
o
User can turn off or limit background fetch
§ Data Protection
o
o
If you use the recommended levels of data protection, you won’t be able to access
files, keychain, or sqlite DBs when running in the background
If you need credentials in the background, to lower risk, consider a token that expires
in a short amount of time
Tuesday, September 3, 13
107. Summary
§ The new background execution features help your app seem to the user
to be running all the time
Tuesday, September 3, 13
108. Summary
§ The new background execution features help your app seem to the user
to be running all the time
§ The new NSURLSession and BTS make foreground networking code
simpler and background networking code possible
Tuesday, September 3, 13