Xcode Tutorial For Beginners (Just Updated For Xcode 11)
Xcode Tutorial For Beginners (Just Updated For Xcode 11)
MENU
This guide will demystify Xcode for you and teach you what you need to
know in order to start building apps!
https://codewithchris.com/xcode-tutorial/ 1/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
You’ll learn:
https://codewithchris.com/xcode-tutorial/ 2/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chapter 1
What is Xcode?
(and what’s new in Xcode 11)
What is Xcode?
Xcode is an application that developers use to build apps for Apple’s various
platforms such as iPhone, iPad, Macs, AppleTV and Apple Watch.
Xcode Requirements
https://codewithchris.com/xcode-tutorial/ 3/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcode is available for Macs only but there are alternative options for PC
users. I also often get asked if you can run Xcode on iPad and unfortunately
the answer is no.
It requires macOS 10.14.4 or later and 7.6 GB of hard drive space. If you
don’t meet the minimum requirements, you can try to update Xcode using
this method (at your own risk).
The latest version of Xcode is 11. If you want to check what version of
Xcode you currently have, just launch it and in the welcome screen, you’ll
see it clearly stated.
Xcode requirements
Xcode 11 brings lots of new features such as support for Swift 5.1, Apple’s
latest iteration of the Swift programming language, SDKs for iOS 13, tvOS
13, watchOS 6 and macOS Catalina 10.15.
https://codewithchris.com/xcode-tutorial/ 4/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chapter 2
Download Xcode And Install It
The easiest way to download Xcode for free is through the Mac App Store.
Click the link to go to the listing.
You can also download it manually if you don’t have the Mac App Store. Just
visit the Apple Developer page for Xcode.
If you download it from the Mac App Store, then updating Xcode becomes
really easy since you can just download and install the update through the
store.
https://codewithchris.com/xcode-tutorial/ 7/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Each of those platforms has changed since their previous iteration and
Xcode 11 allows you to build apps to utilize these new features.
(Note: this is going to be most relevant for people who have used previous
versions of Xcode before. If you’re a beginner, I recommend that you skip
this section for now)
The biggest incentive to update is the ability to work with the latest version
of the Swift programming language as well as Apple’s new declarative UI
framework, SwiftUI.
Apple keeps a pretty tight leash on the App Store and over time, they raise
the requirements on apps that are published. Eventually, you will have to
update to Xcode 11 in order to build apps that use the latest versions of
iOS.
https://codewithchris.com/xcode-tutorial/ 6/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Download the latest version of Xcode from the Mac App Store
If you’re looking for older versions of Xcode, check out this page. You can
download previous versions of Xcode as well as betas versions. You’re going
to have to sign up for a free Apple ID if you don’t have one because the
betas are only available for members of the Apple Developer Program.
https://codewithchris.com/xcode-tutorial/ 8/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcode on Windows
Unfortunately Xcode is only for Macs but if you’re using a PC, there are
alternative ways to run Xcode on Windows. Check out my guide for
options!
Xcode Alternatives
I highly recommend you use Xcode if at all possible. The reason is that when
Apple announces new changes (like they did this year with SwiftUI), they
build support for those new technologies directly into Xcode.
https://codewithchris.com/xcode-tutorial/ 9/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
AppCode IDE
Other third party IDEs have to play catch-up and it might not even be
guaranteed that they’ll roll out support for the new changes from Apple at
all!
Having said that, if you still want to check out some alternatives to building
iOS apps with Xcode, check out the following:
AppCode
Visual Studio Code
React Native
Flutter
Xamarin
PhoneGap
Appcelerator
https://codewithchris.com/xcode-tutorial/ 10/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chapter 3
How To Use Xcode
https://codewithchris.com/xcode-tutorial/ 11/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Before we dive in, keep this Apple Documentation for Xcode handy.
Let’s now look at the diagram below. If your interface looks different, make
sure you have Xcode 11 and not an earlier version.
https://codewithchris.com/xcode-tutorial/ 12/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
As you can see from the diagram, there are 5 major areas: the Navigator,
Editor, Utility Area, Toolbar and Debug Area. We’ll cover each area in detail
later but for now, let’s talk about general navigation of Xcode.
Keep in mind that you can adjust the size of each of those panes by hovering
your cursor over the boundaries of each area and dragging.
You can also show and hide the various areas as needed via the “View”
buttons in the upper right hand corner:
This can be helpful, for example, when you’re writing code and you don’t
need the debugger area or the utility area. Then you can use the View
buttons to hide those 2 panes to give your editor more visible space.
https://codewithchris.com/xcode-tutorial/ 13/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chapter 4
Find your files in the Navigator Area
In this pane, there are a bunch of different navigators that you can switch
between using the Navigator Selector Tab Bar (see screenshot below).
https://codewithchris.com/xcode-tutorial/ 14/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Since there are so many (eight!), I’m only going to talk about the three most
common ones you’ll use as a beginner: the Project, Search and Issue
navigators.
The Project Navigator is where you’ll see all the les associated with your
project. This is the default tab you’ll see when you create a brand new
Xcode project.
Within the Project Navigator, you can also create Groups to organize your
les in. Think of them like folders. You can create a new Group and then
drag your les into them to organize your project a little bit.
https://codewithchris.com/xcode-tutorial/ 15/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
You can also right click on the Project Navigator and create new les or add
existing les to your project. Or you can drag folders or les from your
computer directly onto the Project Navigator and will popup a dialog asking
how you want to add the les.
Xcod
e new
le
dialo
g
Editing les
With the search navigator tab, you can easily look for pieces of text in your
project.
You’ll nd yourself using this a lot when you’re looking for a speci c
property, method or variable and you can’t remember exactly where it is.
The issue navigator shows you all the problems with your app.
https://codewithchris.com/xcode-tutorial/ 17/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
When you build and compile your application to test, if there are some
problems where Xcode can’t build your app, it will halt and show you the
red colored errors in the issue navigator. You can click on an error and it will
show you in the editor area which le and line it’s failing at.
It will also show yellow Warnings in the issue navigator. Although resolving
warnings is not necessary for building your app, they’re warnings that there
may be potential issues.
Similarly, when you’re building your user interface in Xcode, any errors will
also show itself in the Issue Navigator.
https://codewithchris.com/xcode-tutorial/ 18/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The editor area is where we’ll probably be spending most of our time! This
is where all the coding, con guration and user interface building happens.
If you have a Swift le selected, it’ll show you the code editor like below.
However, if you have a user interface le (like a Storyboard) selected, then
it’ll show you Interface Builder which is a visual editor for your user
interface. Later in this article, I’ll talk more about Interface Builder.
Let’s go through the Editor Area in the context of editing code les rst.
Writing Code
Click on a Swift le from the Project Navigator and you’ll see something like
this:
Xcod
e
code
editor
area
https://codewithchris.com/xcode-tutorial/ 19/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
area
If you want to show line numbers in the gutter to the left of the editor, you
can enable line numbers in the Xcode preferences. The Dark theme can also
be enabled in the preferences.
Aside from that, you write code in the big text editing area!
Let’s go through some handy tips to make your code writing experience
more enjoyable:
There are these little back and forward arrows in the upper left corner of
the editor area. Unfortunately these arrows aren’t labeled in the trusty
Xcode interface diagram at the beginning of this article so I’ll call them
“Xcode back and forward arrows” and show you an image of them here:
Xcode
breadcrum
b and
navigation
bar
https://codewithchris.com/xcode-tutorial/ 20/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
These guys are actually pretty useful. They act like the back and forward
buttons on your browser and they let you navigate to previously viewed
les.
Another way to quickly get to the le you need is to use the Jump Bar. Click
any segment of the Breadcrumb and it’ll show you a menu of les or groups
that you can select at that hierarchy level.
The jump bar allows you to quickly drill down through your groups and nd
the le you need.
Click a
segment of
the
breadcrum
b to access
other les
and folders
If you click the tail segment of the jump bar (which is the current le you’re
looking at), it will open up a menu showing you all the methods in the le to
show give you an overview of what methods are in that le and to allow you
to jump to a speci c method.
https://codewithchris.com/xcode-tutorial/ 21/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
See an
outline
of the
le and
quickly
jump to
speci c
method
s or
sections
Just hit Command-F to bring up a search popup in the upper right corner
that will look for whatever you type in within the current le. This is also a
great way to jump to various areas of your le. You can also use this popup
to do replacements within your le.
Jumping to de nitions
If you’re looking at some code and you see a classname that you want to
jump to the de nition of, you can hold down Command and click the
classname to quickly jump to that le.
Right
click a
https://codewithchris.com/xcode-tutorial/ 22/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
method
or class
to jump
to its
de nitio
n
The breakpoint gutter (where the line numbers are) is where you can click
to set breakpoints at certain lines of code.
When you set a breakpoint, you’ll see a blue indicator appear. To turn off a
breakpoint, just click the blue indicator again and it will dim out.
Xcode
breakpoint
s
If you want to completely remove the breakpoint, you can click and drag the
blue indicator off of the breakpoint gutter.
https://codewithchris.com/xcode-tutorial/ 23/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
To view a list of all the breakpoints that are set in your project, there’s a
“breakpoint navigator” tab in the Navigator area.
There’s also a global toggle to turn breakpoints on or off at the top of the
editor area which we’ll see when we review the toolbar.
Don’t worry if you can’t remember everything right now. We’ll be working
with all of these areas and when you start coding, this will all become
second nature to you after a week.
The root node of the project navigator is your Xcode project le (indicated
by the blue icon). If you click that, the project properties will open in the
editor area.
Xcode
project
con guration
and
properties
You’ll visit the project properties screen quite a bit during the process of
building your app. In this screen, you can con gure things like:
https://codewithchris.com/xcode-tutorial/ 24/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcode 11 brings two different ways of building the user interface (UI) for
your app: Storyboards or SwiftUI.
When you create a new Xcode project, you’ll see a dropdown to choose one
of these two options:
https://codewithchris.com/xcode-tutorial/ 25/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcode
new
project
select a
user
interfac
e option
Storyboards are interfaces built with visual drag and drop in the Editor
Area using Interface Builder.
Xcode
project
using
storyboard
s
SwiftUI was released in late September 2019 as a new way to build user
interfaces by writing code. Xcode 11 has a special Preview Canvas pane
that shows your user interface change in real time as you write the code to
modify your user interface.
As a beginner, most of the tutorials you’ll nd on the internet right now will
based around Storyboards and UIKit since SwiftUI was just released. Most
of my tutorials are based on Storyboards because it was the easiest way for
beginners to grasp.
In this Xcode tutorial however, I’ll show you how to work with both options
inside the Xcode Editor Area.
If you chose Storyboards as your UI building option when you created the
Xcode project, then your project will have a le called Main.Storyboard.
Click this le and the Editor Area will change to the visual UI designer
known as Interface Builder.
Interfac
e
Builder
https://codewithchris.com/xcode-tutorial/ 27/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The Object Library is a pane where you can search for user interface
elements from UIKit. These elements are things like buttons, sliders, labels
and text elds.
You can drag and drop them onto the view but in order to size and position
them, you need to use the Auto Layout system.
Auto Layout is a system to arrange and size the elements on the view based
on what rules (known as “Constraints”) you add to the elements.
For example, you might add a constraint saying that an element should be
20pt below the element above it. I have an introduction video to the Xcode
Auto Layout system here:
https://codewithchris.com/xcode-tutorial/ 28/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
With enough constraints in place, the Auto Layout system has enough
information to lay out the user interface. However, having too many
constraints may result in con icts where two or more constraints have
opposing demands. In this case, Xcode will notify you of the error and you’ll
have to x it.
To add constraints, use these buttons in the lower right corner of Interface
Builder:
Adding
Auto
Layout
constraint
s in Xcode
The Document Outline is the skinny panel in between the Navigator Area
and Editor Area. It only shows up when you’re looking at an Interface
https://codewithchris.com/xcode-tutorial/ 29/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
It’s a very important pane because it shows you the visual hierarchy of all
the elements that you’ve added to the view. It also lists all of the Auto
Layout constraints you’ve added.
Documen
t outline
shows the
elements
in your
view
The visibility of the Document Outline can also be to toggled with this small
button in the lower left corner of Interface Builder:
This tiny
button
toggles
the
visibility
of the
document
outline
Assistant Editor
https://codewithchris.com/xcode-tutorial/ 30/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The Assistant Editor view which will show you the accompanying le to the
le you’re currently looking at. It looks like a two pane view.
If you’re working with Storyboards, the Assistant Editor will be helpful for
connecting user interface elements from the Storyboard view to the code
le so that you can manipulate those elements via code.
For example, if you’re looking at a view in the Storyboard, the right pane
will show you the linked class le for that view. Each pane also has
independent jump bars, so you can also use that to change what le each
pane is displaying.
The
Assistant
Editor is
useful for
connecting
elements
in your
storyboar
d to your
code
To open the Assistant Editor, you can go into the Editor menu and choose
Assistant.
https://codewithchris.com/xcode-tutorial/ 31/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Open
the
Assistan
t Editor
If you created your Xcode project choosing SwiftUI for your user interface
option then you won’t get a Main.Storyboard le but you’ll see a
ContentView.swift le instead. This le is where you’ll build your rst
SwiftUI user interface.
The
ContentView.swif
t is where your UI
code is
The canvas is a pane beside your code editor where you’ll see a live preview
of your user interface.
The
Xcode
SwiftUI
Previe
w
Canvas
If you don’t see it, go to the Editor menu and select Canvas. Note that it
needs at least macOS 10.15 to run. If you don’t have that, then you can still
launch your app in the iOS Simulator to see the UI of your app.
https://codewithchris.com/xcode-tutorial/ 33/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The Object Library shows you a list of SwiftUI elements you can add to your
UI. You can search for what you need and then drag and drop it into the
code editor and it’ll generate the code for you.
We’re not going to dive deeper into how to build UIs with SwiftUI since it’s
a lot of code writing and this is a tutorial for how to use Xcode. If you’re
interested in learning how to use SwiftUI, check out my SwiftUI tutorials on
YouTube.
The Xcode utility area as a variety of Inspectors to view details about the
le, element or piece of code that you’re looking at.
In this chapter, we’ll go through a few scenarios of how you’ll use the
various inspectors.
https://codewithchris.com/xcode-tutorial/ 35/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcod
e
Utility
Area
The File Inspector is the rst tab in the Utility Area and it shows details
about the current highlighted le in the File Navigator.
The le inspector
https://codewithchris.com/xcode-tutorial/ 36/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The Quick Help Inspector shows you documentation about the method,
class or keyword that your typing cursor is currently on.
This is very useful because you don’t have to launch the developer
documentation if you’re looking for some quick information about how to
use that piece of code.
Suf ce to say, this inspector will draw a blank unless your typing cursor is in
the code editor over a valid method, class or keyword.
https://codewithchris.com/xcode-tutorial/ 37/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
These inspectors will only show up as tabs in the Utility Area when you’ve
selected a user interface element in the Storyboard.
https://codewithchris.com/xcode-tutorial/ 38/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
We’ve talked about some of the buttons on this tool bar already. Let’s start
from the left.
https://codewithchris.com/xcode-tutorial/ 39/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The
Xcode
Toolba
r
The left-most button is the run button. This will build and run your
application and launch your app in the iOS Simulator. The button beside it
will stop the execution of your application and return you to Xcode.
If you click and hold down the Run button, you’ll get more options to run
your app:
https://codewithchris.com/xcode-tutorial/ 40/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Test to run your unit tests if you have them in your project.
Analyze to let Xcode analyze your code and check for potential leaks or bad
practices.
The dropdown beside the Stop button indicates which build target you
want to run (your can run an Apple Watch target too) and you can also
choose if you want to run it under the iPhone or iPad simulators (or
different version if you have them installed). The selection “iOS device” is to
run your app on your device if you have it plugged in and properly
provisioned (which needs a whole tutorial in itself!).
Choose a
target
simulato
r to run
your app
on
https://codewithchris.com/xcode-tutorial/ 41/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The status bar will show you what Xcode is currently doing. You’ll also see
little indicators for errors and warnings if they exist in your project.
Xcod
e
statu
s bar
And nally in the far right side of the toolbar, we have the Library button
(which we’ve talked about in the user interface section of this guide), Code
Review button (used to review code changes if you’re using source control)
and buttons to toggle various panels on or off.
https://codewithchris.com/xcode-tutorial/ 42/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The debug area will show you console output and the state of various
variables when you run your application.
You’ll be using this a lot while debugging your code and trying to gure out
why things aren’t working out the way you expect them to!
If you’d like to learn how to debug your code using Xcode debugger tools,
check out my video tutorial here:
https://codewithchris.com/xcode-tutorial/ 43/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Xcode 11 comes bundled with a wonderful iOS Simulator for you to test
your application on.
In fact, you can use the iOS simulator for most of your development and
then nd a device to test on when you’re nearly done.
The iOS
Simulato
r that
comes
with
Xcode
Device rotation
Simulating various GPS coordinates
Device shake
https://codewithchris.com/xcode-tutorial/ 44/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
1. When you’re ready to test on a real device, you can simply plug it in
via USB.
2. You’ll see a prompt on your phone asking if you want to trust this
computer. Tap on “Yes”.
3. Xcode will ask if you want to use this device for development. Tap on
“Yes”.
4. Then you’ll see your device in the list of devices you can deploy your
app on (it’ll sit above all the simulators)
https://codewithchris.com/xcode-tutorial/ 45/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Deployin
g your
app on
your
device
An Xcode Playground is a light weight editor for you to try out some code.
It’s not a full- edged Xcode project and it isn’t intended to be used for
building an app.
An Xcode
playgroun
d
https://codewithchris.com/xcode-tutorial/ 46/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Note: There’s also an educational iPad app that Apple released called “Swift
Playgrounds“. Don’t confuse that with what we’re talking about here.
Start a new
Xcode
playgroun
d
For more information on how to use Xcode Playgrounds, check out this
WWDC video.
https://codewithchris.com/xcode-tutorial/ 47/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
The
Xcode
Organize
r
Archives
https://codewithchris.com/xcode-tutorial/ 48/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
An archive is what Xcode calls a build of your app. When you’re ready to
submit your app to the App Store, you create an archive which is all of your
code and resource les into one neat little bundle.
All of your archives are listed in the Archives section of the Organizer.
Selecting one of your archives will give you an option to do various things
with it, including sending it to the App Store. Check out my guide on how to
submit your app using App Store Connect when you’re ready.
These three sections in the Organizer will show you various metrics
collected from your app being used by real users.
This information is really valuable to use for improving your app in regards
to making it more robust (less crashing) and more ef cient (using less
resources)
https://codewithchris.com/xcode-tutorial/ 49/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
In this Xcode tutorial, you’ve learned about the various parts of the IDE and
how to use Xcode for writing code and building user interfaces.
What’s Next?
Ready to get your hands dirty in Xcode and build something? Want to learn
Swift programming too?
Get my handy Xcode cheatsheet with all the keyboard shortcuts that I
use!
The 10 Step Process To Make An App: Learn the iOS app development
process with this step by step guide.
The Complete Swift Tutorial for Beginners: Learn Swift programming
with my Swift guide designed with the beginner in mind.
7 Day App Action Plan: Plan out your app and nally get started
turning your app idea into reality.
Xcode for Windows: On a PC? Don’t let that stop you. Use one of the
options in this guide.
https://codewithchris.com/xcode-tutorial/ 50/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Were you able to learn how to use Xcode with this tutorial?
If this guide helped you, please let me know by leaving a quick comment
below. I love hearing from my readers and I appreciate that you’re learning
with me. Talk soon!
101 Comments
Colin Karr
Reply
https://codewithchris.com/xcode-tutorial/ 51/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Ricardo
Excellent tutorial!
By going through it, I did get acquainted with the general concepts and workings of XCode
11.
Reply
Torie Monteros
Oh man did you hear the announcement from Apple? New Airpod Pro! I’m de nitely going to
pick some up for my iPhone.
Reply
Avinash Kumar
Great explanation,
thanks for sharing such informative and valuable blog post so keep posting.
Reply
Elanie
Hi Chris!!
Thanks for your all your efforts with keeping us up to date with the latest! I really appreciate
it!
I have recently updated my Xcode to 11, and I am also learning Xcode so please bear with
me. I am creating the WarUI game on Xcode 11, and after updating my Mac software last
night 15 Oct, Xcode 11 tells me that my “File is not under source control” Where can I nd
it??
https://codewithchris.com/xcode-tutorial/ 52/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Elanie
Reply
Bri
Trying to follow along on your youtube channel. Just created the project and cannot located
main.storyboard. I see AppDelegate.swift, SceneDelegate.swift, ContectView.swift, Assests,
Launchscreen and Info….
Reply
Chris C
Hey Bri, I’ve recorded a short video to show you the solution! Please watch it here:
https://cl.ly/eb4c7e72e2ea
Reply
tutorial
Reply
https://codewithchris.com/xcode-tutorial/ 53/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
ErnestPH
Thanks I am trying to code my rst app. A radio app. Hopefully, it will be successful!
Reply
Jim Valenzano
Chris, I am new to this Xcode stuff and I have searched and searched for the answer I hope
you can help. can you tell me the code that will allow me to incorporate the phone ringer in
my app? example : I receive a phone call and my app now does something at that time like
plays an audio le…. Thanks in advance
Reply
Chris Ching
Hey Jim, unfortunately I don’t think it’s possible to do this type of functionality!
Reply
bhavdip bambhroliya
Hello chris.. rst i would like to thank you for this your job.. and i have starting my profession
in ios by your tutorial. i like it.. but i want to see someone simple online apps by using parse
database and i do not know that how to create parse database. so can you help me?
Reply
raymond trott
Hi Chris, you have been asked this many times already, but do you have a quick resorce guide
pdf that i can reference to? download and have easy access?
https://codewithchris.com/xcode-tutorial/ 54/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Aum InfoTech
Reply
Aum InfoTech
Nice Guide…
Reply
Jeffry Tambari
Nice article
Reply
SAM LUX
Hi chris, can you help me please i get the following issue with calling my method :
My Code of TestAppViewController.m :
#import “TestAppViewController.h”
@interface TestAppViewController ()
@end
@implementation TestAppViewController
– (void)viewDidLoad
https://codewithchris.com/xcode-tutorial/ 55/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
– (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
– (IBAction)btnBerechne:(id)sender {
NSString *zeichen=_txtLabel2.text;
_txtLabel4.text=ergebnisString;
– (IBAction)btnLeere:(id)sender {
https://codewithchris.com/xcode-tutorial/ 56/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
_txtLabel1.text=@””;
_txtLabel2.text=@””;
_txtLabel3.text=@””;
_txtLabel4.text=@””;
-(IBAction)removeKeyboard
[self.txtLabel1 resignFirstResponder];
[self.txtLabel2 resignFirstResponder];
[self.txtLabel3 resignFirstResponder];
[self.txtLabel4 resignFirstResponder];
-(double)plusA:(double)a plusB:(double)b{
return a+b;
-(double)minusA:(double)a minusB:(double)b{
return a+b;
https://codewithchris.com/xcode-tutorial/ 57/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
-(double)durchA:(double)a durchB:(double)b{
return a+b;
-(double)malA:(double)a malB:(double)b{
return a+b;
Lokendra Surya
Reply
Chris Ching
Hello!
You were really close! Since that method is an instance method of this class, you need to
reference “self”. So it’ll be like this:
Reply
EconomicExile
Well written and easy to understand (so far) for a novice, good job, thanks
Reply
https://codewithchris.com/xcode-tutorial/ 58/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Lokendra Surya
hi Chris,
I am trying to implement facebook button on xcode. so when i run the programme with
initially state logged out perfectly, but when it is already logged in it creates problems. How
can i make sure it works perfectaly??
Reply
Pranav Suby
Good tutorial, but for some reason, I can’t see the top of the screen when I try the demo. Do
you know why?
Reply
Chris Ching
Hey Pranav,
Maybe the simulator is too large? Try a different zoom level. You can see how to change
the zoom level here: https://codewithchris.com/xcode-errors/#simulator under “My
Simulator Looks Different”
Reply
John
Just one little grammatical change under xCode Organizer -> Devices section. You said
“….devices tab that I can list them all” and I think you mean “….devices tab that I can’t list
them all”. Otherwise I think the tutorial is fantastic thus far!!
Reply
https://codewithchris.com/xcode-tutorial/ 59/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chris Ching
Reply
Pranav Suby
This was a great guide! One thing though, when I click the run button, it only shows the
bottom of the screen. Do you think you could help?
Reply
Zion Quest
Reply
Abood Imtair
Reply
marrwannabil12
Reply
Chris Ching
https://codewithchris.com/xcode-tutorial/ 60/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Lalitha Syamaleswari
good one…
Reply
Andy C.
Reply
Chris Ching
Reply
Riz
Reply
Chris Ching
https://codewithchris.com/xcode-tutorial/ 61/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Nirali
Reply
Chris Ching
Reply
Guest
Nirali
Thank u really very helpful tutorial
Reply
Jia Shi
Hi Chris, I wonder how can i create a new method under a class in x-code 5? Can u help me?
Reply
Chris Ching
Hey Jia Shi, in this article I show you how to declare methods in classes:
https://codewithchris.com/how-to-make-iphone-apps-object-oriented-programming-
and-classes/
Also try the videos from the link at the top of the site: “Start here”.
https://codewithchris.com/xcode-tutorial/ 62/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Thanks!
Reply
Jia Shi
Thank you! =)
Reply
Nishant
Hi Chris,
I want to learn how to develop iphone apps. i am fresher in this, so can you give me some
more information about xcode. how to create a design in xcode.
Thanks
Reply
Chris Ching
Hey Nishant, please click “Start Here” from the top of the site!
Reply
Ricky Starling
hi Chris,
I’m trying to create a button that links one page to another on xcode 5. Basically like a
normal weblink but for xcode. I am completely new to this…any help is appreciated.
Reply
BS
https://codewithchris.com/xcode-tutorial/ 63/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Nearby, I have found your tutorial, when I was looking for a hint to where the nice
popup for ltering objects by sections (formerly placed nearby the objects tab in Xcode 4) is
gone in Xcode 5?
Reply
Chris Ching
Reply
sankar ram
Hi chris It is nice to see your tutorial I have tried all the option of organizer that you have
given here, I Did’t know how to take a Screenshot of Xcode editor please help me in this!
Reply
Chris Ching
Hello, you’re trying to take a screenshot of your screen? You can press command+shift+3
and a screenshot will be taken. It’ll be placed on your desktop
Reply
sankar ram
hai chris thanks for your reply I tried it ! ya it create a snapshot ,now I want to creeate a
app for streaming a Audio using RTSP from device and it recieved at the client end like
Mac pc where we developing an app you have any tutorial for this!
https://codewithchris.com/xcode-tutorial/ 64/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Chris Ching
Sorry i don’t but will let you know in the future if i do!
Reply
Suriya Kumar
Hi! Do you have the tutorials for the various app templates such as single view or master
detail app version??
Reply
Chris Ching
Hey Suriya, not at the moment, but thanks for that suggestion! I’ll follow up with you if i
do it in the future!
Reply
wow thank you for the tutorial im glad that i found complete tutorial for beginners ^_^
Reply
Chris Ching
Glad you enjoyed it Franz Thanks for taking the time to leave a comment!
Reply
https://codewithchris.com/xcode-tutorial/ 65/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
jefriiyer s
Reply
Chris Ching
Reply
Fakhra
Reply
karthik
Reply
David
Motivating Tutorial.
Thanks for making the App development not that intimidating after all.
Reply
Chris Ching
https://codewithchris.com/xcode-tutorial/ 66/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Nejc Perme
Reply
Chris Ching
Hey Nejc, I want to introduce the syntax (commands) little by little. Is that a good way for
you to learn, in your opinion? Instead of trying to learn all the commands at once before
doing any practice. I appreciate your feedback! Thanks
Reply
Aparna
Reply
Chris Ching
Reply
Joe A
Hi Chris,
I’m very new to Mac and app development. I’m not very savvy at all when it comes to code
https://codewithchris.com/xcode-tutorial/ 67/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
but this article is amazing. The clarity and detail is perfect. Thank you.
Reply
Chris Ching
Hey Joe,
Thank you for your support and comment! I love hearing that readers are learning the
material!
Reply
rashu
Hi Chris
Reply
Chris Ching
Hey Rashu, thanks for your comment. There are actually a lot of UITableView tutorials out
there! I was in the process of writing one but haven’t done so yet.
There are some new Xcode5/iOS7 digital books over at Ray Wenderlich’s site that you
can purchase.
For free, you can search for “UITableView tutorial” or “UIImageView tutorial” and there
should be plenty of resources!
Hope that helps!
Chris
https://codewithchris.com/xcode-tutorial/ 68/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
ANAND
very usefull
Reply
Chris Ching
Reply
Anand
Reply
Chris Ching
Reply
Rose
Chris,
Thank you for the Tutorial. I am totally new to the mobile app development environment. I
am on Microsoft Window platform. Do I have to have Mac in order to develop the iPhone
and iPad apps?
Reply
https://codewithchris.com/xcode-tutorial/ 69/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chris Ching
Hello Rose, unfortunately you do, but some people have had success using a virtualization
program like vmware to run OSX on their PC and have been able to install Xcode and
build iOS apps. The cheapest mac you can get is probably a used Mac Mini for $300 or so.
In order to run Xcode 5, you’ll need Mountain Lion (OSX 10.8). There are also ways to
code up the app in C# or Javascript/HTML and cross compile it into iOS apps, but you
won’t be learning Objective-C and Xcode in that case Just Google that if you’re
interested! Hope that helps!
Reply
Basavakumar
nice article
Reply
Basavakumar
Reply
Chris Ching
Reply
gopinath
hey chris i am using windows 7, do you know any xcode tool for windows 7 so that i can do all
my coding and practise in windows7.
https://codewithchris.com/xcode-tutorial/ 70/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Chris Ching
Hello gopinath, unfortunately I’m not aware of this! Sorry i can’t be of more help.
Reply
siva
Reply
Chris Ching
Reply
Linda
do you tutor as well? please email me if you do.. i am looking for a tutor to help me
understand app developing more in depth.. Thank you
Reply
Chris Ching
Hello Linda, at this time i’m not doing any 1-on-1 tutoring, however, i am working on
a paid course where members will have some more personalized help. Let me know
if you’d like me to contact you when that’s ready!
https://codewithchris.com/xcode-tutorial/ 71/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Reply
Chinthaka De Silva
Reply
Chris Ching
Reply
Harikumar
Reply
Chris Ching
Reply
lcondado
thanks
Reply
karthikeyan
https://codewithchris.com/xcode-tutorial/ 72/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Wonderful…
Reply
Chris Ching
Reply
Melody
I tried to download XCode for my MAC and it says that I need MAC OS X version 10.7.4 or
later is required. I am very new to MAC and don’t know what to do. Can I upgrade my MAC
to new the latest version and where can I upgrade?
Reply
Chris Ching
Hey Melody, which version of OSX do you have? Do you have the Mac App Store? If so,
you can upgrade to the latest OSX version through there but i think it costs $20 to
upgrade. Hope that helps!
Reply
Nils Stritzel
Reply
https://codewithchris.com/xcode-tutorial/ 73/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Chris Ching
Reply
Yahya Al-shaar
Reply
Aster Veigas
Amazing article the effort you put in to make this article will de nitely help a lot of
people.Keep it up!!
Reply
Lorne
Great tutorial so far. I love how it starts with the basics, and I’m looking forward to the next
part. Great job!
Reply
fakhrulzakry
thank you so much chris ! i hope you can help how to use the storyboard and the xib. im very
confusing about both of it. and hope you can teach how to pass value from rst view
controller to next view controller if using storyboard. Thank you…. you have a great tutorial!
Reply
https://codewithchris.com/xcode-tutorial/ 74/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Narendra
Excellent
Reply
Reshma
Reply
Nathaniel
This is absolutely fantastic write-up! Such great detail!! Thanks Mr. Chris for this All I need
now is a mac of my own instead of a VM!
Reply
Leave a Comment
Name * Email *
Website
https://codewithchris.com/xcode-tutorial/ 75/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Post Comment
Email Address
SIGN UP
Site
Tutorial Index
Educational Licensing
Courses
Blog
Privacy Policy
Terms of Service
Social
YouTube
Twitter
Instagram
Facebook
https://codewithchris.com/xcode-tutorial/ 76/77
7/7/2020 Xcode Tutorial for Beginners (Just updated for Xcode 11)
Community
Contact
About Us
Contact
Advertising
Corporate Sponsorship
Media Kit
https://codewithchris.com/xcode-tutorial/ 77/77