SlideShare ist ein Scribd-Unternehmen logo
1 von 31
1
1
Welcome to vibrant
technologies and computers
2
2
What do you need?
•Previous experience in another Object Oriented
Programming (OOP) language will be helpful
•Some understanding of C can be helpful, but is
not required. Objective-C builds on C++.
•Development Environment (IDE) is helpful
•Mac computer running OS X Lion or higher!
•If you plan to submit to the App Store, you will
need Apple devices to do real testing on. The
simulator is not good enough.
3
3
Introduction
•iOS is the operating system that runs iPhones,
iPod Touches, iPads, and Apple TVs.
•The language used to develop software for iOS is
Objective-C. (very similar to C)
•This workshop will teach you how to get started
but will not have time to teach you everything.
•This workshop is good preparation for a real full
iPhone/iPad, iOS Development class!
4
4
What is iOS?
•iOS is an OS. It’s a subset of Mac OS X.
•The iOS SDK is the software development kit that
allows application programs to utilize classes and
frameworks provided by the SDK. This workshop
will focus on iOS SDK 5
•iOS is multitasking and runs on different devices
(iPhones, iPod Touches, iPads, and Apple TVs).
•Apple provides an IDE called Xcode.
•Xcode is the IDE used by iOS (and OS X)
developers. It does NOT run on MS Windows.
•Xcode provides an interface to the compiler, editor,
debugger, and code profiling tools.
5
5
Device Features
•SQLite for structured data storage
•Media support for common audio, video, and still
image formats (MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG, GIF)
•GSM Telephony (hardware dependent)
•Bluetooth, EDGE, 3G, and WiFi (hardware
dependent)
•Camera, GPS, compass, and accelerometer
(hardware dependent)
•Rich development environment including a device
simulator, tools for debugging, memory and
performance profiling
6
6
Download the iOS SDK
•Download the latest from the Apple App store
•This is only available for Apple Macintosh
computers
•It’s free
•To build to device and submit to the app store,
you will be required to becomes a register Apple
iOS developer
•It’s $99 year for the basic account
•If you plan to get a job in iOS development, you
will need to establish a basic account and submit
something to the Apple Store. Maybe a game?
7
7
Let’s get started - Launch
Xcode
• You are presented
with the Welcome
screen:
•Create a new project
•Connect to a repository
•Learn about using
Xcode
•Go to Apple’s Portal
•Go ahead and click on
“Create a new project”
8
8
Project Template
•There are several
predefined
templates to help
you get started
on a new project
•For now, click on
Single View
Application
9
9
Project Options
• The Product Name is the name of
your app
• Company Identifier is your
organization name – such as
edu.itu (reverse domain)
• Class Prefix (leave empty)
• Device Family: iPad, iPhone,
Universal (Universal means that a
single binary will have screens for
iPhone, iPod Touch, and iPads)
• Storyboards
• Automatic Reference Counting
• Include Unit Tests (leave
unchecked as we are not using)
10
10
Source Control
• Asks for a location for Source
Control
• By Default, it will use a local
GIT repository
• New developers not used to
source control – this is
extremely useful!
• It keeps track of versions, lets
you see what’s changed, and
will undoubtedly be used in
any team project you run into
in the “real” world
• GIT and Subversion are two
popular source controls
systems – there are many
others to choose from
11
11
Where do I start?
12
12
Let’s build the default project
•Click the Run button (upper left of the screen)
•The iPad simulator will launch (You can also
change this to iPhone if you want)
•You will have a blank white screen
•Press Command-Q to end the simulator
13
13
Quick Terminology: MVC
•Model-View-Controller (MVC)
•MVC is the paradigm of iOS programming
•Model: Holds data, should know nothing of the
interface
•View: Code for getting data in/out of a view.
Deals with items like buttons, lists, tables, etc
•Controller: Keeps the Model objects and View
objects in sync
14
14
Quick Terminology: Delegate
•AppDelegate.h
•AppDelegate.m
•The Delegate is essentially
the “controller” of your
app. It links buttons, labels
and views together
•.h files are header files and
interfaces are defined here
•.m files are implementation
files. These contain your
classes, code, etc.
15
15
Quick Terminology:
Storyboard
•These are new to iOS5
•Storyboards help you graphically lay out your app
before you code it.
•It makes it easy to see the “flow” of your app
•You are advised to use Storyboards going forward
with you iOS programming adventures
•If you have tinkered with iOS in the past, you might
be asking about the xib/nibs. They are still there,
however, Storyboards offer similar functionality and
make it easier to visualize your views.
•We will not be covering nibs in this workshop.
16
16
Quick Terminology: ARC
•Automatic Reference Counting (ARC)
•The LLVM 3.0 compiler handles memory
management for you
•It is not a garbage collector!
•Prior to iOS5 – memory management was the single
most difficult item to grasp in Objective-C.
•Unless you have specific reasons, all of your projects
should use ARC.
17
17
Quick Terminology: Unit Tests
•We will not be discussing Unit Tests in this
workshop
•Be advised – unit tests are very useful for your
programs
•The tests can help you make sure your code
changes are not breaking anything.
•The goal is to be able to find bugs quicker and fix
them before your code goes to QA (or the
customer!)
18
18
Click on the iPhone Storyboard
•It shows a blank
view
•It looks like you are
on a sheet of graph
paper
•There are two
buttons – below
•First Responder
•View Controller
19
19
Find the Label
•In Xcode, lower right
hand corner, scroll
until you find the
object Label
•Drag Label to the
blank view
•Double click on the
Label you added, and
change it to say “Hello
World”
•Do the same steps for
the iPad Storyboard
20
20
Run the project
•The iPad and iPhone projects should now display
Hello World!
21
21
Next, add two buttons to your
view
•Find the Round Rect
Button, drag two to
the view
•Double-click on one of
the buttons and type
Hello
•Double-click on one of
the buttons and type
Goodbye
•Run your project,
click on the buttons
22
22
Nothing Happens – we have to
tell it to do something
•Click on the
Assistant Editor
•It looks like a
tuxedo
•It will be in the
upper right hand
corner of your
screen
23
23
Linking the ViewObject to your
ViewController…
•You will see your
ViewObject in the
middle of the screen
•The right hand side
of the screen should
be the
ViewController.h file
View Object
ViewController.h
24
24
Link the label…
• Single click on your Hello World
label
• While holding down the Control
key, left click-drag to the
ViewController.h file
• You need to drag between the
@interface and @end in the
code
• This will make a new property
• For the name, call it helloLabel
so we can easily recognize what
it is
• This step will allow us to make
changes to the UILabel
25
25
@interface and @end
•Remember that Objective-C is an
extensive to the C language
•The @ symbol denotes an Objective-C
keyword
•@interface is the start of a class.
•@interface Classname: Superclass
•Anything between the declaration and
end is part of the class
26
26
@property (weak, nonatomic)
IBOutlet UILabel *helloLabel;
•A property is an attribute of the class
•Getters and Setters are automatically created for
you
•Weak is a memory management term
•Nonatomic has to do with adding mutexes around
your getters and setters
•IBOutlet stands for Interface Builder Outlet.
•Interface Builder still exists in iOS5 but we are
using the new Storyboard feature instead.
27
27
@synthesize helloLabel
•Synthesize – this creates the
accessor/mutators (getters/setters)
for you
•You can write your own if you want,
but in general, there is no reason to
do this.
28
28
Link the rest of the buttons
•Link helloButton to
ViewController.h
•Link goodbyeButton
to ViewController.h
•When done, you will
have two properties
•Now, switch the
Assistant window to
the ViewController.m
file
29
29
TouchUpInside Actions
TouchUpInside events occur
if you touch a button and lift
off while inside the button
This corresponds to a user
tapping a button
Right-Click on the Hello
button
On the far right, locate Touch
Up Inside
Left click-drag this over to
your ViewController.m
Notice it creates some code
Do the same for the goodbye
button
30
30
IBAction
•You created two IBActions
•Actions signify something that happens
when you do something for example, push
a button.
•When you push a button, it fires the action
•These are currently empty methods
- (IBAction)helloPushed:(id)sender {
}
- (IBAction)goodbyePushed:(id)sender {
}
31
Thank you
31

