New eBook Release! Ultimate iOS 10, Xcode 8 Development Book

Want to learn how to build an app from scratch using Xcode? The Ultimate iOS 10, Xcode 8 Development Book by Mammoth Interactive is now available as an eBook! Get it here for only 25.99.

This eBook takes you step by step through designing, coding, and testing different iOS applications. The code is easy to follow along with. The eBook’s numerous screenshots ensure that no rner is left behind.

The Ultimate iOS 10, Xcode 8 Development Book contains 3 parts:

1. Playground – In Part 1, you learn the foundations of Xcode using Swift 3.0’s Playground. The Playground is the perfect place to test code in real-time. We use the Playground to introduce coding topics like variables, functions, and loops.

2. UI Elements – Apps are made up of User Interface (UI) elements. In Part 2, you create Projects to test common UI elements, including labels, buttons, and text fields. With code, you learn to implement the objects to give them functionality.

3. Example Apps – In Part 3, we create functioning apps. To build an app, we design its layout and implement its functionality. You learn how to test your apps by running them in the Simulator.

Get the eBook here today!

Book Released! Learn Swift 3.0 by Mammoth Interactive

Have you always wanted to create your own iOS app? Mammoth Interactive has written a new book just for you: Learn Swift 3.0.

Even if you have never coded before, you can learn how to use Xcode. The practical examples in Learn Swift 3.0 explain key topics in app development, including the following:

Variables – A crucial part of your code as a developer is variables. This book covers the common types of variables, including integers, strings, and Booleans. As well, you will learn how to create your own type for when Xcode’s are just not enough for your program.

Functions – If you want your application to function, you need functions! Functions are blocks of code that execute tasks. You will learn how to set up a function and make it perform a task. As well, you will learn how to include if statements and for in loops in functions. What are if statements and for in loops? Read Learn Swift 3.0 to find out! There are chapters on them, too.

Statements and Loops – Did you know you can test the value of an object using a switch statement?  Also, you can perform the same function on multiple items with just one while loop! This book covers those and other ways to control the flow of your code so that your app functions in exactly the way you want.

Learn Swift 3.0 is a beginner’s guide to the Swift 3.0 programming language. Swift 3.0 is a powerful, intuitive interface with which you can design incredible apps.

With this book, you will learn how to experiment with Xcode using Swift 3.0’s user-friendly Playground. As such, you will learn the foundations of making an app, and your first one will be up-and-running in no time!

Introduction to UIColor in XCode SpriteKit: Swift Crash Course (Free Tutorial)

Trying to figure out how to make your iOS game stand out? Colors are a key part of game design and can make or break the difference between a game’s success and flop. In this tutorial, we’re going to experiment with colors in SpriteKit and how they can be used to make your application unique. Want more FREE coding lessons? You’re in luck! We have a free 30-minute beginners course:

To start a new project, go to File > New > Project. The template we’re using today is the iOS application, which is for the iPhone and iPad. Go to iOS > Application > Game. For Device, specify iPhone. Let’s make our Product Name “Getting started with SpriteKit”. Push Next and then Create. An iPhone app set-up will appear on your screen. Firstly, it’s a good idea to run the simulator in order to test that the project loads correctly.

In the left sidebar, open “GameScene.swift”. Delete any excess code until you’re left with this:

import SpriteKit

