HOME

TheInfoList



OR:

Cocoa Touch is the application development environment for building software programs to run on
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
for the iPhone and iPod Touch,
iPadOS iPadOS is a mobile operating system developed by Apple Inc. for its iPad line of tablet computers. It is a rebranded variant of iOS, the operating system used by Apple's iPhones, renamed to reflect the diverging features of the two product ...
for the
iPad The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating ...
,
watchOS watchOS is the operating system of the Apple Watch, developed by Apple Inc. It is based on iOS, the operating system used by the iPhone, and has many similar features. It was released on April 24, 2015, along with the Apple Watch, the only d ...
for the
Apple Watch Apple Watch is a line of smartwatches produced by Apple Inc. It incorporates fitness tracking, health-oriented capabilities, and wireless telecommunication, and integrates with iOS and other Apple products and services. The Apple Watch was rel ...
, and
tvOS tvOS (formerly known as Apple TV Software) is an operating system developed by Apple Inc. for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. Starting with the second-generation, ...
for the Apple TV, from
Apple Inc. Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
Cocoa Touch provides an abstraction layer of iOS, the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
Cocoa API toolset and, like it, is primarily written in the
Objective-C Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXT ...
language. Cocoa Touch allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a Model–View–Controller (MVC) software architecture. Cocoa Touch contains a different set of graphical control elements from Cocoa. Tools for developing applications based on Cocoa Touch are included in the iOS SDK.


Cocoa Touch in relation to other layers

iOS, watchOS, and tvOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS/
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learn ...
at the bottom. A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows: # Cocoa Touch # Media / Application Services # Core Services # Core OS / iOS kernel


Main features

Some of the main features and technologies of Cocoa Touch are: * App Extension * Data Management * Handoff * Document Picker * AirDrop * TextKit * UIKit Dynamics * Multitasking * Auto Layout * Storyboards * UI State Preservation * Apple Push Notification Service * Local Notifications * Gesture Recognisers * Standard System View Controllers


Main frameworks

Cocoa Touch provides the key frameworks for developing applications on devices running iOS. Some of these key frameworks are: *
Foundation Kit The Foundation Kit, or just Foundation for short, is an Objective-C framework in the OpenStep specification. It provides basic classes such as wrapper classes and data structure classes. This framework uses the prefix NS (for NeXTSTEP). It is a ...
*UIKit (based on
Application Kit AppKit (formally Application Kit) is a graphical user interface toolkit. It initially served as the UI framework for NeXTSTEP. Along with Foundation and Display PostScript, it became one of the core parts of the OpenStep specification of APIs. L ...
) *GameKit *
iAd iAd is a discontinued mobile advertising platform developed by Apple Inc. for its iPhone, iPod Touch, and iPad line of mobile devices allowing third-party developers to directly embed advertisements into their applications. iAd is part of App ...
(discontinued in 2016) *MapKit * Address Book UI * EventKit UI * Message UI * Notification Center * PushKit * Twitter


Ports

Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
's
WinObjC Universal Windows Platform (UWP) is a computing platform created by Microsoft and first introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windo ...
, the
GNUstep GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project. GNUste ...
-based iOS bridge for the
Universal Windows Platform Universal Windows Platform (UWP) is a computing platform created by Microsoft and first introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windo ...
, contains a working implementation of Cocoa Touch frameworks like Foundation, UIKit, and MapKit released under the
MIT License The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
. One of the UIKit implementations is based on
XAML Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise. XAML is used extensively ...
. Various efforts have tried to bring UIKit, the modified AppKit from Cocoa Touch, to macOS: * Chameleon is a port of UIKit to
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
from 2014. * ZeeZide's UXKit is a more recent port of UIKit to macOS. It exists a layer above AppKit and UIKit. * Apple used a "UXKit" private framework for a 2015 version of Photos.app. * Apple made the bridge more official with the "iosMac" or "Marzipan" project in 2018, which put an "iOSSupport" directory full of iOS frameworks in
macOS Mojave macOS Mojave ( ; version 10.14) is the fifteenth major release of macOS, Apple Inc.'s desktop operating system for Macintosh computers. Mojave was announced at Apple's Worldwide Developers Conference on June 4, 2018, and was released to the ...
. They were originally restricted from developer use and was finally made official with the release of Mac Catalyst in 2019.


References

{{iOS Gesture recognition IOS IPhone Proprietary software