Weitere ähnliche Inhalte

Was ist angesagt?

Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Ryan Baxter
 
Mobile Project Management
Mobile Project ManagementMobile Project Management
Mobile Project ManagementLee Schlenker
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppRyo Jin
 
How to Avoid app store rejection
How to Avoid app store rejectionHow to Avoid app store rejection
How to Avoid app store rejectionNaga Harish M
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 
Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective cKenny Nguyen
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 

Was ist angesagt? (10)

Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 
Introduction To AOP
Introduction To AOPIntroduction To AOP
Introduction To AOP
 
Mobile Project Management
Mobile Project ManagementMobile Project Management
Mobile Project Management
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
How to Avoid app store rejection
How to Avoid app store rejectionHow to Avoid app store rejection
How to Avoid app store rejection
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective c
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
Citibank
CitibankCitibank
Citibank
 

Andere mochten auch

How to use the slide share app
How to use the slide share appHow to use the slide share app
How to use the slide share appwixappsdemo
 
Bilcare_GCS Quality and Regulatory Overiew
Bilcare_GCS Quality and Regulatory OveriewBilcare_GCS Quality and Regulatory Overiew
Bilcare_GCS Quality and Regulatory OveriewBilcare GCS
 
DE 60-65-ÅRIGES KOMPETENCER
DE 60-65-ÅRIGES KOMPETENCERDE 60-65-ÅRIGES KOMPETENCER
DE 60-65-ÅRIGES KOMPETENCERSFI-slides
 
