iOS software development kit (iOS SDK)
What is the iOS software development kit (iOS SDK)?
The iOS software development kit (iOS SDK) is a collection of tools for the creation of apps for Apple's mobile operating system (OS).
Originally known as the iPhone SDK, the iOS SDK provides a comprehensive set of libraries, frameworks, application programming interfaces (APIs) and other resources that developers can use to build apps for iOS and iPadOS devices. They can also use the SDK to create apps for Mac computers with Apple Silicon. Because the apps run in their native iOS format, they don't have to be modified for macOS.
Apple typically releases a new version of the iOS SDK when it updates the iOS and iPadOS operating systems. For example, when Apple released iOS 17 and iPadOS 17, the company also made the iOS 17 SDK available to developers. The iOS SDK can be used for both the iOS and iPadOS platforms because they share many of the same technologies.
The SDK releases are also tied to Xcode releases. Xcode is Apple's integrated development environment (IDE) for building, testing and distributing apps for macOS, iOS, watchOS and tvOS. Each Xcode release includes a specific set of SDKs that target the Apple platforms. For example, the following Xcode releases each include a different set of SDKs:
- Xcode 15.0.1 includes SDKs for iOS 17, iPadOS 17, tvOS 17, watchOS 10 and macOS Sonoma 14.0.
- Xcode 14.2 includes SDKs for iOS 16.2, iPadOS 16.2, tvOS 16.1, watchOS 9.1 and macOS Ventura 13.1.
- Xcode 13.4.1 includes SDKs for iOS 15.5, iPadOS 15.5, tvOS 15.4, watchOS 8.5 and macOS Monterey 12.3.
- Xcode 12.5 includes SDKs iOS 14.5, iPadOS 14.5, tvOS 14.5, watchOS 7.4, and macOS Big Sur 11.3.
There have only been a few Xcode releases, but it's enough to demonstrate how SDK releases coincide with Xcode releases. No matter what the release, Xcode always includes a specific set of SDKs. Developers can download the latest Xcode release from the Apple App Store for free. They can also download earlier Xcode editions from the Apple Developer website, making it possible to work with previous SDKs.
To support iOS development, Xcode provides numerous tools that can be used in conjunction with the iOS SDK. The IDE includes code editors, visual editors, debugging tools, simulators, templates, performance assessment tools and more. The following figure shows Xcode with a newly created project based on the iOS SDK. Here, developers can easily access the app's source files, edit those files, preview code changes, configure app properties, test the app code and perform a variety of other operations.
Like other Apple SDKs, the iOS SDK incorporates the Foundation framework, which includes a core set of classes, protocols and data types that provide a base layer of functionality for building iOS apps. For example, the framework supports functionality such as text processing, networking, storage and persistence, sorting and filtering, and date and time calculations. The framework also includes app-related functionality that facilities task management, notifications, resource access, scripting and other aspects of app development.
Although the Foundation framework is critical to app development, the iOS SDK lets developers do more than simply deliver basic functionality. For example, they can add merchandising capabilities to their apps to support in-app subscriptions or purchases. They can also integrate maps into their apps, build widgets to display important information, add Siri integration or create intelligent features that use on-device machine learning. Developers have lots of flexibility when it comes to iOS development, with numerous options from which to choose.
Because Xcode and the iOS SDK are free, developers can build and test apps without charge. However, they must participate in the Apple Developer Program to distribute those apps through the App Store. The program is $99 per year for an individual or organization membership, and $299 per year for an enterprise membership. In addition, Apple places numerous restrictions on its App Store apps. Developers should fully understand those restrictions before submitting their apps. All apps submitted to the App Store are subject to Apple's approval.
Learn about essential mobile app development tools and programming languages and compare iPhone and Android for business.