IBM Developer Skills Network

Build Swift Mobile Apps with Watson AI Services

Build three AI iOS apps in the cloud by using Watson services so that you can analyze the emotion and sentiment in text, recognize what's in a photo, and convert text to speech.

Start the Free Course

About this course

In this short course, you'll learn how to write three mobile apps in Swift on iOS that use the IBM Watson™ Cloud Developer SDK to access the Watson service.

You'll learn how to write those applications by using the following Watson services:

  • Natural Language Understanding: A collection of APIs that provide text analysis by processing natural language. For this course, you’ll use this service to identify the sentiment and emotion in text.
  • Visual Recognition: Analyzes images for scenes, objects, people, signs, and other content. With this service, you’ll provide a URL to an image that your application will identify.
  • Text to Speech: Synthesizes natural-sounding speech from input text in a variety of languages and voices that speak with appropriate cadence and intonation.

IBM Watson AI services, which are hosted on IBM Cloud, can be accessed through RESTful API calls. You’ll learn how to call these services from your Swift application.

Course outline

  • Watson AI services overview
  • Lab 1: Analyze sentiment
    • Watson Natural Language Understanding service
    • Create an iOS application in Swift
    • Install Carthage and add the Watson SDK to your project
    • Create the Watson service and analyze sentiment
    • Lab 1 quiz
  • Lab 2: Recognize images
    • Watson Visual Recognition service
    • Create an iOS application in Swift
    • Add the Watson service to the mobile app
    • Detect default classifications of an image
    • Detect faces in an image with a classification “person”
    • Run the Watson application
    • Lab 2 quiz
  • Lab 3: Convert text to speech
    • Watson Text to Speech service
    • Create an iOS application in Swift
    • Add the Watson service to the mobile app
    • Convert text to speech
    • Lab 3 quiz
  • Final exam

Prerequisite skills

To be successful in this course, you should have experience developing simple mobile applications in Swift and iOS. This course does not teach the basics of Xcode and Swift application development. See the Xcode documentation if you need more information.

Prerequisite software

You need an IBM Cloud account.

You also need the following software:

Frequently asked questions

Can I take this course on Windows?

No. You must have a Mac to complete the labs in this course. You must also have experience with Swift and Xcode.

What will I get after I complete this course?

You will get a course completion certificate. Please note that there is no badge offered for this course.

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Firefox, or Safari, or with Internet Explorer version 9 and later.

See our list of supported browsers for the most current information.

Course instructors

Marek Sadowski

Marek Sadowski

Marek Sadowski is a full stack developer advocate, a robotics startup founder, and an entrepreneur. He has 20 years of experience in consulting large enterprises in USA, Japan, Europe, Middle East, and Africa. As a graduate from the International Space University, Marek pioneered in a research on VR goggles for the virtual reality system to control robots on Mars in NASA Ames. He founded a startup to deliver robotics solutions and services for industries. Marek moved to Silicon Valley to promote IoT and robotics solutions driven by AI and IBM Cloud.

Lennart Frantzell

Lennart Frantzell

Lennart works with blockchain, machine learning, and IBM Cloud. A Silicon Valley veteran, he is in love with Swift and Python and loves building and hacking anything on the cloud. He speaks at meetups, holds Workshops and on weekends, to avoid doing yardwork at his bungalow in Silicon Valley, attends hackathons.

Course staff

Michelle Carey

Michelle Carey

IBM Courseware Developer

Cesar Cantua

Cesar Cantua

IBM Courseware Developer