Refrigeration & Air Conditioning Notes
Refrigeration & Air Conditioning NotesRefrigeration & Air Conditioning Notes
Refrigeration & Air Conditioning NotesPatrick Kitheka
 
Personality disorders
Personality disordersPersonality disorders
Personality disordersNursing Path
 
The bmw m4_gts_oct_2015
The bmw m4_gts_oct_2015The bmw m4_gts_oct_2015
The bmw m4_gts_oct_2015steeringnews
 

Andere mochten auch (7)

How to use the slide share app
How to use the slide share appHow to use the slide share app
How to use the slide share app
 
Bilcare_GCS Quality and Regulatory Overiew
Bilcare_GCS Quality and Regulatory OveriewBilcare_GCS Quality and Regulatory Overiew
Bilcare_GCS Quality and Regulatory Overiew
 
DE 60-65-ÅRIGES KOMPETENCER
DE 60-65-ÅRIGES KOMPETENCERDE 60-65-ÅRIGES KOMPETENCER
DE 60-65-ÅRIGES KOMPETENCER
 
Refrigeration & Air Conditioning Notes
Refrigeration & Air Conditioning NotesRefrigeration & Air Conditioning Notes
Refrigeration & Air Conditioning Notes
 
Género y sexualidad
Género y sexualidadGénero y sexualidad
Género y sexualidad
 
Personality disorders
Personality disordersPersonality disorders
Personality disorders
 
The bmw m4_gts_oct_2015
The bmw m4_gts_oct_2015The bmw m4_gts_oct_2015
The bmw m4_gts_oct_2015
 

Ähnlich wie Ios-training-institute-in-mumbai

Ios training-cum-course-in-mumbai-
Ios training-cum-course-in-mumbai-Ios training-cum-course-in-mumbai-
Ios training-cum-course-in-mumbai-vibrantuser
 
I pad uicatalog_lesson02
I pad uicatalog_lesson02I pad uicatalog_lesson02
I pad uicatalog_lesson02Rich Helton
 
I phone first app ducat
I phone first app ducatI phone first app ducat
I phone first app ducatPragati Singh
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyNick Landry
 
outgoing again
outgoing againoutgoing again
outgoing againspredslide
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Manoj Ellappan
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notesjaxarcsig
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentAsim Rais Siddiqui
 
iPhone Programming [2/17] : Introduction to iOS Programming
iPhone Programming [2/17] : Introduction to iOS ProgrammingiPhone Programming [2/17] : Introduction to iOS Programming
iPhone Programming [2/17] : Introduction to iOS ProgrammingIMC Institute
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012Steven Pousty
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
 
Introduction to Aspect Oriented Programming by Donald Belcham
Introduction to Aspect Oriented Programming by Donald BelchamIntroduction to Aspect Oriented Programming by Donald Belcham
Introduction to Aspect Oriented Programming by Donald Belcham.NET Conf UY
 
Mobile Fest 2018. Алексей Лизенко. Make your project great again
Mobile Fest 2018. Алексей Лизенко. Make your project great againMobile Fest 2018. Алексей Лизенко. Make your project great again
Mobile Fest 2018. Алексей Лизенко. Make your project great againMobileFest2018
 

Ähnlich wie Ios-training-institute-in-mumbai (20)

Ios training-cum-course-in-mumbai-
Ios training-cum-course-in-mumbai-Ios training-cum-course-in-mumbai-
Ios training-cum-course-in-mumbai-
 
I pad uicatalog_lesson02
I pad uicatalog_lesson02I pad uicatalog_lesson02
I pad uicatalog_lesson02
 
I phone first app ducat
I phone first app ducatI phone first app ducat
I phone first app ducat
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 
outgoing again
outgoing againoutgoing again
outgoing again
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
iPhone Programming [2/17] : Introduction to iOS Programming
iPhone Programming [2/17] : Introduction to iOS ProgrammingiPhone Programming [2/17] : Introduction to iOS Programming
iPhone Programming [2/17] : Introduction to iOS Programming
 
