The document provides information about tools and techniques for creating iPhone apps. It discusses Interface Builder, Xcode, and the iOS simulator as tools for app development. It also covers Objective-C programming basics like classes, objects, and the MVC design pattern. Additionally, it summarizes how to access device sensors like the accelerometer and location services to add interactivity to apps. Audio programming on iOS is also briefly mentioned.
This document provides an overview of iPhone development. It discusses setting up the development environment which involves getting a Mac, the iOS SDK, installing Xcode, and getting an Apple Developer account. It also covers Objective-C as the main programming language, and key iOS frameworks like UIKit, Core Graphics, Foundation. It introduces concepts like the MVC pattern, views, view controllers. It demonstrates Objective-C syntax and shows how to create interfaces and implementations in header and implementation files. Resources for learning more about iPhone development are also provided.
Jazoon 2010 - Building DSLs with EclipsePeter Friese
The document discusses building domain-specific languages (DSLs) with Eclipse. It introduces DSLs and their benefits, including raising the level of abstraction and focusing on solving specific problems. It then presents Xtext, an Eclipse framework for defining grammars and generating languages, parsers, and editors. Xtext allows defining a DSL using a grammar, which is then used to generate a meta-model, parser, and base editor infrastructure for the language.
This document provides an overview of developing mobile applications for iOS. It discusses creating classes and objects in Objective-C, including .h and .m files, alloc and init methods, and NSLogging. It also covers the model-view-controller framework, creating user interfaces with nibs/xibs and storyboards, and the layered iOS architecture including the Cocoa Touch, Media, and Core Services layers. The document is presented by Amr Elghadban and includes information about his background and contact details.
360iDev Presentation this year:
As a contract iOS programmer, I spend about 80% of my time working with other people's iOS code - either working as a part of existing teams or taking over incomplete projects from developers who are no longer around. Along the way, I've gathered a list of the common mistakes I've seen people make, the open-source libraries I've seen people misuse the most, and the really simple code changes that can make huge differences in the reliability and performance of your apps. For each mistake or anti-pattern, I'll have an explanation of the issue with it, and at least one potential remedy or remediation that could be taken.
This talk will have a lot of specific code examples on a number of different topics and technologies, so hopefully everyone will learn something. And hopefully at least something will save you some time.
Note that this will be a very opinionated talk, and I'm quite likely to step on someone's pet pattern, so there may be fireworks.
The document provides an overview of JavaScript objects, functions, and data types. It discusses that JavaScript objects can contain properties and almost everything in JavaScript is an object. Functions are blocks of reusable code that perform tasks when invoked. JavaScript supports primitive data types like strings, numbers, Booleans as well as complex types like objects, arrays. It provides examples and explanations of how to work with each of these concepts in JavaScript.
The document is an agenda for a presentation on JavaScript that covers introduction to JavaScript, working with objects, working with functions, details of the object model including public, private, privileged and static members as well as inheritance, and practical closures. It provides explanations and examples of key JavaScript concepts like dynamic and loosely typed features, prototype-based programming, language features such as first-class functions and closures, creating and working with objects and properties, creating functions and using them as objects, and anonymous functions.
Building High Perf Web Apps - IE8 FirestarterMithun T. Dhar
This document provides suggestions for optimizing web application and site performance. It discusses minimizing CSS and JavaScript file sizes, simplifying selectors, avoiding expensive operations like DOM lookups and expression evaluation, leveraging browser caching, image optimization techniques like sprites, and reducing blocking of page loads by scripts. The key recommendations are to simplify code, optimize only when needed, and consider maintainability.
In JavaScript, almost "everything" is an object.
-Booleans can be objects (if defined with the new keyword)
-Numbers can be objects (if defined with the new keyword)
-Strings can be objects (if defined with the new keyword)
-Dates are always objects
-Maths are always objects
-Regular expressions are always objects
-Arrays are always objects
-Functions are always objects
-Objects are always objects
This document provides an overview of iPhone development. It discusses setting up the development environment which involves getting a Mac, the iOS SDK, installing Xcode, and getting an Apple Developer account. It also covers Objective-C as the main programming language, and key iOS frameworks like UIKit, Core Graphics, Foundation. It introduces concepts like the MVC pattern, views, view controllers. It demonstrates Objective-C syntax and shows how to create interfaces and implementations in header and implementation files. Resources for learning more about iPhone development are also provided.
Jazoon 2010 - Building DSLs with EclipsePeter Friese
The document discusses building domain-specific languages (DSLs) with Eclipse. It introduces DSLs and their benefits, including raising the level of abstraction and focusing on solving specific problems. It then presents Xtext, an Eclipse framework for defining grammars and generating languages, parsers, and editors. Xtext allows defining a DSL using a grammar, which is then used to generate a meta-model, parser, and base editor infrastructure for the language.
This document provides an overview of developing mobile applications for iOS. It discusses creating classes and objects in Objective-C, including .h and .m files, alloc and init methods, and NSLogging. It also covers the model-view-controller framework, creating user interfaces with nibs/xibs and storyboards, and the layered iOS architecture including the Cocoa Touch, Media, and Core Services layers. The document is presented by Amr Elghadban and includes information about his background and contact details.
360iDev Presentation this year:
As a contract iOS programmer, I spend about 80% of my time working with other people's iOS code - either working as a part of existing teams or taking over incomplete projects from developers who are no longer around. Along the way, I've gathered a list of the common mistakes I've seen people make, the open-source libraries I've seen people misuse the most, and the really simple code changes that can make huge differences in the reliability and performance of your apps. For each mistake or anti-pattern, I'll have an explanation of the issue with it, and at least one potential remedy or remediation that could be taken.
This talk will have a lot of specific code examples on a number of different topics and technologies, so hopefully everyone will learn something. And hopefully at least something will save you some time.
Note that this will be a very opinionated talk, and I'm quite likely to step on someone's pet pattern, so there may be fireworks.
The document provides an overview of JavaScript objects, functions, and data types. It discusses that JavaScript objects can contain properties and almost everything in JavaScript is an object. Functions are blocks of reusable code that perform tasks when invoked. JavaScript supports primitive data types like strings, numbers, Booleans as well as complex types like objects, arrays. It provides examples and explanations of how to work with each of these concepts in JavaScript.
The document is an agenda for a presentation on JavaScript that covers introduction to JavaScript, working with objects, working with functions, details of the object model including public, private, privileged and static members as well as inheritance, and practical closures. It provides explanations and examples of key JavaScript concepts like dynamic and loosely typed features, prototype-based programming, language features such as first-class functions and closures, creating and working with objects and properties, creating functions and using them as objects, and anonymous functions.
Building High Perf Web Apps - IE8 FirestarterMithun T. Dhar
This document provides suggestions for optimizing web application and site performance. It discusses minimizing CSS and JavaScript file sizes, simplifying selectors, avoiding expensive operations like DOM lookups and expression evaluation, leveraging browser caching, image optimization techniques like sprites, and reducing blocking of page loads by scripts. The key recommendations are to simplify code, optimize only when needed, and consider maintainability.
In JavaScript, almost "everything" is an object.
-Booleans can be objects (if defined with the new keyword)
-Numbers can be objects (if defined with the new keyword)
-Strings can be objects (if defined with the new keyword)
-Dates are always objects
-Maths are always objects
-Regular expressions are always objects
-Arrays are always objects
-Functions are always objects
-Objects are always objects
The iOS Human Interface Guidelines document provides guidance on designing high-quality iOS apps. It discusses platform characteristics of iOS such as displays of varying sizes, orientation changes, gesture-based interaction, and multitasking. It emphasizes embracing these characteristics and following human interface principles to provide a great user experience. The document also offers guidelines for many technical and design aspects of apps, including UI elements, technologies, artwork, and transitions between platforms and devices.
This document provides instructions for creating a basic iOS app called "HelloWorld" in Xcode. It describes how to create a new project using the Single View Application template, run the app in the iOS simulator, and examine the main.m file where the app launches. The finished app will display "Hello, Your Name!" when the user enters their name and taps a button. The tutorial covers using Xcode tools, implementing basic interactivity, and fundamental iOS app development techniques.
This document provides an overview of object-oriented programming concepts in Objective-C, including:
1) It introduces object-oriented programming and some key concepts like data combined with operations, interfaces, implementations, classes, inheritance, polymorphism, and dynamism.
2) It describes the Objective-C object model including classes, inheritance hierarchies, subclass definitions, and how objects can send messages to each other.
3) It discusses how to structure Objective-C programs using concepts like outlets, intrinsic and extrinsic connections between objects, frameworks, aggregation, and decomposition.
This document provides instructions for configuring development assets and tools needed to develop iOS apps. It covers how to become part of a development team, set up development devices, configure provisioning profiles and certificates, and safeguard signing assets. It also discusses running sample code, building and running apps on devices and simulator, testing apps, and distributing apps to testers and the App Store.
iPhone is a combination of internet and multimedia enabled smart phone developed by Apple Inc. It functions as a camera phone, including text messaging, and visual voice mail. iPhone is a portable media player that resembles a video iPod and has a user interface built around the multi-touch screen including a virtual keyboard. The App Store launched in 2008 and now has over 100,000 applications covering games, references, GPS navigation, advertising, television shows, films and more.
This document provides an overview of the workflow for developing a Mac app and distributing it to the Mac App Store or outside the App Store. It covers managing a development team, enabling technologies like iCloud and push notifications, configuring and code signing the app, creating provisioning profiles, and submitting the app to the Mac App Store. The document is intended for both individual developers and development teams working through the necessary steps for app development and distribution.
The document contains a list of color names and their corresponding hexadecimal color codes. There are over 100 colors listed ranging from common colors like white, black, red, and green to more obscure colors like bisque, thistle, and cadet blue. Each color has its name and the 6-digit hexadecimal code that represents the red, green, and blue values for that color.
This document provides instructions for submitting an iOS app to the App Store, including provisioning devices for development and testing, creating an app record in iTunes Connect, and submitting the app. It outlines the prerequisites, enrollment process for the iOS Developer Program, and use of Xcode and other Apple tools to provision devices, test the app, create profiles, and submit the app and future updates. Additional topics like troubleshooting, next steps, and marketing the app are also referenced.
This document provides an overview of Android development basics including what Android is, its components, security and permissions model, and how to develop Android applications. Some key points:
- Android is an operating system based on Linux with a Java programming interface and uses the Dalvik virtual machine. It allows background processing and rich user interfaces.
- Google Play is used to distribute Android apps. Apps declare required permissions which users must approve during installation.
- Main Android app components include Activities, Services, ContentProviders, BroadcastReceivers, and widgets.
- The Android Development Tools in Eclipse provide tools for app development including compiling, debugging and deploying apps to emulators and devices.
- Apps are written
Welcome to newhavencollection.There are beautiful and chic beach towels to grab and feel the difference while you have some fun under the sun.For more info visit.
El documento describe diferentes métodos de ordenamiento de vectores, incluyendo el método de burbuja, ordenamiento rápido, ordenamiento por inserción, ordenamiento por selección y el método de Shell. Explica las ventajas y desventajas de cada método, con un enfoque particular en el método de burbuja, describiendo su implementación paso a paso y un ejemplo de ejecución.
Este documento presenta un plan de gestión de riesgos para la Institución Educativa Pío XI. El plan busca capacitar a la comunidad educativa sobre amenazas naturales como terremotos e incendios y entrenarlos en primeros auxilios. Se formará un comité escolar para la prevención y atención de emergencias y se realizarán simulacros. El plan beneficiará a estudiantes, docentes y la comunidad en general a través de charlas, capacitaciones y carteles informativos.
iPhone development from a Java perspective (Jazoon '09)Netcetera
Based on experience gained in developing the popular Zurich train/tram/bus/ship timeplan transport application, wemlin, senior software engineer Ognen Ivanovski describes development for the iPhone from the perspective of an Enterprise Java developer - covering aspects about differences in the language, the architecture, the user experience, the tools, and the market.
This deck provides an overview of key concepts in Objective-C including MVC architecture, classes, instances, methods, properties, delegates and protocols, Xcode IDE, and common classes and terms. It explains that MVC separates applications into modular and replaceable models, views, and controllers. Classes define properties and methods while instances contain property values. Methods are messages sent to objects. Properties use accessor methods. Header files define public interfaces while implementation files contain private code. Delegates and protocols allow communication between decoupled components.
The document provides an introduction to the Objective-C programming language. It discusses objects, classes, messaging between objects, and the Objective-C runtime system. It covers key concepts such as classes, inheritance, protocols, properties, categories and extensions, memory management, and threading. The document is intended for readers interested in programming with Objective-C or learning the basis of the Cocoa frameworks.
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
Presentation at Code Camp on Oct 8, 2011, 1:15 pm in the Foothill College Cafeteria. Overview of iOS Platform and development with demonstration of building two applications that demonstrate the model-view-controller architecture and feature buttons, textfields, labels, and alerts.
iOS Development - Offline Class for JasakomerAndri Yadi
The document provides an introduction to iOS development, outlining the required tools and frameworks for getting started including Xcode, iOS Simulator, and the iOS Developer Library. Key iOS development concepts are explained such as Objective-C, classes and objects, memory management using automatic reference counting, and common design patterns like model-view-controller. Resources for designing user interfaces and submitting apps to the App Store are also highlighted.
Framework design involves balancing many considerations, such as:
- Managing dependencies between components to allow for flexibility and evolution over time. Techniques like dependency injection and layering help achieve this.
- Designing APIs by first writing code samples for key scenarios and defining object models to support these samples to ensure usability.
- Treating simplicity as a feature by removing unnecessary requirements and reusing existing concepts where possible.
The document provides an overview of developing iOS applications including the required language (Objective-C), frameworks (Cocoa Touch), tools, and development process. It discusses setting up a Mac development environment, learning Objective-C syntax and concepts like classes, methods, properties, protocols, and the iOS application layers including Cocoa Touch.
This document discusses how to become an expert Android developer using Google technologies. It recommends using Android Studio as the integrated development environment due to its fast tools for building apps. It also recommends using the Android Jetpack architecture components like ViewModel, LiveData, and Room to accelerate development and build robust apps by eliminating boilerplate code. The document also covers other Jetpack components like Data Binding, Navigation, Lifecycles, and Testing to further improve the development process.
Explore some cool generic techniques which you could use for building complex ui in a declarative manner.
TableKit is a super lightweight yet powerful generic library that allows you to build complex table views in a declarative type-safe manner. It hides a complexity of UITableViewDataSource and UITableViewDelegate methods behind the scene, so your code will be look clean, easy to read and nice to maintain.
https://github.com/maxsokolov/TableKit
The iOS Human Interface Guidelines document provides guidance on designing high-quality iOS apps. It discusses platform characteristics of iOS such as displays of varying sizes, orientation changes, gesture-based interaction, and multitasking. It emphasizes embracing these characteristics and following human interface principles to provide a great user experience. The document also offers guidelines for many technical and design aspects of apps, including UI elements, technologies, artwork, and transitions between platforms and devices.
This document provides instructions for creating a basic iOS app called "HelloWorld" in Xcode. It describes how to create a new project using the Single View Application template, run the app in the iOS simulator, and examine the main.m file where the app launches. The finished app will display "Hello, Your Name!" when the user enters their name and taps a button. The tutorial covers using Xcode tools, implementing basic interactivity, and fundamental iOS app development techniques.
This document provides an overview of object-oriented programming concepts in Objective-C, including:
1) It introduces object-oriented programming and some key concepts like data combined with operations, interfaces, implementations, classes, inheritance, polymorphism, and dynamism.
2) It describes the Objective-C object model including classes, inheritance hierarchies, subclass definitions, and how objects can send messages to each other.
3) It discusses how to structure Objective-C programs using concepts like outlets, intrinsic and extrinsic connections between objects, frameworks, aggregation, and decomposition.
This document provides instructions for configuring development assets and tools needed to develop iOS apps. It covers how to become part of a development team, set up development devices, configure provisioning profiles and certificates, and safeguard signing assets. It also discusses running sample code, building and running apps on devices and simulator, testing apps, and distributing apps to testers and the App Store.
iPhone is a combination of internet and multimedia enabled smart phone developed by Apple Inc. It functions as a camera phone, including text messaging, and visual voice mail. iPhone is a portable media player that resembles a video iPod and has a user interface built around the multi-touch screen including a virtual keyboard. The App Store launched in 2008 and now has over 100,000 applications covering games, references, GPS navigation, advertising, television shows, films and more.
This document provides an overview of the workflow for developing a Mac app and distributing it to the Mac App Store or outside the App Store. It covers managing a development team, enabling technologies like iCloud and push notifications, configuring and code signing the app, creating provisioning profiles, and submitting the app to the Mac App Store. The document is intended for both individual developers and development teams working through the necessary steps for app development and distribution.
The document contains a list of color names and their corresponding hexadecimal color codes. There are over 100 colors listed ranging from common colors like white, black, red, and green to more obscure colors like bisque, thistle, and cadet blue. Each color has its name and the 6-digit hexadecimal code that represents the red, green, and blue values for that color.
This document provides instructions for submitting an iOS app to the App Store, including provisioning devices for development and testing, creating an app record in iTunes Connect, and submitting the app. It outlines the prerequisites, enrollment process for the iOS Developer Program, and use of Xcode and other Apple tools to provision devices, test the app, create profiles, and submit the app and future updates. Additional topics like troubleshooting, next steps, and marketing the app are also referenced.
This document provides an overview of Android development basics including what Android is, its components, security and permissions model, and how to develop Android applications. Some key points:
- Android is an operating system based on Linux with a Java programming interface and uses the Dalvik virtual machine. It allows background processing and rich user interfaces.
- Google Play is used to distribute Android apps. Apps declare required permissions which users must approve during installation.
- Main Android app components include Activities, Services, ContentProviders, BroadcastReceivers, and widgets.
- The Android Development Tools in Eclipse provide tools for app development including compiling, debugging and deploying apps to emulators and devices.
- Apps are written
Welcome to newhavencollection.There are beautiful and chic beach towels to grab and feel the difference while you have some fun under the sun.For more info visit.
El documento describe diferentes métodos de ordenamiento de vectores, incluyendo el método de burbuja, ordenamiento rápido, ordenamiento por inserción, ordenamiento por selección y el método de Shell. Explica las ventajas y desventajas de cada método, con un enfoque particular en el método de burbuja, describiendo su implementación paso a paso y un ejemplo de ejecución.
Este documento presenta un plan de gestión de riesgos para la Institución Educativa Pío XI. El plan busca capacitar a la comunidad educativa sobre amenazas naturales como terremotos e incendios y entrenarlos en primeros auxilios. Se formará un comité escolar para la prevención y atención de emergencias y se realizarán simulacros. El plan beneficiará a estudiantes, docentes y la comunidad en general a través de charlas, capacitaciones y carteles informativos.
iPhone development from a Java perspective (Jazoon '09)Netcetera
Based on experience gained in developing the popular Zurich train/tram/bus/ship timeplan transport application, wemlin, senior software engineer Ognen Ivanovski describes development for the iPhone from the perspective of an Enterprise Java developer - covering aspects about differences in the language, the architecture, the user experience, the tools, and the market.
This deck provides an overview of key concepts in Objective-C including MVC architecture, classes, instances, methods, properties, delegates and protocols, Xcode IDE, and common classes and terms. It explains that MVC separates applications into modular and replaceable models, views, and controllers. Classes define properties and methods while instances contain property values. Methods are messages sent to objects. Properties use accessor methods. Header files define public interfaces while implementation files contain private code. Delegates and protocols allow communication between decoupled components.
The document provides an introduction to the Objective-C programming language. It discusses objects, classes, messaging between objects, and the Objective-C runtime system. It covers key concepts such as classes, inheritance, protocols, properties, categories and extensions, memory management, and threading. The document is intended for readers interested in programming with Objective-C or learning the basis of the Cocoa frameworks.
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
Presentation at Code Camp on Oct 8, 2011, 1:15 pm in the Foothill College Cafeteria. Overview of iOS Platform and development with demonstration of building two applications that demonstrate the model-view-controller architecture and feature buttons, textfields, labels, and alerts.
iOS Development - Offline Class for JasakomerAndri Yadi
The document provides an introduction to iOS development, outlining the required tools and frameworks for getting started including Xcode, iOS Simulator, and the iOS Developer Library. Key iOS development concepts are explained such as Objective-C, classes and objects, memory management using automatic reference counting, and common design patterns like model-view-controller. Resources for designing user interfaces and submitting apps to the App Store are also highlighted.
Framework design involves balancing many considerations, such as:
- Managing dependencies between components to allow for flexibility and evolution over time. Techniques like dependency injection and layering help achieve this.
- Designing APIs by first writing code samples for key scenarios and defining object models to support these samples to ensure usability.
- Treating simplicity as a feature by removing unnecessary requirements and reusing existing concepts where possible.
The document provides an overview of developing iOS applications including the required language (Objective-C), frameworks (Cocoa Touch), tools, and development process. It discusses setting up a Mac development environment, learning Objective-C syntax and concepts like classes, methods, properties, protocols, and the iOS application layers including Cocoa Touch.
This document discusses how to become an expert Android developer using Google technologies. It recommends using Android Studio as the integrated development environment due to its fast tools for building apps. It also recommends using the Android Jetpack architecture components like ViewModel, LiveData, and Room to accelerate development and build robust apps by eliminating boilerplate code. The document also covers other Jetpack components like Data Binding, Navigation, Lifecycles, and Testing to further improve the development process.
Explore some cool generic techniques which you could use for building complex ui in a declarative manner.
TableKit is a super lightweight yet powerful generic library that allows you to build complex table views in a declarative type-safe manner. It hides a complexity of UITableViewDataSource and UITableViewDelegate methods behind the scene, so your code will be look clean, easy to read and nice to maintain.
https://github.com/maxsokolov/TableKit
React Native allows developers to build mobile apps using React with native platform capabilities. It uses native components instead of web views, making apps feel and perform like native ones. The document discusses what React Native is, how to set up a development environment, build a basic app, add libraries, handle common errors, and React Native fundamentals like components, styles, layout, events, and touch handling.
This document provides an overview and introduction to the C# programming language and .NET framework. It covers key C# concepts like its syntax, type system, classes, interfaces, collections and more. It also discusses .NET concepts like assemblies, garbage collection, and tools for C# development like Visual Studio.NET. The document contains sample C# code and concludes with a Hello World example to demonstrate basic C# syntax.
This document discusses the advantages of using TypeScript for developing Angular applications. It begins with an introduction to TypeScript, including how it adds types and classes to JavaScript to improve code structure and tooling. The presenter then demonstrates how to write an Angular todo list application using TypeScript, comparing the syntax for services, controllers, and directives between regular JavaScript and TypeScript implementations. Decorators are also introduced as how Angular 2.0 will annotate classes and properties. Overall, TypeScript is shown to add significant benefits for organizing code and developing Angular applications.
The advantage of developing with TypeScript Corley S.r.l.
This document discusses the advantages of using TypeScript for developing Angular applications. It begins with an introduction to TypeScript, including how it adds types and classes to JavaScript to improve code structure and tooling. The presenter then demonstrates how to write an Angular todo list application using TypeScript, comparing the syntax for services, controllers, and directives between regular JavaScript and TypeScript implementations. Decorators are also introduced as how Angular 2.0 will annotate classes and properties. Overall, TypeScript is shown to add significant benefits for organizing code and developing Angular applications.
Explore some cool generic techniques which you could use for building complex ui in a declarative manner.
TableKit is a super lightweight yet powerful generic library that allows you to build complex table views in a declarative type-safe manner. It hides a complexity of UITableViewDataSource and UITableViewDelegate methods behind the scene, so your code will be look clean, easy to read and nice to maintain.
https://github.com/maxsokolov/TableKit
The document provides an introduction to MvvmCross, which is a framework that implements the Model-View-ViewModel (MVVM) pattern for .NET platforms. It discusses MVVM theory, .NET implementations of MVVM patterns like INotifyPropertyChanged, and how MvvmCross enables cross-platform development through features like portable class libraries, plugins, and interface-driven development. It also provides examples of code evolution using MvvmCross and showcases real-world applications that have been developed with it.
Video for this session: http://www.youtube.com/watch?v=jdiu_dH3z5k
Code for this session: https://github.com/xamarin/Seminars/tree/master/2012-12-13-MVVMCross/
An introduction to one approach for using dependency injection, unit testing and MVVM in cross-platform mobile C# development with Stuart Lodge
The sole purpose of sharing these slides are to educate the beginners of IT and Computer Science/Engineering. Credits should go to the referred material and also CICRA campus, Colombo 4, Sri Lanka where I taught these in 2017.
This document provides an introduction to iOS application development. It discusses what iOS is, the requirements to develop iOS apps including having a Mac, Xcode, and the iOS SDK. It then explains Objective-C, the programming language used to develop iOS apps, covering classes, instances, methods, properties, protocols, and categories. It provides examples of how to declare and define classes, create instances, and define methods and properties in Objective-C.
This document provides an overview of Objective-C and teaches the basics of the language through examples. It covers Objective-C classes and objects, variables and data types, flow control and loops, methods, and more. The document is split into three parts, with each part building upon the previous concepts and adding new material to learn Objective-C programming.
This document appears to be a personnel record containing the name "Pragati Singh" and dates from 1/13/2023 to 1/13/2025, potentially listing an employment period. The document is very brief and does not contain much contextual information to summarize further.
This certificate was presented to Pragati Singh for successfully completing a 1.5 credit training course called "Analyzing Risk" based on the PMBOK® Guide Sixth Edition. The certificate was issued on June 21, 2021 by a registered education provider.
The document is a record of achievement that confirms Pragati Singh successfully completed an online SAP Fiori for iOS course from August 29 to October 4, 2017. The four-week course covered topics like getting started with SAP Cloud Platform SDK for iOS, OData back-end connectivity, SAP Fiori for iOS user experience, and advanced topics and deployment. Pragati scored 133.8 points out of a possible 240 points by completing weekly assignments and a final exam.
Pragati Singh successfully completed the four-week online openSAP course "SAP Fiori for iOS - Build Your First Native Mobile App" from August 29 to October 4, 2017. The course covered topics such as getting started with the SAP Cloud Platform SDK for iOS, OData backend connectivity, the SAP Fiori for iOS user experience, and advanced deployment topics. Pragati received a confirmation of participation for completing the course.
Certificate of completion android studio essential training 2016Pragati Singh
Pragati Singh completed the Android Studio Essential Training course on December 14, 2018, which lasted 3 hours and 41 minutes. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective, making herself more valuable in the job market. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android development essential training create your ...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Create Your First App course on December 18, 2018, which took 2 hours and 39 minutes to complete. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android development essential training design a use...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Design a User Interface course on December 19, 2018, which lasted 3 hours and 0 minutes. The course focused on designing user interfaces for Android applications. The certificate congratulates Pragati on continuing to learn and expand her skills in Android development.
Certificate of completion android development essential training support mult...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Support Multiple Screens course on December 22, 2018, which lasted 1 hour and 0 minutes. The course helped expand her perspective and sharpen her skills in Android development. A LinkedIn Learning vice president congratulated Pragati on continuing to learn and making herself more in demand.
Certificate of completion android development essential training manage navig...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Manage Navigation and Events course on December 23, 2018, which lasted 2 hours and 34 minutes. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android development essential training local data s...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Local Data Storage course on December 22, 2018, taking 3 hours and 56 minutes to complete it. The course focused on local data storage for Android development. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expand her skills and perspective to make herself more in demand.
Certificate of completion android development essential training distributing...Pragati Singh
Pragati Singh completed the Android Development Essential Training: Distributing Apps course on December 23, 2018, which lasted 1 hour and 31 minutes. The course helped expand her perspective and sharpen her skills in Android app development. A LinkedIn Learning vice president congratulated Pragati on continuing to learn and making herself more valuable in the job market.
Certificate of completion android app development communicating with the userPragati Singh
Pragati Singh completed the Android App Development: Communicating with the User course on December 19, 2018, which lasted 1 hour and 12 minutes. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more valuable. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion building flexible android apps with the fragments apiPragati Singh
Pragati Singh completed the online course "Building Flexible Android Apps with the Fragments API" on December 23, 2018, taking 2 hours and 26 minutes to complete the course. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expand her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android app development design patterns for mobile ...Pragati Singh
Pragati Singh completed the online course "Android App Development: Design Patterns for Mobile Architecture" on December 23, 2018, taking 2 hours and 22 minutes to complete it. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more valuable in the job market.
Certificate of completion java design patterns and apis for androidPragati Singh
Pragati Singh completed a course titled "Java Design Patterns and APIs for Android" on December 23, 2018, taking 3 hours and 12 minutes to complete the course. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective, making herself more valuable in the job market. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android development concurrent programmingPragati Singh
Pragati Singh completed the Android Development: Concurrent Programming course on December 23, 2018, taking 1 hour and 52 minutes to complete it. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android app development data persistence librariesPragati Singh
Pragati Singh completed a course on Android App Development: Data Persistence Libraries on December 23, 2018, taking 4 hours and 52 minutes to complete the course. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
Certificate of completion android app development restful web servicesPragati Singh
Pragati Singh completed the course "Android App Development: RESTful Web Services" on December 23, 2018, taking 2 hours and 49 minutes to complete it. The Vice President of Learning Content at LinkedIn congratulated Pragati on continuing to learn and expanding her skills and perspective to make herself more in demand. The certificate was issued from LinkedIn Learning located in Sunnyvale, California.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Diana Rendina
Librarians are leading the way in creating future-ready citizens – now we need to update our spaces to match. In this session, attendees will get inspiration for transforming their library spaces. You’ll learn how to survey students and patrons, create a focus group, and use design thinking to brainstorm ideas for your space. We’ll discuss budget friendly ways to change your space as well as how to find funding. No matter where you’re at, you’ll find ideas for reimagining your space in this session.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
हिंदी वर्णमाला पीपीटी, hindi alphabet PPT presentation, hindi varnamala PPT, Hindi Varnamala pdf, हिंदी स्वर, हिंदी व्यंजन, sikhiye hindi varnmala, dr. mulla adam ali, hindi language and literature, hindi alphabet with drawing, hindi alphabet pdf, hindi varnamala for childrens, hindi language, hindi varnamala practice for kids, https://www.drmullaadamali.com
5. MOGCLASS
Do you want to create your own iPhone
App or develop novel user interface for
MOGCLASS?
Total 67 Pages
5
6. You need to know…
Language: Objective-C and C/C++
Objective Oriented Programming
Programming and testing in Xcode
Digital Signal Processing basics
Assembly Code (ARM)
Computer Network
Etc…
Total 67 Pages
6
7. Today we will cover…
Objective-C basics
Building an Application
Sensor programming (accelerometer, GPS,
microphone…)
Audio Libraries
There are a lot of materials about iphone
online. What we will cover today is more
oriented for your final project.
Total 67 Pages
7
8. How to learn iPhone Programming
Recommended Book: None! We’ll use
Apple documentation
iOS Developer Center:
◦ Download the sample code and learn.
http://developer.apple.com/devcenter/ios/index.action
Write the code by yourself… Trial and
error.
Total 67 Pages
8
9. iPhone SDK Technology
Architecture
Cocoa
Touch
•
•
•
•
•
Multi-Touch Events
Multi-Touch Controls
Accelerometer
View Hierarchy
Localization
Alerts
Web View
People Picker
Image Picker
Camera
Media
•
•
•
•
•
Core Audio
OpenAL
Audio Mixing
Audio Recording
Video Playback
JPG, PNG,TIFF
PDF
Quartz (2D)
Core Animation
OpenGL ES
Core
Services
•
•
•
•
•
Collections
Address Book
Networking
File Access
SQLite
Core Location
Net Services
Threading
Preference
URL utilities
Core OS
•
•
•
•
•
OS X Kernel
Mach 3.0
BSD
Sockets
Security
Power Mgmt
Keychain
Certificates
File System
Bonjour
Total 67 Pages
9
11. OOP Vocabulary
Class: defines the grouping of data and
code, the ―type‖ of an object.
Instance: a specific allocation of a class.
Method: a ―function‖ that an object knows
how to perform.
Instance Variable (or ―ivar‖): a specific
piece of data belonging to an object.
Total 67 Pages
11
13. Objective-C
Strict superset of C
◦ Mix C with ObjC
◦ Or even C++ with ObjC (usually referred to as
ObjC++)
A very simple language, but some new
syntax
Single inheritance, classes inherit from one
and only one superclass
Protocols define behavior that cross classes
Dynamic runtime
Loosely typed, if you’d like
Total 67 Pages
13
14. Class and Instance Methods
Instance respond to instance methods
-(id)init;
-(float)height;
-(void)walk;
• Classes respond to class methods
+(id)alloc;
+(id)person;
+(Person*)sharedPerson;
Total 67 Pages
14
17. Dot Syntax
Objective-C 2.0 introduced dot syntax
Convenient shorthand for invoking accessor
methods
float height = [person height];
float height = person.height;
[person setHeight: newHeight];
person.height = newHeight;
Follows
the dots…
[[person child] setHeight:newHeight];
//exact the same as
person.child.height = newHeight;
Total 67 Pages
17
18. Dynamic and static typing
Dynamically-typed object
id anObject
just id
Not id * (unless you really, really mean it…)
Statically-typed object
Person *anObject
Objective-C provides compile-time, not
runtime, type checking
Objective-C always uses dynamic binding
Total 67 Pages
18
19. Selectors identify methods by name
A selector has type SEL
SEL action = [button action];
[button setAction: @selector(start:)];
Conceptually similar to function pointer
Selectors include the name and all colons,
for example:
-(void) setName:(NSString*)name age:(int)age;
would have a selector:
SEL sel = @selector(setName:age:);
Total 67 Pages
19
20. Working with selectors
You can determine if an object responds to a
given selector
id obj;
SEL sel = @selector(start:)
if ([obj respondsToSelector:sel]){
[obj performSelector: sel withObject:self];
}
This sort of introspection and dynamic
messaging underlies many Cocoa design
patterns
-(void)setTarget:(id)target;
-(void)setAction:(SEL)action;
Total 67 Pages
20
21. Working with Classes
You can ask an object about its class
Class myClass = [myObject class];
NSLog(@"My class is %@", [myObject className]);
Testing for general class membership (subclasses
included):
if ([myObject isKindOfClass:[UIControl class]]) {
// something
}
Testing for specific class membership (subclasses
excluded):
if ([myObject isMemberOfClass:[NSString class]]) {
// something string specific
}
Total 67 Pages
21
22. Working with Objects
Identity v.s. Equality
Identity—testing equality of the pointer
values
if (object1 == object2) {
NSLog(@"Same exact object instance");
}
Equality—testing object attributes
if ([object1 isEqual: object2]) {
NSLog(@"Logically equivalent, but may
be different object instances");
}
Total 67 Pages
22
23. -description
NSObject implements -description
- (NSString *)description;
Objects represented in format strings using %@
When an object appears in a format string, it is
asked for its description
[NSString stringWithFormat: @”The answer is: %@”,
myObject];
You can log an object’s description with:
NSLog([anObject description]);
Your custom subclasses can override description
to return more specific information
Total 67 Pages
23
29. App Lifecycle
Main function
UIApplicationMain which Info.plist to
figure out what nib to load.
MainWindow.xib contains the
connections for our application.
AppDelegate
ViewController.xib
View – handle UI events
Total 67 Pages
29
32. Model
Manages the app data and state
Note concerned with UI or presentation
Often persists somewhere
Same model should be reusable,
unchanged in different interfaces
Total 67 Pages
32
33. View
Present the Model to the user in an
appropriate interface
Allows user to manipulate data
Does not store any data
◦ (except to cache state)
Easily reusable & configurable to display
different data
Total 67 Pages
33
34. Controller
Intermediary between Model & View
Updates the view when the model
changes
Updates the model when the user
manipulates the view
Typically where the app logic lives
Total 67 Pages
34
36. Accelerometer
What are the accelerometers?
◦ Measure changes in force
What are the uses?
Physical Orientation vs. Interface
Orientation
◦ Ex: Photos & Safari
Total 67 Pages
36
37. Orientation-Related Changes
Getting the physical orientation
◦ UIDevice class
UIDeviceOrientationDidChangeNotification
Getting the interface orientation
◦ UIApplication class
statusBarOrientation property
◦ UIViewController class
interfaceOrientation property
Total 67 Pages
37
39. Getting raw Accelerometer Data
3-axis data
Configurable update frequency (10-100Hz)
Sample Code (AccelerometerGraph)
Class
Protocol
◦ UIAccelerometer
◦ UIAcceleration
◦ UIAccelerometerDelegate
Total 67 Pages
39
40. Getting raw Accelerometer Data
-(void)initAccelerometer{
[[UIAccelerometer sharedAccelerometer] setUpdateInterval: (1.0 / 100)];
[[UIAccelerometer sharedAccelerometer] setDelegate: self];
}
-(void)accelerometer: (UIAccelerometer*)accelerometer didAccelerate:
(UIAcceleration*) acceleration {
double x, y, z;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
//process the data…
}
-(void)disconnectAccelerometer{
[[UIAccelerometer sharedAccelerometer] setDelegate: nil];
}
Total 67 Pages
40
41. Filtering Accelerometer Data
Low-pass filter
High-pass filter
◦ Isolates constant acceleration
◦ Used to find the device orientation
◦ Shows instantaneous movement only
◦ Used to identify user-initiated movement
Total 67 Pages
41
50. Audio Libraries
System Sound API – short sounds
AVAudioPlayer – ObjC, simple API
Audio Session - Audio Toolbox
Audio Queue - Audio Toolbox
Audio Units
OpenAL
MediaPlayer Framework
Total 67 Pages
50
51. AVAudioPlayer
Play longer sounds (> 5 seconds)
Locally stored files or in-memory (no network
streaming)
Can loop, seek, play, pause
Provides metering
Play multiple sounds simultaneously
Cocoa-style API
Supports many more formats
Sample Code: avTouch
◦ Initialize with file URL or data
◦ Allows for delegate
◦ Everything the AudioFile API supports
Total 67 Pages
51
52. AVAudioPlayer
Create from file URL or data
AVAudioPlayer *player;
NSString *path = [[NSBundle mainBundle] pathForResource:… ofType:…];
NSURL *url = [NSURL fileURLWithPath:path];
player = [[AVAudioPlayer allow] initWithContentsOfURL:url];
[player prepareToPlay];
Simple methods for starting/stopping
If(!player.playing){
[player play];
}else{
[player pause];
}
Total 67 Pages
52
53. Audio Sessions
Handles audio behavior at the application,
inter-application, and device levels
◦
◦
◦
◦
Ring/Silent switch?
iPod audio continue?
Headset plug / unplug?
Phone call coming?
Sample Code: avTouch & aurioTouch
Total 67 Pages
53
54. Audio Sessions
Six audio session categories
◦
◦
◦
◦
◦
◦
Ambient
Solo Ambient (Default session)
Media playback
Recording
Play and record
Offline audio processing
Total 67 Pages
54
55. Audio Queue
Audio File Stream Services & Audio Queue
Services
Supports wider variety of formats
Finer grained control over playback
◦ Streaming audio over network
◦ Cf: AVAudioPlayer(local)
Allows queueing of consecutive buffers for
seamless playback
◦ Callback functions for reusing buffers
Sample code: SpeakHere
Total 67 Pages
55
56. Audio Units
For serious audio processing
Graph-based audio
◦
◦
◦
◦
Rate or format conversion
Real time input/output for recording & playback
Mixing multiple streams
VoIP (Voice over Internet Protocol).
Very, very powerful.
Sample code: aurioTouch
Total 67 Pages
56
57. Audio Units
Lowest programming layer in iOS audio
stack
◦ Real-time playback of synthesized sounds
◦ Low-latency I/O
◦ Specific audio unit features
Otherwise, look first at the Media Player,
AV Foundation, OpenAL, or Audio
Toolbox!
Total 67 Pages
57
58. Audio Units
Ex: Karaoke app in iPhone
◦ real-time input from mic
◦ Real-time output to speaker
◦ Audio Unit provides excellent responsiveness
◦ Audio Unit controls audio flow to do pitch
tracking, voice enhancement, iPod
equalization, and etc.
Total 67 Pages
58
59. OpenAL
High level, cross-platform API for 3D audio mixing
Models audio in 3D space
Sample code: oalTouch
More information: http://www.openal.org/
◦ Great for games
◦ Mimics OpenGL conventions
◦ Buffers: Container for Audio
◦ Sources: 3D point emitting Audio
◦ Listener: Position where Sources are heard
Total 67 Pages
59
60. MediaPlayer Framework
Tell iPod app to play music
Access to entire music library
◦ For playback, not processing
Easy access through
MPMediaPickerController
Deeper access through Query APIs
Sample code: AddMusic
Total 67 Pages
60
61. Others
Accelerate Framework
Bonjour and NSStream
◦ C APIs for vector and matrix math, digital
signal processing large number handling, and
image processing
◦ vDSP programming guide
The Synthesis ToolKit in C++ (STK) and
OSC
Total 67 Pages
61
62. More Info for Beginners
iPhone Application Programming
(Standford University - iTunes University)
Dan Pilone & Tracey Pilone. Head First
iPhone Development.
Total 67 Pages
62
63.
Thank you and good luck to your final
projects!
Total 67 Pages
63