class GameScene: SKScene {
override func didMoveToView(view: SKView) {


override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
/* Called when a touch begins */

for touch in touches {


override func update(curent Time: CFTimeInterval) {
/*Called before each frame is rendered */

Let’s begin placing a sprite! A sprite is a 2D bitmap graphic that’s part of a larger scene. On a new line above override func update(currentTime: CFTimeInterval) {, add in a function using the keyword func. Name the function spawnSprite.

func spawnSprite(){


In order to spawn a sprite, you also need to add in a variable using the keyword var. On a line below import SpriteKit, create the variable player, and set it equal to SKSpriteNode:

var player = SKSpriteNode?()

Add spawnSprite() on a line below override func didMoveToView(view: SKView) {. This will call the spawnSprite function, which will then create a sprite.

In addition, within the spawnSrite function, write this line:

player = SKSpriteNode

At the end of the line, in parentheses, you can add different items. For this example, let’s specify the color and size of our sprite. Insert the following into parentheses: color: UIColor, size: CGSize.

We’ll set the User Interface (UI) Color first. Below var player = SKSpriteNode?(), create the new variable var playerColor, and make it equal to UIColor. At the end of that line, insert: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat).

Editing the Red, Green, and Blue (RGB) values allows us to manipulate the color. Replace the CGFloat after red with 1. As well, replace the CGFloat after green and blue with 0.5. Alpha refers to the transparency. Give alpha the value 1.0.

We can also decide the size of our sprite by declaring a new variable. Let’s call it playerSize. Make the variable equal to CGSize. In parentheses, you can set the width and height to values such as 50:

var playerSize = CGSize(width: 50, height: 50)

Then, in the spawnSprite function, replace UIColor with playerColor. Likewise, replace CGSize with playerSize. You may be thinking: why create new variables rather than setting the specifications in the function itself? Well, if you need to tweak your values later, they will be easier to find.

As such, our sprite has a color and dimensions. How about a position? On a new line within the same function, write:


As you can see whilst typing “position”, it is a CGPoint. Thus we have to set our sprite position equal to CGPoint. Furthermore, we can set our sprite’s position inside parentheses after CGPoint. For instance, for our sprite to be positioned in the center of the screen, add onto the existing line so it looks like so:

mySprite?.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY

But we’re not done yet! we need one more line in our function:


Run the simulator, and you will see a salmon square appear on the display.

We can manipulate the colors even more! Change the Green and Blue values of playerColor from 0.5 to 0.0. Additionally, change the Red value to 0.85. If we left the value at 1, we would get a standard red color. By making the value not quite 1, our color and therefore game are more unique.

Let’s also edit the background color. Declare a new variable backgroundColorCustom, and make it equal to UIColor. Set the RGB values to 0.2. Set the alpha value to 1.0. Note that these values are CGFloats.

var backgroundColorCustom = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1.0)

Then, in the override function didMoveToView, write a new line:

self.backgroundColor = backgroundColorCustom

To manipulate our color further, we can add a blue. Declare another variable colorBlue. Use this format:

var colorBlue : CGFloat = 0.0

Also have:

var floatColorAdd : CGFloat = 0.0

Next, we can have the color of our sprite alter slightly whenever the display is touched. To achieve this, type the next line underneath for touch in touches {:

colorBlue = colorBlue + floatColorAdd

player?.color = UIColor(red: 0.8, green: 0.0, blue: colorBlue, alpha:

To test the code, run the simulation. Every time you click on the display, the square will become more purple-ish.

We can actually take this concept to another level. For example, declare two new variables:

var colorRed : CGFloat = 0.85
var floatColorSubstract : CGFloat = 0.05

In the override function touchesBegan, change the Red value from 0.8 to colorRed. In addition, below colorBlue = colorBlue + floatColorAdd, type:

colorRed = colorRed - floatColorSubtract

By running the simulation and clicking on the display, you will notice the square’s changing color more rapidly from red to blue. This is because we are both adding blue and subtracting red. The ability to change color is useful when you’re a game designer because it gives you the ability to mimic nature. Just like some animals change color when they are threatened, so can characters in your game. This is just one of the many benefits of being able to manipulate colors in XCode.

To learn even more coding for FREE, check out our 30-minute introductory course here:

Make an iPhone App in Minutes in XCode: Swift Crash Course (Free Tutorial)

iPhone apps are the rage these days. In this tutorial, you’ll learn how to make an app in just minutes! For more FREE coding lessons, check out our 30-minute beginners course here:

We’ll also go over how to store items in a variable and set up a print button. Once you have XCode open, go to iOS > Application, and open up a Single View Application. For Product Name, type in “Simple Name app for iPhone p00”.

p00 is the production number, which are helpful to add whenever you are prototyping. Click Next and then Create.

In the left-hand sidebar, go to Simple Name app for iPhone p00 >Main.storyboard. Main.storyboard is where we can drag our elements visually onto the screen.

Click on the background so that it is outlined in blue. In the right-hand sidebar, change the size to “iPhone 5.5-inch”. This way our design will run on the simulator. You can also change the background color to, for instance, lead.

In the bottom right corner, enter “text” into the search bar. Drag and drop the Text Field element that appears onto the iPhone display. This is where a user will be able to input their name. Today we’ll learn how to transfer the input name from the Text Field all the way down into a label.

You can play around with the design of the box like I did: in the right sidebar, select the leftmost Border Style. In the colors tab that appears, click on the second icon from the left. In the Gray Scale Slider, make the brightness 95%. Also make the background color mercury.

Furthermore, in the right sidebar, go to Font, and select Custom. Below that, in Family, you are able to select a font, such as Futura. I’m using a font size of 40 and centering the text. Click Done when you’ve settled on a font style.

Beside “Placeholder” in the same sidebar, write “Enter Name”. That text will show up on the iPhone display.

Additionally, we’ll add in a button. In the bottom right corner, enter into the search bar “button”. Drag and drop the Button element onto the display, beneath the placeholder. Drag the corner of the button to resize it until it is the same width as the placeholder. Blue lines (rulers) will show up to help you measure an accurate size.

In the right sidebar, change the font of the text in your button to your desired font. I have selected Futura, size 67. In the right sidebar, just above where you determine your font, there is a bar saying “Button”, which represents the text inside the button. Change it to “Print Name”, and center it.

To set the background color of the button, scroll down in the right sidebar, and click on “Background”. Then go to the crayon box, and make the background tangerine. Close the Colors tab.

In the right sidebar, click on the Text Color bar. Let’s change the color of the text to lead.

Our third element is a label. In the bottom right corner, enter into the search bar “label”. Drag and drop the element onto the display, beneath the button. Resize it so that it has the same width as the button. For this example, let’s change the text “Label” to “Result” and center it. Also, let’s make the font of the text be Futura, size 35.

Now in the header, click on the assistant editor button, whose icon is two overlapping circles. Click on the rightmost icon in that header to remove the rightmost sidebar from the screen.

When you make something with XCode, you need to drag the items from the display into the code. In this case, we need to take in the data that the user will input, so we need to add a connection that is outlet.

To start, add some empty lines below the code line class ViewController: UIViewController {. Select the Enter Name placeholder, and drag it below that code line. On the tab that pops up, select “Outlet” for the Connection because we need to take in data that a user will enter. Name the object “txtEnterName”. Click Connect, and the following line will appear on your screen:

@IBOutlet weak var txtEnterName: UITextField!

In terms of the button, drag and drop it on a line above the final closing bracket of the entire code. Because we want this object to do something, we have to set its connection to “Action”. Give it the name “btnPrintNameACTION”. Click Connect to see the following appear:

@IBAction func btnPrintNameACTION(sender:
UIButton) {

Lastly, drag the label beneath the line @IBOutlet weak var txtEnterName: UITextField!. Set its connection to “Outlet”, and name it “lblName”. By clicking Connect, you will see:

@IBOutlet weak var lblName: UILabel!

Below that, we need to add in a variable, which is like a box into which you can put a piece of data. Using the keyword var, create the variable userName. Note that for the naming of variables, I am using camel casing, as per convention. In lower camel case, the first letters of every word after the first word in a name are capitalized. In addition, we can force the variable to be an empty string using the following format:

var userName : String = ""

When we print the button, we can add it in as a separate function. Above the last closing bracket, create a function like so:

func namePrintingLogic(){


To call that function, add namePrintingLogic() on a line above the closing bracket of the @IBAction function.

In the bottommost function, write the following line of code:

lblName.text = userName

But we have yet to specify the userName! On a new line above the previous one, type:

userName = txtEnterName.text

To summarize: a user enters a name. The user selects “Print Name”. The text will be stored in userName.

Load your simulator, and our display will appear. Click on Enter Name, and type in a name, such as “Mammoth Interactive”. Click Print Name to see “Mammoth Interactive” replace “Result”.

Congrats! I can’t wait to see the apps you create. To learn even more coding for FREE, check out our 30-minute beginners course here: