Learn Swift and iOS Development
Master iOS development through in-depth tutorials and comprehensive courses on Swift, SwiftUI, UIKit, Core Data, and more.
Master iOS development through in-depth tutorials and comprehensive courses on Swift, SwiftUI, UIKit, Core Data, and more.
Discover the newest tutorials on Swift and iOS development
Discover the newest tutorials on Swift and iOS development
Showing 565 to 576 of 716 posts
Git is one of the most popular source code management systems available to developers. It was created by Linus Torvalds more than a decade ago. It is easy to get up and running with Git, but it takes time and a bit of learning to become familiar with its more subtle and more advanced features.
in Tools
Now that you know how to enable code coverage in Xcode, you may want to export the test results or generate a report you can share. Even though Xcode currently does not offer this option, nothing stops you from using the data Xcode generates.
in Testing
One of the announcements that excited me most during last year's WWDC was Xcode's built-in support for code coverage. As of Xcode 7, you no longer have to jump through a bunch of hoops to find out how well your test suite has covered your code.
in Testing
Yesterday, I wrote about App Transport Security and I showed you how to configure a project for App Transport Security. Despite Apple's bold move to enable App Transport Security by default for any build created with Xcode 7 and higher, many developers are confused, disabling it altogether.
in Security
Apple has always been dedicated to protecting the privacy of its customers. To this end, Apple added App Transport Security to further improve the privacy and security of applications that connect to the web. App Transport Security is enabled by default for every application that is built against the iOS 9 SDK or the macOS 10.11 SDK. Even though it is currently possible to opt out of App Transport Security, Apple plans to require App Transport Security for every build submitted to the App Store starting 1 January 2017.
in Security
Even though Core Data is pretty performant, some operations can take a while to complete. When such an operation is performed on the main thread, it blocks the main thread. The result is an unresponsive user interface, which you want to avoid at any cost.
in Core Data
In yesterday's tutorial, I showed you how to use closures as an alternative to delegate protocols. Closures—or blocks in Objective-C—are incredibly useful and I frequently use them as an alternative to existing design patterns. One such pattern is the target-action pattern.
in Patterns
Most mobile applications connect to one or more services in the cloud. The services you connect to can differ depending on the development phase the project is in. For example, you may be using a staging environment during development, a testing environment during beta testing, and a production environment for the App Store. Switching between environments can be cumbersome and prone to errors.
Creating layout constraints in code is not pretty. It is not always intuitive and it is verbose, even if you decide to use Apple's Visual Format Language.
in Auto Layout
Core Data is a fantastic framework and I love using it. The framework is sometimes accused of being slow and performing badly with large data sets, but the truth is that the developer is usually the one to blame.
in Core Data
In this tutorial, I zoom in on prototyping constraints, a concept that frequently confuses developers new to Auto Layout. But before we can discuss prototyping constraints, we need to understand the difference between implicit and explicit constraints.
in Auto Layout
Intrinsic content size is a concept that many developers confuses or, even worse, don't know about. In this tutorial, you learn what intrinsic content size is and how you can use it to your advantage when creating layouts that are powered by Auto Layout.
in Auto Layout