Ios and Macos™ Performance Tuning This Page Intentionally Left Blank Ios and Macos™ Performance Tuning
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Cocoa Touch & Iphone
Music Appreciation 243: Introduction to Rick Astley Evan Doll [email protected] Alan Cannistraro [email protected] Thursday, April 2, 2009 Thursday, April 2, 2009 Welcome to CS193P: iPhone Application Development Evan Doll [email protected] Alan Cannistraro [email protected] Thursday, April 2, 2009 Staff • Lecturers ■ Evan Doll [email protected] ■ Alan Cannistraro [email protected] • Student TAs ■ Troy Brant [email protected] ■ Paul Salzman [email protected] • “Professor Emeritus” ■ Paul Marcos [email protected] Thursday, April 2, 2009 How many of you... • Are familiar with object-oriented programming? • Have developed software with Mac OS X? • Have developed apps for the iPhone? Thursday, April 2, 2009 Lectures, Sections, Office Hours • Lectures ■ 320-105, Monday & Wednesday 3:15 – 4:30 PM • Optional Section ■ 200-205, Friday 3:15 – 4:05 PM as announced ■ Guest speakers, additional topics ■ First one will be next Friday 4/10 • Office Hours ■ Troy and Paul will be holding office hours ■ Time & location TBD, check website for details Thursday, April 2, 2009 Requirements • Prerequisite: CS 106B/X • Recommended Book: None, we’ll use Apple documentation • You must have access to an Intel-based Macintosh ■ Running Mac OS X 10.5 Leopard ■ iPhone SDK (Not available on cluster computers!) • Owning an iPhone or iPod Touch is not required ■ Assignments may be done with the iPhone Simulator ■ Loaner iPod Touches should be available, more details to come Thursday, April 2, 2009 Enrollment • Response has been phenomenal again -
App Frameworks #WWDC16
App Frameworks #WWDC16 Improving Existing Apps Using modern best practices Session 213 Woody L., � to the Knowledge © 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Agenda Reduce Technical Debt Asset Catalogs Dependency Injection Live Playgrounds Cycle of Development You down with ‘Dub-DC? Yeah, you know me. Lots of Requests Your boss More Requests Your customers Technical Debt //TODO: Write and clean up Customer’s Perspective Actuality Duarte requesting hi-res photo AppStore New API zsh AppKit CF AirPortUtility PreferencesApp iCal Foundation AVFoundation AirPortAssistant AirPortSettings AirPortAssistant OpenCL GameKit Dock Mail MapKit MobileMusicPlayer xnu AppKit AppStore MobileSafari zsh QuickTime udf WebKit BlueToothSettings cups Messages Dock ActivityMonitor MobileSafari bash Mail AccessibilitySettings GameKit GameKitServices MediaPlayerUI MediaPlayer MediaStream MobileMail Swift 3 Source code compatibility New and Updated Platforms A Dev’s Run Loop Bug Fixes Technical Debt New and Platforms ♽Updated APIs Customer Roadmap A Dev’s Run Loop Bug Fixes Technical Debt New and Platforms ♽Updated APIs Customer Roadmap A Dev’s Run Loop Bug Fixes Technical Debt New and Platforms ♽Updated APIs Customer Roadmap The Essentials A very good place to start Earlier iOS 8 5% 11% Minimum Deployment of iOS 8 • 95% of Devices iOS 9 84% As measured by the App Store on May 9, 2016 Pick a Deployment Target Latest update of previous release Deprecated API Deprecated API Treat Warnings -
Iphone Ios 5 Development Essentials
iPhone iOS 5 Development Essentials i iPhone iOS 5 Development Essentials – First Edition ISBN-13: 978-1466337275 © 2011 Neil Smyth. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 2.3p ii Table of Contents Preface ............................................................................................................................................................... xix 1. About iPhone iOS 5 App Development Essentials .............................................................................................. 1 1.1 Example Source Code ................................................................................................................................... 2 1.2 Feedback ...................................................................................................................................................... 2 2. The Anatomy of an iPhone 4S ........................................................................................................................... -
Développement Mobile Apple Ios, Ipados, Iphone, Ipad Avec Swift
Développement mobile Apple iOS, iPadOS, iPhone, iPad avec Swift En bref Acquérir les meilleures bases pour concevoir et développer des applications pour la plateforme iOS (iPad, iPhone) de manière autonome avec l’IDE Xcode 11.x et le langage Swift 5.x en conformité avec les « best practices » d’Apple. Au terme de cette formation, les participants seront en mesure de développer une application complète avec la plupart des contrôles disponibles dans l’environnement iPhone, iPad et d’être autonomes pour la réalisation de projet de plus grande envergure. Ces derniers seront également en mesure d’implémenter les meilleurs choix et les « meilleures pratiques » en matière de structures de données pour leurs applications et garantir une conformité aux standards de développement d’Apple tant d’un point de vue ergonomique que fonctionnel. Le cours traitera, au fil de l’eau, également des considérations d’ordre marketing et UX, avec des incidences et des « Use Case » du monde professionnel. Objectifs globaux • maîtriser le cycle de développement d’une application iOS • connaître et appliquer les « meilleures pratiques » et « l’art de faire » en matière d’ingénierie logicielle pour la plate-forme iOS ainsi que iPadOS (généralités) • maîtriser les bases du langage Swift version 5.x • être en mesure de développer une application complète iOS avec l’environnement de développement intégré Apple Xcode version 11.x • maîtriser la recherche d’informations, de solutions et résolutions de problèmes afin d’obtenir un degré d’autonomie optimal • être en mesure -
App Frameworks #WWDC16
App Frameworks #WWDC16 What’s New in Cocoa Touch Session 205 Olivier Gutknecht Senior Engineering Manager, UIKit © 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. What’s New in Cocoa Touch What’s New in Cocoa Touch What’s Not New in Cocoa Touch Since Last Year Since Last Year 3D Touch Since Last Year 3D Touch iPad Pro Since Last Year 3D Touch iPad Pro Apple Pencil Since Last Year 3D Touch iPad Pro Apple Pencil Smart Keyboard Adaptivity Adaptivity UIUserInterfaceSizeClass.compact Adaptivity UIUserInterfaceSizeClass.regular Adaptivity UIUserInterfaceSizeClass.gigantic Adaptivity UIUserInterfaceSizeClass.gigantic Adaptivity UIUserInterfaceSizeClass.gigantic Adaptivity UIUserInterfaceSizeClass.gigantic Making Apps Adaptive The fundamentals Traits Size Classes Size-based layouts Aa Making Apps Adaptive Interface Builder Making Apps Adaptive Tools and Techniques Auto Layout Dynamic Type Layout Guides UIAppearance Asset Catalogs Making Apps Adaptive Aa PART 1 PART 2 Making Apps Adaptive, Part I Presidio Thursday 11:00AM Making Apps Adaptive, Part II Presidio Friday 9:00AM Inclusive App Design Pacific Heights Tuesday 10:00AM Advanced Touch Input Advanced Touch Input 120 Hz touch scanning on iPad Air 2 and iPad Pro Advanced Touch Input 120 Hz touch scanning on iPad Air 2 and iPad Pro Orientation, Precise Location, Force, and 240 Hz scanning with Apple Pencil Advanced Touch Input 120 Hz touch scanning on iPad Air 2 and iPad Pro Orientation, Precise Location, Force, and 240 -
Protecting the Stack with Metadata Policies and Tagged Hardware
2018 IEEE Symposium on Security and Privacy Protecting the Stack with Metadata Policies and Tagged Hardware Nick Roessler Andre´ DeHon University of Pennsylvania University of Pennsylvania [email protected] [email protected] Abstract—The program call stack is a major source of ex- stack data, or hijack the exposed function call mechanism in ploitable security vulnerabilities in low-level, unsafe languages a host of other malicious ways. like C. In conventional runtime implementations, the underlying Consequently, protecting the stack abstraction is critical stack data is exposed and unprotected, allowing programming errors to turn into security violations. In this work, we design for application security. Currently deployed defenses such as W X and stack canaries [2] make attacks more difficult to novel metadata-tag based, stack-protection security policies for ⊕ a general-purpose tagged architecture. Our policies specifically conduct, but do not protect against more sophisticated attack exploit the natural locality of dynamic program call graphs to techniques. Full memory safety can be retrofitted onto existing achieve cacheability of the metadata rules that they require. C/C++ code through added software checks, but at a high cost Our simple Return Address Protection policy has a performance overhead of 1.2% but just protects return addresses. The two of 100% or more in runtime overhead [3]. These expensive richer policies we present, Static Authorities and Depth Isola- solutions are unused in practice due to their unacceptably high tion, provide object-level protection for all stack objects. When overheads [4]. enforcing memory safety, our Static Authorities policy has a There is a long history of accelerating security policies with performance overhead of 5.7% and our Depth Isolation policy hardware to bring their overheads to more bearable levels has a performance overhead of 4.5%. -
Learning Watchkit Programming Addison-Wesley Learning Series
Learning WatchKit Programming Addison-Wesley Learning Series Visit informit.com/learningseries for a complete list of available publications. The Addison-Wesley Learning Series is a collection of hands-on program- ming guides that help you quickly learn a new technology or language so you can apply what you’ve learned right away. Each title comes with sample code for the application or applications built in the text. This code is fully annotated and can be reused in your own projects with no strings attached. Many chapters end with a series of exercises to encourage you to reexamine what you have just learned, and to tweak or adjust the code as a way of learning. Titles in this series take a simple approach: they get you going right away and leave you with the ability to walk off and build your own application and apply the language or technology to whatever you are working on. Learning WatchKit Programming A Hands-On Guide to Creating Apple Watch Applications Wei-Meng Lee New York • Boston • Indianapolis • San Francisco Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are Editor-in-Chief claimed as trademarks. Where those designations appear in this book, and the publisher was Mark L. Taub aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. Senior Acquisitions Editor The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. -
In-Fat Pointer: Hardware-Assisted Tagged-Pointer Spatial Memory Safety Defense with Subobject Granularity Protection
In-Fat Pointer: Hardware-Assisted Tagged-Pointer Spatial Memory Safety Defense with Subobject Granularity Protection Shengjie Xu Wei Huang David Lie [email protected] [email protected] [email protected] University of Toronto University of Toronto University of Toronto Canada Canada Canada ABSTRACT 1 INTRODUCTION Programming languages like C and C++ are not memory-safe be- Memory corruption vulnerabilities in programs written in non- cause they provide programmers with low-level pointer manipu- memory-safe programming languages like C and C++ have been lation primitives. The incorrect use of these primitives can result a research focus for more than a decade [40]. When a pointer is in bugs and security vulnerabilities: for example, spatial memory dereferenced, errors, causing memory-safety violations, can result safety errors can be caused by dereferencing pointers outside the in the unintended disclosure or corruption of memory. Such errors legitimate address range belonging to the corresponding object. are a powerful primitive for attackers to mount further attacks, While a range of schemes to provide protection against these vul- such as code reuse attacks [34] and data-only attacks [18]. Memory- nerabilities have been proposed, they all suffer from the lack of one safety violations usually result from spatial memory errors, where or more of low performance overhead, compatibility with legacy incorrect pointer arithmetic causes an address to point outside the code, or comprehensive protection for all objects and subobjects. intended memory range when it is dereferenced. We present In-Fat Pointer, the first hardware-assisted defense To detect all spatial memory errors, the value of the pointer that can achieve spatial memory safety at subobject granularity must be checked against pointer bounds, which are metadata that while maintaining compatibility with legacy code and low over- describes the memory range over which the pointer may safely head. -
Cocoa Touch Framework
Mobile OSs, Development Environments, iOS and Android Lesson 04 Apple iOS © Oxford University Press 2018. All rights reserved. 1 iPhone 6 • Multimedia and Internet-enabled mobile phone • Apple iPhone 6 uses A8 processor, a power-efficient processor for the mobiles • Three versions with 16 GB, 64 GB, and 128 GB flash memory • © Oxford University Press 2018. All rights reserved. 2 Devices and Sensors Support • Global positioning system (GPS), Accelerometer, Magnetometer, Picture camera, Camera controls with digital zoom, a scene mode, white balance controls, macro focus, and colour effects. • Video camera in camcorder mode supports video recording and playing. • . © Oxford University Press 2018. All rights reserved. 3 ApplE iPhone • FaceTime app for videoconferencing • Support to iCloud and iCloud Drive, Health and Home Kits © Oxford University Press 2018. All rights reserved. 4 Apple iPhone 6 • Uses Mac OS 8-based iOS 6, 7, and 8 • iOS 8 requires more than 500 MB and more than 5 GB for the apps • Actual memory requirement depends on the OS version • Mac OS very fast responding UIs, direct manipulation using multi-touch gestures. © Oxford University Press 2018. All rights reserved. 5 Apple iPhones • Mac OS X • Four abstract layers • First layer for basic services • Second for core services • Third the media layer • Fourth the touch layer called Cocoa Touch layer © Oxford University Press 2018. All rights reserved. 6 Cocoa Touch Framework • Include libraries, APIs, and run-times • Framework gives an abstraction layer to the iOS © Oxford University Press 2018. All rights reserved. 7 Four Layer iOS Architecture © Oxford University Press 2018. All rights reserved. 8 model-view-controller (MVC) architecture • Framework model-view-controller (MVC) architecture • The core services layer is above the iOS kernel/Core OS. -
Apple Ios 13 on Iphone and Apple Ipados 13 on Ipad Mobile Devices
Apple Inc. Apple iOS 13 on iPhone and Apple iPadOS 13 on iPad Mobile Devices Security Target PP_MD_V3.1 with MOD_MDM_AGENT_V1.0, MOD_VPN_CLI_V2.1, PP_WLAN_CLI_EP_V1.0 Version 1.7 2020-11-10 VID: 11036 Prepared for: Prepared by: Apple Inc. atsec information security Corp. One Apple Park Way 9130 Jollyville Road, Suite 260 MS 927-1CPS Austin, TX 78759 Cupertino, CA 95014 www.atsec.com www.apple.com © 2020 Apple Inc. This document may be reproduced and distributed only in its original entirety without revision VID: 11036 Table of Contents Revision History ........................................................................................................................... 8 1 Security Target Introduction .............................................................................................. 10 1.1 Security Target Reference ........................................................................................... 10 1.2 TOE Reference ............................................................................................................. 10 1.3 TOE Overview ............................................................................................................... 10 1.4 TOE Description ............................................................................................................ 11 1.4.1 General information .......................................................................................... 11 1.4.2 Obtaining the mobile devices ......................................................................... -
Iphone Ios 6 Development Essentials
i iPhone iOS 6 Development Essentials ii iPhone iOS 6 Development Essentials – First Edition ISBN-13: 978-1479211418 © 2012 Neil Smyth. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 1.0 iii Table of Contents 1. Start Here .......................................................................................................................................................... 1 1.1 For New iOS Developers ...................................................................................................................................... 1 1.2 For iOS 5 Developers ........................................................................................................................................... 1 1.3 Source Code Download ....................................................................................................................................... 2 1.4 Feedback ............................................................................................................................................................ -
Fast and Generic Metadata Management with Mid-Fat Pointers
Fast and Generic Metadata Management with Mid-Fat Pointers ∗ ∗ Taddeus Kroes Koen Koning [email protected] [email protected] Cristiano Giuffrida Herbert Bos Erik van der Kouwe [email protected] [email protected] [email protected] Vrije Universiteit Amsterdam ABSTRACT there is an increasing need for generic and composable de- Object metadata management schemes are a fundamental fense frameworks, which can combine multiple defenses but building block in many modern defenses and significantly disable others to tune the performance-security trade-off affect the overall run-time overhead of a software harden- according to the deployment requirements [23]. Second, we ing solution. To support fast metadata lookup, many meta- need fast pointer-to-object metadata lookup schemes to em- data management schemes embed metadata tags directly in- power such frameworks [12]. A promising strategy to design side pointers. However, existing schemes using such tagged such schemes efficiently is to embed tags inside pointers. pointers either provide poor compatibility or restrict the Two tagged pointer schemes dominate the literature. Fat generality of the solution. pointers change the size and representation of pointers to In this paper, we propose mid-fat pointers to implement support arbitrary metadata tags [4, 14, 19]. This solution fast and generic metadata management while retaining most can support generic defenses with no restrictions, but it is of the compatibility benefits of existing schemes. The key plagued by compatibility problems since pointers radically idea is to use spare bits in a regular 64-bit pointer to encode change their format [6,7]. Low-fat pointers carefully place arbitrary metadata and piggyback on software fault isola- objects in the memory address space to implement the other tion (SFI) already employed by many modern defenses to extreme: no changes in pointer size and representation, and efficiently decode regular pointers at memory access time.