Ios development
Ios developmentIos development
Ios development
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
 
Training in iOS Development
Training in iOS DevelopmentTraining in iOS Development
Training in iOS Development
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
Delphi L01 Intro
Delphi L01 IntroDelphi L01 Intro
Delphi L01 Intro
 
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
 
Introduction to Aspect Oriented Programming by Donald Belcham
Introduction to Aspect Oriented Programming by Donald BelchamIntroduction to Aspect Oriented Programming by Donald Belcham
Introduction to Aspect Oriented Programming by Donald Belcham
 
Project anatomy & hello world
Project anatomy & hello worldProject anatomy & hello world
Project anatomy & hello world
 
Mobile Fest 2018. Алексей Лизенко. Make your project great again
Mobile Fest 2018. Алексей Лизенко. Make your project great againMobile Fest 2018. Алексей Лизенко. Make your project great again
Mobile Fest 2018. Алексей Лизенко. Make your project great again
 
W1.pptx
W1.pptxW1.pptx
W1.pptx
 

Kürzlich hochgeladen

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Kürzlich hochgeladen (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Ios-training-institute-in-mumbai

  • 2. 2 2 What do you need? •Previous experience in another Object Oriented Programming (OOP) language will be helpful •Some understanding of C can be helpful, but is not required. Objective-C builds on C++. •Development Environment (IDE) is helpful •Mac computer running OS X Lion or higher! •If you plan to submit to the App Store, you will need Apple devices to do real testing on. The simulator is not good enough.
  • 3. 3 3 Introduction •iOS is the operating system that runs iPhones, iPod Touches, iPads, and Apple TVs. •The language used to develop software for iOS is Objective-C. (very similar to C) •This workshop will teach you how to get started but will not have time to teach you everything. •This workshop is good preparation for a real full iPhone/iPad, iOS Development class!
  • 4. 4 4 What is iOS? •iOS is an OS. It’s a subset of Mac OS X. •The iOS SDK is the software development kit that allows application programs to utilize classes and frameworks provided by the SDK. This workshop will focus on iOS SDK 5 •iOS is multitasking and runs on different devices (iPhones, iPod Touches, iPads, and Apple TVs). •Apple provides an IDE called Xcode. •Xcode is the IDE used by iOS (and OS X) developers. It does NOT run on MS Windows. •Xcode provides an interface to the compiler, editor, debugger, and code profiling tools.
  • 5. 5 5 Device Features •SQLite for structured data storage •Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) •GSM Telephony (hardware dependent) •Bluetooth, EDGE, 3G, and WiFi (hardware dependent) •Camera, GPS, compass, and accelerometer (hardware dependent) •Rich development environment including a device simulator, tools for debugging, memory and performance profiling
  • 6. 6 6 Download the iOS SDK •Download the latest from the Apple App store •This is only available for Apple Macintosh computers •It’s free •To build to device and submit to the app store, you will be required to becomes a register Apple iOS developer •It’s $99 year for the basic account •If you plan to get a job in iOS development, you will need to establish a basic account and submit something to the Apple Store. Maybe a game?
  • 7. 7 7 Let’s get started - Launch Xcode • You are presented with the Welcome screen: •Create a new project •Connect to a repository •Learn about using Xcode •Go to Apple’s Portal •Go ahead and click on “Create a new project”
  • 8. 8 8 Project Template •There are several predefined templates to help you get started on a new project •For now, click on Single View Application
  • 9. 9 9 Project Options • The Product Name is the name of your app • Company Identifier is your organization name – such as edu.itu (reverse domain) • Class Prefix (leave empty) • Device Family: iPad, iPhone, Universal (Universal means that a single binary will have screens for iPhone, iPod Touch, and iPads) • Storyboards • Automatic Reference Counting • Include Unit Tests (leave unchecked as we are not using)
  • 10. 10 10 Source Control • Asks for a location for Source Control • By Default, it will use a local GIT repository • New developers not used to source control – this is extremely useful! • It keeps track of versions, lets you see what’s changed, and will undoubtedly be used in any team project you run into in the “real” world • GIT and Subversion are two popular source controls systems – there are many others to choose from
  • 12. 12 12 Let’s build the default project •Click the Run button (upper left of the screen) •The iPad simulator will launch (You can also change this to iPhone if you want) •You will have a blank white screen •Press Command-Q to end the simulator
  • 13. 13 13 Quick Terminology: MVC •Model-View-Controller (MVC) •MVC is the paradigm of iOS programming •Model: Holds data, should know nothing of the interface •View: Code for getting data in/out of a view. Deals with items like buttons, lists, tables, etc •Controller: Keeps the Model objects and View objects in sync
  • 14. 14 14 Quick Terminology: Delegate •AppDelegate.h •AppDelegate.m •The Delegate is essentially the “controller” of your app. It links buttons, labels and views together •.h files are header files and interfaces are defined here •.m files are implementation files. These contain your classes, code, etc.
  • 15. 15 15 Quick Terminology: Storyboard •These are new to iOS5 •Storyboards help you graphically lay out your app before you code it. •It makes it easy to see the “flow” of your app •You are advised to use Storyboards going forward with you iOS programming adventures •If you have tinkered with iOS in the past, you might be asking about the xib/nibs. They are still there, however, Storyboards offer similar functionality and make it easier to visualize your views. •We will not be covering nibs in this workshop.
  • 16. 16 16 Quick Terminology: ARC •Automatic Reference Counting (ARC) •The LLVM 3.0 compiler handles memory management for you •It is not a garbage collector! •Prior to iOS5 – memory management was the single most difficult item to grasp in Objective-C. •Unless you have specific reasons, all of your projects should use ARC.
  • 17. 17 17 Quick Terminology: Unit Tests •We will not be discussing Unit Tests in this workshop •Be advised – unit tests are very useful for your programs •The tests can help you make sure your code changes are not breaking anything. •The goal is to be able to find bugs quicker and fix them before your code goes to QA (or the customer!)
  • 18. 18 18 Click on the iPhone Storyboard •It shows a blank view •It looks like you are on a sheet of graph paper •There are two buttons – below •First Responder •View Controller
  • 19. 19 19 Find the Label •In Xcode, lower right hand corner, scroll until you find the object Label •Drag Label to the blank view •Double click on the Label you added, and change it to say “Hello World” •Do the same steps for the iPad Storyboard
  • 20. 20 20 Run the project •The iPad and iPhone projects should now display Hello World!
  • 21. 21 21 Next, add two buttons to your view •Find the Round Rect Button, drag two to the view •Double-click on one of the buttons and type Hello •Double-click on one of the buttons and type Goodbye •Run your project, click on the buttons
  • 22. 22 22 Nothing Happens – we have to tell it to do something •Click on the Assistant Editor •It looks like a tuxedo •It will be in the upper right hand corner of your screen
  • 23. 23 23 Linking the ViewObject to your ViewController… •You will see your ViewObject in the middle of the screen •The right hand side of the screen should be the ViewController.h file View Object ViewController.h
  • 24. 24 24 Link the label… • Single click on your Hello World label • While holding down the Control key, left click-drag to the ViewController.h file • You need to drag between the @interface and @end in the code • This will make a new property • For the name, call it helloLabel so we can easily recognize what it is • This step will allow us to make changes to the UILabel
  • 25. 25 25 @interface and @end •Remember that Objective-C is an extensive to the C language •The @ symbol denotes an Objective-C keyword •@interface is the start of a class. •@interface Classname: Superclass •Anything between the declaration and end is part of the class
  • 26. 26 26 @property (weak, nonatomic) IBOutlet UILabel *helloLabel; •A property is an attribute of the class •Getters and Setters are automatically created for you •Weak is a memory management term •Nonatomic has to do with adding mutexes around your getters and setters •IBOutlet stands for Interface Builder Outlet. •Interface Builder still exists in iOS5 but we are using the new Storyboard feature instead.
  • 27. 27 27 @synthesize helloLabel •Synthesize – this creates the accessor/mutators (getters/setters) for you •You can write your own if you want, but in general, there is no reason to do this.
  • 28. 28 28 Link the rest of the buttons •Link helloButton to ViewController.h •Link goodbyeButton to ViewController.h •When done, you will have two properties •Now, switch the Assistant window to the ViewController.m file
  • 29. 29 29 TouchUpInside Actions TouchUpInside events occur if you touch a button and lift off while inside the button This corresponds to a user tapping a button Right-Click on the Hello button On the far right, locate Touch Up Inside Left click-drag this over to your ViewController.m Notice it creates some code Do the same for the goodbye button
  • 30. 30 30 IBAction •You created two IBActions •Actions signify something that happens when you do something for example, push a button. •When you push a button, it fires the action •These are currently empty methods - (IBAction)helloPushed:(id)sender { } - (IBAction)goodbyePushed:(id)sender { }