Что такое ios sdk
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
IPhone SDK
iOS SDK (ранее iPhone SDK) — это набор средств для разработки программного обеспечения,выпущенный в марте 2008 года корпорацией Apple, который помогает разработчикам создавать собственные приложения для устройств и платформ Apple для iOS. [Источник 1]
Содержание
История
17 октября 2007 года в открытом письме, опубликованным в блоге «Горячие новости» компании Apple,Стив Джобс, основатель компании, анонсировал SDK, который должен был быть предоставлен сторонним разработчикам в феврале 2008 года. [Источник 2] Однако инструментарий вышел лишь 6 марта. Основной функцией IOS SDK является возможность разрабатывать приложения под iPhone, iPod Touch и iPad.
В начале апреля на пресс-конференции в калифорнийской штаб-квартире компании Apple Стив Джобс сделал несколько громких заявлений. Помимо анонсирования нового программного обеспечения для iPhone, было объявлено о выходе в свет официального набора для разработчиков прикладных программ (SDK) для Apple iPhone, а точнее — его бета-версии. SDK ждали с нетерпением, ранее в прессу неоднократно просачивались сведения о его выходе в начале-середине лета. Появление же в начале апреля вызвало настоящий ажиотаж — всего за первые две недели релиза с официального сайта Apple Developer Connection было загружено более 100 000 экземпляров комплекта. Даже если учесть то, что большая часть, от 50 до 90 процентов от общего числа скачавших SDK, делали это из простого интереса («посмотреть, что оно из себя представляет»), число «результативных» загрузок все равно впечатляет. Всего 1000 разработчиков способны написать 1000 различных приложений в течении полугода. Судя по ажиотажу по отношению к SDK со стороны IT-сообщества, владельцы iPhone не скоро начнут жаловаться на недостаток прикладного программного обеспечения для своих телефонов.
Особенности
Комплекты для разработки программного обеспечения могут быть лицензированы поставщиком программного обеспечения. Как правило, они предназначены для оказания помощи в разработке для конкретной платформы, которая происходит за пределами данной компании, например, когда отдельные разработчики представляют приложения или инструменты для использования с конкретной платформой.
Программист, как правило, получает SDK непосредственно от разработчика целевой технологии или системы. Часто SDK распространяется через Интернет. Многие SDK распространяются бесплатно для того, чтобы поощрить разработчиков использовать данную технологию или платформу.
Разработчики могут устанавливать любую цену, превышающую минимальную установленную, за их приложения, которые будут распространяться через App Store, из которой они будут получать 70%. Кроме того, они могут распространять своё приложение бесплатно, в этом случае они должны платить только членские взносы, которые составляют 99 долларов в год. [Источник 3]
Состав SDK
Apple iOS использует вариант того же ядра XNU, что и Mac OS X.
SDK разбита на следующие наборы: [Источник 4]
Наряду с набором инструментов Xcode, SDK содержит iPhone Simulator, используемый для имитации внешнего вида iPhone на компьютере разработчика, ранее называвшийся «Aspen Simulator». [Источник 5]
Подробная структура SDK
Принцип работы с SDK
Для работы с программными средствами SDK, необходимо проделать несколько этапов: скачать с официального сайта SDK, ознакомиться с руководством, написать само приложение (или приложения), продать их тысячными тиражами и получать с нее (них) прибыль. Но не все так просто, как может показаться на первый взгляд. При попытке практической реализации сценария можно неизбежно столкнуться с некоторыми особенностями.
Что касается недоработанности представленного SDK, то, одной стороны, стоит отметить, что уже на момент речи Стива Джобса компании Electronic Arts и Sega представили игры, разработанные с использованием нового пакета. Это может свидетельствовать о том, что SDK, во-первых, вполне жизнеспособен, а во-вторых — перспективен, раз такие монстры игрового рынка выделили на его изучение временные и людские ресурсы. С другой стороны, компания Adobe распространила заявление, в котором говорится о текущей невозможности портировать Flash-плеер под iPhone. [Источник 6]
Альтернативные способы разработки
Программы для iPhone можно писать и без SDK, т.е. даже работая на компьютере с операционной системой Windows. Разработчику для создания полнофункциональных приложений понадобятся ASP.Net, C#, ASP.Net AJAX и расширения WebKit. Правда, в этом случае коммерческого будущего у получившегося продукта не будет — AppStore просто-напросто не пропустит для публикации ПО, созданное без использования SDK.
Во-вторых, еще до выхода официального iPhone SDK от Apple программисты могли писать приложения под «яблочный телефон» с помощью неофициального SDK. Он был подготовлен Лукасом Ньюманом (Lucas Newman), позже нанятого на работу компанией Apple, и Беном Столхудом (Ben Stahlhood), из-под руки которого вышло исчерпывающее руководство по разработке приложений с помощью среды разработки XCode 3.0 (естественно, на ПК под управлением Mac OS X 10.5 «Leopard»).
What’s New in the iOS SDK
Learn about the key technologies and capabilities available in the iOS SDK, the toolkit you use to build apps for iPhone, iPad, or iPod touch. For detailed information on API changes in the latest released versions, including each beta release, see the iOS & iPadOS Release Notes.
iOS 15 SDK
With the iOS 15 SDK, you can build apps that create new kinds of shared experiences with SharePlay and the Group Activities API. Swift 5.5 introduces concurrency support, built into the language with async/await and Actors. Focus and notifications help users concentrate on what matters most, and provide new APIs for your app to differentiate which notifications users need to see most. ARKit and RealityKit provide powerful customization capabilities to help your AR experiences look even more convincing. Create ML gets easier and more powerful with Swift and playground integration, as well as on-device training. And web extensions come to Safari on iOS and iPadOS for even more flexible and powerful browsing experiences.
SharePlay and Group Activities
SharePlay offers a new way for people to share your app. Media streaming apps can let users share content through the new Group Activities API with full-fidelity video and all syncing handled by the system. And for shared experiences beyond media streaming, the GroupSessionMessenger API offers a secure data channel that syncs information between multiple instances of your apps across multiple users.
Focus and notifications
With Focus, users can have notifications delivered at times that work best for them, and with the Interruption Levels API, you can provide more nuanced delivery with one of four interruption levels (including new Passive and Time-Sensitive levels). Notifications from communication apps now have a distinctive appearance, and these apps can — with user permission — sync their status to reflect the user’s current system-level Focus status.
SwiftUI
SwiftUI brings new features, such as improved list views, better search experiences, and support for control focus areas. Gain more control over lower-level drawing primitives with the new Canvas API, a modern, GPU-accelerated equivalent of drawRect. And with the new Accessibility Representation API, your custom controls easily inherit full accessibility support from existing standard SwiftUI controls.
UIKit
UIKit introduces sheet presentation controllers, which let you present your view controller as a customizable, resizable sheet. UIKit provides new APIs for configuration buttons, displaying pop-up buttons, a new chromeless bar appearance, image decoding, and creating a thumbnail version of an image. And starting in iOS 15, drag and drop on iPhone is enabled by default.
Keyboard layout guides
New keyboard layout guides give your app an easy way to adapt your app’s layout based on the keyboard’s size and position. Support for the new tracking layout guide in UIKit automatically enables and disables constraints when the keyboard is docked to the bottom of the screen, undocked, or floating over your app, letting you provide a great text input experience.
Core Location UI
CoreLocationUI is a brand-new framework that introduces the location button, which lets people grant your app temporary authorization to access their location at the moment it’s needed. This button interacts securely with Core Location to request authorization to access location data.
Accessibility
The Accessibility framework introduces audio graphs, a new way to represent data in your charts and graphs that allows VoiceOver to construct and play an audible representation of it. This framework also adds an API to query information relevant for MFi hearing devices, such as streaming preferences, streaming capabilities, and paired hearing devices.
Augmented Reality
ARKit 5
ARKit 5 brings Face Tracking support to the Ultra Wide camera in the latest iPad Pro (5th generation), letting it track up to three faces at once using the TrueDepth camera to power front-facing camera experiences like Memoji and Snapchat.
RealityKit 2
Turn photos from your iPhone or iPad into high-quality 3D models that are optimized for AR in minutes using the new Object Capture API on macOS. And brand-new capabilities give you more control over your AR objects and scene with custom render targets and materials, customizable loading for assets, player-controlled characters, and more.
Machine learning
Create ML
Create ML is now available as a Swift framework on iOS and iPadOS, in addition to macOS. You can programmatically experiment and automate model creation in Swift scripts or playgrounds. Build dynamic app features that leverage Create ML APIs to train models directly from user input or behavior on-device, allowing you to provide personalized and adaptive experiences while preserving user privacy.
Create ML adds the Hand Pose and Hand Action classifier tasks to both the Create ML API and the developer tool included with Xcode. These classifiers recognize hand positions in still images and hand movements in videos, respectively.
Core ML
Sound Analysis. Sound Analysis adds a new sound classifier that your apps can use to identify over 300 unique sounds from live audio or an audio file. A new time window duration API gives you tune prediction accuracy versus time precision.
Games
GameKit
GameKit provides new ways to discover and invite players to participate in a game. Players can now invite contacts, message groups, and anyone with a phone number or email address. Players see the status of other players receiving and accepting invitations and, optionally, start with a minimum number of players while waiting for others to join.
Game Controller
The Game Controller framework adds virtual controllers — software emulations of real controllers that users interact with similarly to real controllers. You choose the configuration and the input elements to display specifically for your game.
StoreKit 2
StoreKit’s new In-App Purchase API provides a simple, powerful, and secure way to work with your app’s products and transactions. The new API takes advantage of modern Swift features, such as concurrency, to simplify your in-app purchase workflow. Its cryptographically signed transaction and subscription information uses the JSON Web Signature (JWS) format, which is a secure and simple way to parse on the client. A new entitlements API makes it easy to determine which content and services your app should unlock for users. Use the new StoreKit API throughout the in-app purchase process — from displaying in-app purchases, to managing access to content and providing customer service within your app.
Apple Pay
Give users more options by adding coupons, deferred payments, recurring payments, shipping dates, and read-only pickup addresses to your Apple Pay transactions.
Safari Web Extensions
Safari Web Extensions use HTML, CSS, and JavaScript to offer powerful browser customizations and new functionality across the web. With iOS 15, Safari Web Extensions are now available on all Apple devices that support Safari.
Screen Time
Apps with parental controls can support a wider range of tools for parents with the Screen Time API. You can use key features, such as core restrictions and device activity monitoring, in a way that puts privacy first.
ManagedSettings and ManagedSettingsUI. Use ManagedSettings to define usage policies and settings constraints on a parent or guardian’s device and apply them on other devices in the Family Sharing group. ManagedSettingsUI provides an opportunity for you to customize Screen Time API’s shielding views to match your app’s branding and style.
FamilyControls. FamilyControls gives control to parents or guardians in Family Sharing groups by requiring them to authorize parental controls on a device signed into a child’s iCloud account. FamilyControls provides a secure environment where only family members in the Family Sharing group can authorize access. It also provides a secure way to select apps, web domains, and categories that protects the user’s privacy.
DeviceActivity. Device Activity provides a privacy-preserving way for an app to monitor a user’s app and website activity.
ShazamKit
Enrich your app experience with audio recognition. Match music to the millions of songs in Shazam’s vast catalog or make any prerecorded audio recognizable by building your own custom catalog using audio from video, podcasts, and more.
MusicKit
Easily integrate Apple Music into your iOS and iPadOS apps using Swift. The MusicKit framework provides a new model layer for accessing music items in Swift, as well as playback support so you can add music to your app.
Nearby Interaction
Build apps that interact with accessories simply by being in close proximity to an Apple device that includes the U1 chip. Taking advantage of Ultra Wideband technology lets you create more precise, directionally aware app experiences.
HomeKit
HomeKit APIs in iOS 15 SDK automatically work with Matter-enabled accessories. Start testing your smart home apps with Matter, the unifying open-connectivity standard designed to increase the compatibility of smart home accessories, so they work seamlessly with your devices.
HealthKit
HealthKit adds the ability to request one-time access to a verifiable clinical record. These records bundle information about the user’s identity with clinical data, like an immunization record or a lab test result. The organization that produced the data cryptographically signs the bundle, which HealthKit apps can access and verify.
CloudKit
CloudKit builds on top of the new async/await support in Swift 5.5, making the asynchronous API easier to use and more configurable. CloudKit adds Record Zone Sharing, which builds on the existing sharing infrastructure to let users share the entire contents of a record zone with other iCloud users. You can now encrypt a record’s values using new APIs on CKRecord, helping you offer strong privacy guarantees to your users. The new CloudKit Schema Language allows you to retrieve and upload textual representations of your CloudKit schema, which means you can now version it using the same tools as your app’s source code.
CloudKit Console. CloudKit improves your workflows with a brand-new CloudKit Console, an intuitive web-based control panel that you can use throughout the development lifecycle of your app, and cktool command line interface.
Core Data. Core Data provides new APIs that facilitate the sharing of managed objects with other iCloud users, specifically for CloudKit-backed persistent stores. In addition, you can now choose to encrypt an entity’s attributes before they’re saved to iCloud. Spotlight integration has also been enhanced, with additional APIs that allow for fine-grained control over what data is added to the index and when.
Virtual conference extension
Apps that provide virtual conference services can use this new app extension in EventKit to integrate directly into users’ calendar events. You’ll be able to provide custom locations for events, a link that lets people join the conference with a single tap, and additional information, like dial-in details.
iOS 14
With the iOS 14 SDK, users can more easily discover your app’s core functionality through app clips. SwiftUI introduces a new app life cycle and new view layouts. It supports the new WidgetKit framework, which allows your app to display information directly on the iOS Home screen. Machine learning adds style transfers and action classification to the models, and offers a CloudKit-based deployment solution. Vision API additions help your app analyze image and video more thoroughly. ARKit advances promote an even tighter integration with the world around the device, and you can include markups in your emails and websites that help Siri Event Suggestions surface your events.
App Clips
An app clip is a lightweight version of your app that offers users some of its functionality. It’s discoverable at the moment it’s needed, fast, and quick to launch. Users discover and open app clips from a number of places, including Safari, Maps, and Messages, as well as in the real world through QR codes and NFC tags. App clips also provide opportunities for users to download the full app from the App Store. To learn how to create your own app clips, see the app clips documentation.
Widgets
Widgets give users quick access to timely, at-a-glance information from your app right on the iOS Home screen. iOS 14 offers a redesigned widget experience. Your app can present widgets in multiple sizes, allow user customization, include interactive features, and update content at appropriate times. To learn about designing widgets, see the Human Interface Guidelines. To learn how to support widgets in your app, see the WidgetKit framework.
SwiftUI
SwiftUI provides a selection of new built-in views, including a progress indicator and a text editor. It also supports new view layouts, like grids and outlines. Grids and the new lazy version of stacks load items only as needed.
Starting in Xcode 12, you can now use SwiftUI to define the structure and behavior of an entire app. Compose your app from scenes containing the view hierarchies that define an app’s user interface. Add menu commands, handle life-cycle events, invoke system actions, and manage storage across all of your apps. By incorporating WidgetKit into your app, you can also create widgets that provide quick access to important content right on the iOS Home screen or the macOS Notification Center. For more information, see App Structure and Behavior.
ARKit
ARKit adds Location Anchors, which leverages the refine location feature in the new Apple Map to enable rear-camera AR experiences in specific geographic locations. A new Depth API lets you access even more precise distance and depth information captured by the LiDAR Scanner on iPad Pro. To learn more about these features, see the ARKit framework documentation.
Machine Learning
Your machine learning apps gain new functionality, flexibility, and security with the updates in iOS 14. Core ML adds model deployment with a dashboard for hosting and deploying models using CloudKit, so you can easily make updates to your models without updating your app or hosting the models yourself. Core ML model encryption adds another layer of security for your models, handling the encryption process and key management for you. The Core ML converter supports direct conversion of PyTorch models to Core ML.
The Create ML app’s new Style Transfer template stylizes photos and videos in real time, and the new Action Classification template classifies a single person’s actions in a video clip. For more information, see the Core ML and Create ML developer documentation.
Vision
With iOS 14, the Vision framework has added APIs for trajectory detection in video, hand and body pose estimation for images and video, contour detection to trace the edges of objects and features in image and video, and optical flow to define the pattern of motion between consecutive video frames. To learn more about these features, see the Vision framework documentation. In particular, read Building a Feature-Rich App for Sports Analysis to find out how these features come together in a sample app.
Natural Language
The Natural Language framework has new API to provide sentence embedding that creates a vector representation of any string; word tagging to train models that classify natural language, customized for your specific domain; and confidence scores that rank the framework’s predictions. For more information, see the Natural Language framework documentation.
App Store Privacy Information
Privacy is at the core of the entire iOS experience, and new privacy information in the App Store gives users even more transparency and control over their personal information. On iOS 14, apps will be required to ask users for permission to track them across apps and websites owned by other companies. Later this year, the App Store will help users understand apps’ privacy practices, and you’ll need to enter your privacy practice details into App Store Connect for display on your App Store product page.
Siri Event Suggestions Markup
You can use the Siri Event Suggestions Markup to provide event details on a webpage and in email. Siri parses travel arrangements, movies, sporting events, live shows, restaurant reservations, and social events. Once parsed, Siri can suggest driving directions, a ride share to a scheduled event, or activation of Do Not Disturb just before a show starts. To learn how to integrate your own events with Siri, see the Siri Event Suggestions Markup documentation.
PencilKit
PencilKit now enables handwriting recognition inside text fields. Using gestures, users can also select or delete text, and join or break up words. You can add data detection to your app, as well as text and shape recognition and selection. For more information, see the PencilKit framework documentation.
Accessibility
A new Accessibility framework lets your app dynamically deliver a subset of accessible content to a user based on context.
MetricKit
MetricKit adds Diagnostics, a new type of payload that tracks specific app failures, such as crashes or disk-write exceptions. For more information, see the MetricKit framework documentation.
Family Sharing for In-App Purchases
Family Sharing is a simple way for users to share subscriptions, purchases, and more with everyone in their household. And with iOS 14, you can choose to offer Family Sharing for your users’ in-app purchases and subscriptions so their whole family can enjoy the added benefits. See the SKProduct and SKPaymentTransactionObserver for the new APIs.
Screen Time
iOS 14 includes Screen Time APIs for sharing and managing web-usage data and observing changes a parent or guardian makes. For more details, see the Screen Time framework documentation.
Uniform Type Identifiers
Use the new Uniform Type Identifiers framework to describe file formats and in-memory data for transfer, such as the pasteboard; and to identify resources, such as directories, volumes, and packages.
File Compression
Use the new Apple Archive framework to perform fast, multithreaded, lossless compression of directories, files, and data in iOS.
Изучение iOS SDK
Хорошее понимание iOS SDK является ключевым моментом при разработке нативных приложений для iOS. Это не только поможет вам выбрать правильные инструменты для решения конкретной проблемы, но также позволит вам не потеряться в десятках платформ, включенных в iOS SDK. В этой статье мы рассмотрим архитектуру iOS и выясним, что работает под iOS-приложениями.
Что такое iOS SDK?
Я уверен, что даже нескольким опытным разработчикам iOS будет сложно определить iOS SDK в одном предложении. SDK акроним расшифровывается как S разработки программного обеспечения K it. IOS SDK содержит инструменты и ресурсы для разработки собственных приложений iOS, а это означает, что SDK позволяет разработчикам разрабатывать, устанавливать, запускать и тестировать приложения в симуляторе iOS и на физических устройствах.
Двумя движущими силами, приводящими в действие собственные приложения для iOS, являются Objective-C и системные платформы для iOS. В предыдущей статье мы исследовали язык программирования Objective-C. В этой статье я хочу исследовать фреймворки, которые поддерживают собственные приложения iOS.
Что такое родное iOS-приложение?
Теперь вы знаете, что такое iOS SDK, но что делает приложение квалифицированным как приложение для iOS? Простой ответ заключается в том, что приложение iOS — это приложение, которое работает на устройстве iOS. Однако это только половина правды. А как насчет веб-приложений, которые запускаются в браузере Safari?
Приложение iOS — это приложение Cocoa, разработанное для платформы iOS. Отлично. Что такое приложение Какао? Приложение с какао определить немного сложнее. Это язык, на котором написано приложение? На самом деле, нет. Это инструменты, с помощью которых создается приложение Какао? Нет. Можно разработать приложение Какао без помощи Xcode.
В этой статье я хочу сосредоточиться на фреймворках, которые используются для создания нативных приложений для iOS. Если вы хотите узнать больше о среде выполнения Objective C, я рекомендую взглянуть на справочник Apple по Objective C или прочитать Руководство по программированию Objective C.
Архитектура iOS
Еще одно отличие от веб-приложений, работающих в браузере Safari, заключается в том, что нативные приложения взаимодействуют напрямую с операционной системой iOS и собственными системными платформами iOS. Операционная система действует как посредник между приложением и базовым оборудованием. Основным преимуществом этого посредничества или абстракции является то, что нативным приложениям не нужно беспокоиться о будущих изменениях оборудования или спецификаций устройств.
Операционная система предоставляет родным приложениям необходимую информацию о возможностях оборудования (есть ли у устройства камера?) И технических характеристиках устройства (работает ли приложение на iPhone или iPad?).
Архитектура iOS может быть разбита на четыре отдельных уровня:
Эта многоуровневая архитектура иллюстрирует этот уровень абстракции, причем более высокие уровни более абстрагированы, а более низкие уровни более фундаментальны и тесно связаны с аппаратным обеспечением. Само собой разумеется, что слои более высокого уровня полагаются на слои более низкого уровня для некоторых своих функций.
Apple рекомендует в максимально возможной степени использовать платформы более высокого уровня, поскольку они часто являются объектно-ориентированными абстракциями структур более низкого уровня. Другими словами, уровни более высокого уровня косвенно взаимодействуют с аппаратными средствами через уровни более низкого уровня, которые по своей природе являются более сложными. Конечно, все еще возможно вернуться к средам более низкого уровня, если структуры более высокого уровня не отвечают вашим потребностям.
Напоминаем, что фреймворк — это каталог, который содержит динамическую разделяемую библиотеку и связанные с ней ресурсы, такие как заголовочные файлы, изображения и т. Д. Фреймворки — это точки доступа к различным системным интерфейсам, таким как адресная книга iOS, устройство Фотопленка и музыкальная библиотека.
Сенсорный слой какао
В предыдущей статье я писал о Cocoa Touch и его отношении к Objective-C. В этой статье я хотел бы обсудить Cocoa Touch с более функциональной точки зрения, как приложения полагаются на слой Cocoa Touch и какова его роль в архитектуре iOS.
Слой Cocoa Touch определяет базовую инфраструктуру приложений и предоставляет ряд жизненно важных технологий, таких как многозадачный и сенсорный ввод.
Как я уже упоминал, приложения для iOS в значительной степени зависят от инфраструктуры UIKit. Нативные приложения iOS не могут работать, если они не связаны с UIKit и платформами Foundation.
Платформа UIKit или UIKit адаптирована для платформы iOS. Существует эквивалентная платформа для платформы OS X, называемая Application Kit или AppKit framework. UIKit предоставляет инфраструктуру для графических приложений iOS, управляемых событиями. Он также заботится о других основных аспектах, характерных для платформы iOS, таких как многозадачность, push-уведомления и доступность.
Слой Cocoa Touch предоставляет разработчикам большое количество высокоуровневых функций, таких как автоматическая разметка, печать, распознаватели жестов и поддержка документов. В дополнение к UIKit, он содержит, помимо прочего, Map Kit, Event Kit и Message UI.
Медиа-слой
Графика, аудио и видео обрабатываются слоем Media. Этот уровень содержит ряд ключевых технологий, таких как Core Graphics, OpenGL ES и OpenAL, AV Foundation и Core Media.
Слой «Медиа» содержит большое количество платформ, в том числе инфраструктуру «Библиотека активов» для доступа к фотографиям и видео на устройстве, инфраструктуру Core Image для работы с изображениями с помощью фильтров и платформу Core Graphics для 2D-рисования.
Взгляните на руководство Apple по обзору технологий iOS для получения полного списка всех платформ слоя Media.
Уровень основных услуг
Уровень Core Services отвечает за управление основными системными службами, которые используют нативные приложения iOS. Слой Cocoa Touch в значительной степени зависит от уровня Core Services для некоторых своих функций. Уровень Core Services также предоставляет ряд незаменимых функций, таких как блочные объекты, Grand Central Dispatch, In-App Purchase и iCloud Storage.
Одним из наиболее полезных дополнений к уровню Core Services является ARC или Автоматическая установка ссылок. ARC — это функция уровня компилятора, представленная в 2011 году с выпуском iOS 5. ARC упрощает процесс управления памятью в Objective-C.
Управление памятью — это тема, которую мы не рассмотрели в этой серии, но важно, чтобы вы понимали основы управления памятью при разработке приложений Какао. Автоматический подсчет ссылок — отличное дополнение, но важно знать, что ARC делает для вас.
Вы можете прочитать больше об управлении памятью в руководстве по языку программирования Objective-C, и я настоятельно рекомендую вам это сделать.
Другой важной структурой уровня Core Services, тесно связанной с платформой Foundation, является базовая платформа на основе C или Core Foundation. Как и платформа Foundation, она позволяет различным библиотекам и инфраструктурам обмениваться данными и кодом.
Уровень ядра ОС
Большая часть функциональности, предоставляемой тремя уровнями более высокого уровня, построена на уровне ядра ОС и его низкоуровневых функций. Уровень Core OS предоставляет несколько платформ, которые ваше приложение может использовать напрямую, таких как платформы Accelerate и Security.
Документация
Ваш ближайший союзник при разработке нативных приложений для iOS — документация, включенная в iOS SDK. По большей части документация является выдающейся, и она поможет вам освоиться с новой технологией или структурой без особых усилий.
Несмотря на то, что документация доступна онлайн, большинство разработчиков используют браузер документации, который включен в XCode. В Xcode 5, Вы можете найти браузер документации, выбрав Documentation и Справочник по API из меню Window Xcode.
Поскольку вы будете широко использовать документацию, вам может понадобиться несколько сочетаний клавиш, чтобы найти то, что вы ищете в документации. Как я упоминал в предыдущем абзаце, браузер документации обеспечивает легкий доступ к документации. Чтобы быстро получить доступ к документации, нажмите Shift + Command + 0 в Xcode 5.
Во время написания кода в редакторе кода Xcode может быстро стать громоздким переключаться между редактором кода и браузером документации каждый раз, когда вам нужно найти класс или метод.
Есть два решения для эффективного просмотра документации. Всякий раз, когда вы помещаете курсор на имя класса или метода в редакторе кода XCode, инспектор быстрой справки на правой боковой панели показывает сводку соответствующего класса или метода. Сводка содержит несколько полезных ссылок, которые ведут в браузер документации.
Вывод
Теперь вы должны хорошо понимать iOS SDK и различные уровни архитектуры iOS. Две основные платформы приложения для iOS, UIKit и Foundation, находятся в центре внимания следующих двух частей этой серии.
Эти платформы не только необходимы для каждого приложения iOS, они содержат десятки классов, которые вы часто будете использовать при разработке собственных приложений iOS.