Top-notch video tutorials for Swift developers

Curious? Get three great screencasts FREE

Thousands of developers use NSScreencast to stay on top of iOS development.

ExxonMobil
Venmo
Thoughtbot
The Working Group
Medium

Updated Regularly

Bite-sized videos on iOS development.

The iOS landscape is large and changes often. With short, bite-sized videos released on a steady schedule, NSScreencast helps keep you continually up to date.

Up to date with Xcode 12 and iOS 14

We cover the latest and greatest to get you up to speed quickly.

UIKit, SwiftUI, and macOS

In our catalog you'll find a wide variety of topics and UI frameworks.

Swift Language

Increase your knowledge of the Swift language and take advantage of new Swift language features as they are developed.

High Quality Videos

We stress the details. Each screencast is carefully produced in HD quality.

Short and Focused

We don't want to waste your time. Most videos are between 10 and 20 minutes long.

Any Device

Stream on the web or use our native apps for iOS or the tv.

Team Plans

Get NSScreencast for your whole team. Discounts start at 5 seats

Have I mentioned lately how awesome NSScreencast is? No? Worth the subscription. Check it out if you’re an iOS developer. Or even if you’re not and you want an example of how to do coding screencasts well.

Got tired of dead-end googling so I checked to see if @NSScreencast had covered what I was looking for. Of course he had, 4 years ago. Should have checked there first.

One 13-minute episode of @NSScreencast just paid for the yearly subscription fee in amount of time saved. Do it.

Seriously great stuff even for seasoned developers. I’ve learned a good amount from Ben’s videos.

You can really expand your development horizons in just a few minutes a week with NSScreencast.

Random PSA for iOS developers: @NSScreencast is a great resource, and worth every penny. It’s high quality, practical, and honest.

Can’t say enough good things about @NSScreencast There is gold in the Road Trip DJ Series.

I just reuppped my subscription to @NSScreencast. [An] indespensible resource if you’re into iOS or Mac Development.

Just finished @NSScreencast series on Modern CollectionViews. Strongly recommended. Programmatic UI, nicely structured code, easily approachable explanation style. 👌

Showing episodes 145 - 168 of 491 in total
  • #347

    Unified Logging and Activity Tracing

    Activity Tracing can help give you the big picture when looking at logs. By marking logical activities with os_activity, you can create a hierarchy of tasks that roll up the log statements that occurred for that activity. Unfortunately, using os_activity from Swift is not really supported yet, so we will see how to use a wrapper to make it a little easier, then dive in deep into C interop to see how all the pieces work.

  • #346

    Unified Logging and Activity Tracing

    Console.app is a nice way of viewing logs, but most of this power (and more) is builtin to the log utility from the command line. In this episode we will see how to stream debug logs from the simulator, as well as how to retrieve logs from customer or tester devices out in the field by triggering a sysdiagnose.

  • #345

    Unified Logging and Activity Tracing

    In this episode we talk about public versus private data (and how to change the defaults). We also look at using the log command line tool for a deeper understanding of the unified logging system and how we can tweak it for our needs.

  • #344

    Unified Logging and Activity Tracing

    In this episode we show how you adopt the Unified Logging framework in code by using the OSLog type to define your log subsystems and categories, and how to use os_log to actually log events and messages.

  • #343

    Unified Logging and Activity Tracing

    A high level overview of the new Unified Logging system, which covers the benefits of the new system, a high level overview of how it works, and some things to consider when adopting the new system.

  • #342

    Testing iOS Applications

    In this episode we will intercept and stub image requests to prevent our tests from making network calls when interacting with our view controller.

  • #341

    Testing iOS Applications

    When running your unit tests, you may have noticed that your application continues to launch in the simulator. In this episode we'll talk about why that can be problematic and what you can do to mitigate this issue from interfering with your tests.

  • #340

    Testing iOS Applications

    We continue testing our view controller, this time focusing on the UITableViewDataSource implementation. Testing the number of rows returned is easy, but we can also test that the controller returns the appropriate cell and that its outlets are configured properly.

  • #339

    Testing iOS Applications

    Testing view controllers can sometimes be challenging. In this episode we will write some tests that verify a view controller loads its data properly from the API client. We will add additional tests to verify that a loading indicator is shown.

  • #338

    Testing iOS Applications

    XCTAssertion functions are a foundational part of your test suite but sometimes can be too low-level. You want to know exactly why a test failed, not that "2 was not less than 1." By extracting helper methods to do assertions for you, you can give groups of assertions meaning, and make it easier to reason about your tests and why they might be failing.

  • #337

    Testing iOS Applications

    When refactoring tests, you end up moving critical assertion logic outside of the test method. This can cause our tests to fail in the wrong spot. This becomes worse if multiple methods share test logic. When a test fails you want to know exactly where the failure occurred. By leveraging #file and #line expression literals we can move the failure back to where it should be, within the test method. We will also see how we can continue to use expectations outside of a test instance.

  • #336

    Testing iOS Applications

    In this episode we look at Xcode's support for measuring Code Coverage, a term that describes how much of your code is exercised during a test run. Using this tool you can see where your deficiencies are and add tests as needed to cover more of your production code with tests.

  • #335

    Testing iOS Applications

    In this episode we implement OHHTTPStubs, a library that can be used to intercept and stub out network calls made with URLSession. Using this technique we can avoid hitting the network for our tests. We can also simulate different responses that are difficult or impractical to simulate in a real request.

  • #334

    Testing iOS Applications

    In this episode we talk about testing requests against a real API. For this we will build an app called CoinList that leverages the Crypto Compare API to fetch stats about crypto currencies.

  • #333

    Testing iOS Applications

    In this episode we cover the concept of expectations, which enables us to test asynchronous code, properly timing out and failing a test if the expectation is never fulfilled.

  • #332

    Testing iOS Applications

    In this episode we use mocks and stubs to setup collaborating objects to inspect the behaviors of tested objects.

  • #331

    Testing iOS Applications

    In this episode we go over examples of value based testing used for easily testable systems.

  • #330

    Testing iOS Applications

    Running your tests in Xcode Playgrounds can be a great way to get rapid feedback on your changes. It is a useful way of practicing testing and experimenting with APIs that you are not familiar with. In this episode we will see how to run the test suite and how to enhance the feedback we get by observing the test results as they are run.

  • #329

    Testing iOS Applications

    If you did not check the box "Include Unit Tests" when first creating your project (or perhaps you want to add a separate testing target), this screencast will show the steps of how to get it set up from scratch. It also covers how to set up a scheme dedicated to building your tests, and choosing which tests to run automatically.

  • #328

    Testing iOS Applications

    XCTest is a test framework built into Xcode. In this episode we'll see the mechanics of how this works, how your test bundle sits alongside your app in Xcode. We'll look at the structure of test cases, and the assertions we will use to verify behavior of our code.

  • #327

    Testing iOS Applications

    Introduction to the Testing iOS Applications series

  • #326

    Swift 4 key paths allow us to refer to properties of Swift types in a dynamic way, enabling us to program against them without knowing the exact property in question. In this episode we will see how they are created, how they are used, and see examples of them in action with Key-Value Observing and Autolayout.

  • #325

    Setting up a New Mac for Development

    In this episode we setup our Xcode preferences and themes.

  • #324

    Setting up a New Mac for Development

    In this episode we install homebrew, a popular package manager. We use it to install Macvim and ruby. We also setup Postgres with Postgresapp.