Misplaced Pages

Carbon (API)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Carbon was one of two primary C-based application programming interfaces (APIs) developed by Apple for the macOS (formerly Mac OS X and OS X) operating system . Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9 . Developers could use the Carbon APIs to port (“carbonize”) their “classic” Mac applications and software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP . With the release of macOS 10.15 Catalina , the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing macOS applications.

#535464

85-477: Carbon was an important part of Apple's strategy for bringing Mac OS X to market, offering a path for quick porting of existing software applications, as well as a means of shipping applications that would run on either Mac OS X or the classic Mac OS. As the market has increasingly moved to the Cocoa-based frameworks, especially after the release of iOS , the need for a porting library was reduced. Apple did not create

170-641: A 64-bit version of Carbon while updating their other frameworks in the 2007 time-frame, and eventually deprecated the entire API in OS X 10.8 Mountain Lion , which was released on July 24, 2012. The original Mac OS used Pascal as its primary development platform, and the APIs were heavily based on Pascal's call semantics . Much of the Macintosh Toolbox consisted of procedure calls , passing information back and forth between

255-405: A digital zoom shortcut ( iPhone 7 Plus , iOS 10 ). Some camera settings such as video resolution and frame rate are not adjustable through the camera interface itself, but are outsourced to the system settings. A new feature in iOS 13 called "context menus" shows related actions when you touch and hold an item. When the context menu is displayed, the background is blurred. To choose from

340-400: A modal window and could not be viewed after being dismissed. In iOS 5, Apple introduced Notification Center , which allows users to view a history of notifications. The user can tap a notification to open its corresponding app, or clear it. Notifications are now delivered in banners that appear briefly at the top of the screen. If a user taps a received notification, the application that sent

425-479: A Carbon application for many years, only being ported to Cocoa with the release of Mac OS X 10.6 in 2009. The transition to 64-bit Macintosh applications beginning with Mac OS X v10.5 , released October 26, 2007, brought the first major limitations to Carbon. Apple does not provide compatibility between the Macintosh graphical user interface and the C programming language in the 64-bit environment, instead requiring

510-454: A basic human right. Building into the core of our products supports a vision of an inclusive world where opportunity and access to information are barrier-free, empowering individuals with disabilities to achieve their goals". Criticism has been aimed at iOS depending on both internet connection (either WiFi or through iTunes) and a working SIM card upon first activation. This restriction has been loosened in iOS 12, which no longer requires

595-403: A dock at the bottom where users can pin their most frequently used apps. iOS home screens are typically made up of app icons and widgets ; app icons launch the associated app, whereas widgets display live, auto-updating content, such as a weather forecast , the user's email inbox, or a news ticker directly on the home screen. The home screen appears whenever the user unlocks the device, presses

680-462: A few months after the release of iPhone OS 3.2, which brought the feature to all iPhone and iPod Touch models that could run the operating system, with the exception of the iPhone 3G and the iPod touch (2nd generation) due to performance issues with icon animations. iOS 7 introduced a parallax effect on the Home Screen, which shifts the device's wallpaper and icons in response to the movement of

765-505: A few options, a selection control is used. Selectors can appear anchored at the bottom or in line with the content (called date selectors). Date selectors take on the appearance of any other selection control, but with a column for day, month, and optionally year. Alerts appear in the center of the screen, but there are also alerts that scroll up from the bottom of the screen (called "action panels"). Destructive actions (such as eliminating any element) are colored red. The official font of iOS

850-535: A plug-in model ( CFPlugin ) that is based on the Microsoft Component Object Model . Apple used to release most of CF as an open-source project called CFLite that can be used to write cross-platform applications for macOS, Linux , and Windows . A third-party open-source implementation called OpenCFLite extends the Apple CFLite for building on 32-bit Windows and Linux environments. It

935-835: A press event, announcing the iPhone SDK. The iOS App Store was opened on July 10, 2008, with an initial 500 applications available. This quickly grew to 3,000 in September 2008, 15,000 in January 2009, 50,000 in June 2009, 100,000 in November 2009, 250,000 in August 2010, 650,000 in July 2012, 1 million in October 2013, 2 million in June 2016, and 2.2 million in January 2017. As of March 2016 , 1 million apps are natively compatible with

SECTION 10

#1732852245536

1020-521: A shared library backward-compatible with 1997's Mac OS 8.1. This version allowed developers to port their code to Carbon without losing the ability for those programs to run on existing Mac OS machines. Porting to Carbon became known as "Carbonization". Official Mac OS X support arrived in 2001 with the release of Mac OS X v10.0 , the first public version of the new OS. Carbon was very widely used in early versions of Mac OS X by almost all major software houses, even by Apple. The Finder , for instance, remained

1105-422: A single app that looks the same on any iOS device. In addition to defining the iOS interface, UIKit defines the functionality of the application. At first, Apple did not intend to release an SDK to developers, because they did not want third-party apps to be developed for iOS, building web apps instead. However, this technology never entered into common use, this led Apple to change its opinion, so in October 2007

1190-408: A structure built around a shared library ), principally Carbon.framework , ApplicationServices.framework , and CoreServices.framework , and in classic Mac OS, it resides in a single shared library named CarbonLib . As an umbrella term encompassing all C-language API procedures accessing Mac-specific functionality, Carbon is not designed as a discrete system. Rather, it opens nearly all

1275-533: A tight loop without blocking. Carbon introduces a replacement system, called the Carbon Event Manager. (The original Event Manager still exists for compatibility with legacy applications). Carbon Event Manager provides the event loop for the developer (based on Core Foundation's CFRunLoop in the current implementation); the developer sets up event handlers and enters the event loop in the main function, and waits for Carbon Event Manager to dispatch events to

1360-406: A user is directed to the home screen, which is the primary navigation and information "hub" on iOS devices, analogous to the desktop found on personal computers. iOS home screens are typically made up of app icons and widgets ; app icons launch the associated app, whereas widgets display live, auto-updating content, such as a weather forecast , the user's email inbox, or a news ticker directly on

1445-434: A user's ears. Additional customization available for Made for iPhone products include battery tracking and adjustable sound settings for different environments. Apple made further efforts for accessibility for the release of iOS 10 in 2016, adding a new pronunciation editor to VoiceOver, adding a Magnifier setting to enlarge objects through the device's camera, software TTY support for deaf people to make phone calls from

1530-420: Is San Francisco . It is designed for small text readability, and is used throughout the operating system, including third-party apps. The icons are 180x180px in size for iPhones with a larger screen, usually models over 6 inches, including iPhone 11 Pro and iPhone 8 Plus , while they are 120x120px on iPhones with smaller displays. The home screen, rendered by SpringBoard , displays application icons and

1615-471: Is a C application programming interface (API) written by Apple Inc. for its operating systems , and is a mix of low-level routines and wrapper functions . Most Core Foundation routines follow a certain naming convention that deal with opaque objects, for example CFDictionaryRef for functions whose names begin with CFDictionary, and these objects are often reference counted (manually) through CFRetain and CFRelease . Internally, Core Foundation forms

1700-404: Is a mobile operating system developed by Apple exclusively for its devices . It was unveiled in January 2007 for the first-generation iPhone , which launched in June 2007. Major versions of iOS are released annually; the current stable version, iOS 18 , was released to the public on September 16, 2024. It is the operating system that powers many of the company's mobile devices, including

1785-591: Is based on macOS . Like macOS, it includes components of the Mach microkernel and FreeBSD . It is a Unix-like operating system. Although some parts of iOS are open source under the Apple Public Source License and other licenses, iOS is proprietary software . In 2005, when Steve Jobs began planning the iPhone , he had a choice to either "shrink the Mac, which would be an epic feat of engineering, or enlarge

SECTION 20

#1732852245536

1870-463: Is completely free, aimed at acquiring specific technical skills on the creation and management of applications for the Apple ecosystem platforms. At the academy there are also issues of business administration (business planning and business management with a focus on digital opportunities) and there is a path dedicated to the design of graphical interfaces . Students have the opportunity to participate in

1955-506: Is maintained by one of the WebKit developers, but was stalled by 2015. The karaoke platform KJams maintains a fork since 2017. This version, by its programmer David M. Cotter, supports 64-bit systems and has a CFNetwork implementation with LibreSSL -based TLS. A fork of OpenCFLite was created by Grant Erickson (an original collaborator with Brent Fulgham on the SourceForge version) in 2021 with

2040-421: Is possible to interact directly, for example by replying to a message directly from it. Notifications are sent in two modes, critical alerts that are displayed on the lock screen and signaled by a distinctive sound and vibration (e.g. emergency alerts or severe weather alerts), accompanied by a warning banner and the app badge icon, and standard alerts which use a default sound and vibration. Both can be found in

2125-474: The Toolbox , and as such, is composed of "Managers". Each Manager is a functionally related API, defining sets of data structures and functions to manipulate them. Managers are often interdependent or layered. Carbon consists of a broad set of functions for managing files, memory, data, the user interface, and other system services. It is implemented as any other API: in macOS, it is spread over several frameworks (each

2210-676: The Worldwide Developer Conference , the annual Apple Developer Conference held annually in California in early June. On June 3, 2019, iPadOS , the branded version of iOS for iPad, was announced at the 2019 WWDC; it was launched on September 25, 2019. The iOS user interface is based upon direct manipulation , using multi-touch gestures such as swipe , tap , pinch , and reverse pinch . Interface control elements include sliders, switches, and buttons. Internal accelerometers are used by some applications to respond to shaking

2295-411: The graphics engine from the licence-encumbered Display PostScript to the licence-free Quartz (which has been called "Display PDF"). Quartz provided native calls that could be used from either Carbon or Cocoa, as well as offering Java 2D -like interfaces as well. The underlying operating system itself was further isolated and released as Darwin . Carbon was introduced in incomplete form in 2000, as

2380-452: The iPad tablet computer. These apps have collectively been downloaded more than 130 billion times. App intelligence firm Sensor Tower estimated that the App Store would reach 5 million apps by 2020. In September 2007, Apple announced the iPod Touch , a redesigned iPod based on the iPhone form factor. On January 27, 2010, Apple introduced their much-anticipated media tablet ,

2465-446: The iPhone , and is the basis for three other operating systems made by Apple : iPadOS , tvOS , and watchOS . iOS formerly also powered iPads until iPadOS was introduced in 2019, and the iPod Touch line of devices until its discontinuation. iOS is the world's second most widely installed mobile operating system , after Android . As of December 2023, Apple's App Store contains more than 3.8 million iOS mobile apps . iOS

2550-415: The iPhone 4 and its Retina Display , and retained Helvetica as the system font for older iPhone devices on iOS 4. With iOS 7, Apple announced that they would change the system font to Helvetica Neue Light, a decision that sparked criticism for inappropriate usage of a light, thin typeface for low-resolution mobile screens. Apple eventually chose Helvetica Neue instead. The release of iOS 7 also introduced

2635-604: The "Blue Box" that ran existing Mac OS software. When this plan was revealed at the Worldwide Developers Conference (WWDC) in 1997 there was some push-back from existing Mac OS developers who were upset that their code bases would be effectively locked into an emulator that was unlikely to ever be updated. They took to calling the Blue Box the "penalty box". Larger developers like Microsoft and Adobe balked outright, and refused to consider porting to OpenStep, which

Carbon (API) - Misplaced Pages Continue

2720-489: The "Enterprise Track", an in-depth training experience on the entire life cycle of an app, from design to implementation, to security, troubleshooting , data storage and cloud usage. As of 2020, the academy graduated almost a thousand students from all over the world, who have worked on 400 app ideas and have already published about 50 apps on the iOS App Store . In the 2018–2019 academic year, students from more than 30 countries arrived. 35 of these have been selected to attend

2805-623: The "IOS" trademark from Cisco. The Apple Watch smartwatch was announced by Tim Cook on September 9, 2014, being introduced as a product with health and fitness-tracking. It was released on April 24, 2015. It uses watchOS as its operating system; watchOS is based on iOS, with new features created specially for the Apple Watch such as an activity tracking app. In October 2016, Apple opened its first iOS Developer Academy in Naples inside University of Naples Federico II 's new campus. The course

2890-619: The API and program using a variety of data structures based on Pascal's variant record concept. Over time, a number of object libraries evolved on the Mac, notably the Object Pascal library MacApp and the THINK C Think Class Library, and later versions of MacApp and CodeWarrior 's PowerPlant in C++ . With the purchase of NeXT in late 1996, Apple developed a new operating system strategy based largely on

2975-472: The App Store, iTunes Library, iBookstore , Contacts, and Notes. Content is downloadable via Wi-Fi and optional 3G service or synced through the user's computer. AT&T was initially the sole U.S. provider of 3G wireless access for the iPad. In June 2010, Apple rebranded iPhone OS as "iOS". The trademark "IOS" had been used by Cisco for over a decade for its operating system, IOS , used on its routers. To avoid any potential lawsuit, Apple licensed

3060-674: The Apple Developer Program. Over the years, the Apple Store apps surpassed multiple major milestones, including 50,000, 100,000, 250,000, 500,000, 1 million, and 2 million apps. The billionth application was installed on April 24, 2009. App Library automatically categorizes apps into folders based on their function or type and incluses an alphabetical list of all installed apps. For example, it might group all social media apps into one folder and productivity apps into another. Users can quickly find and access apps by using

3145-566: The CFSocket API. Some types in Core Foundation are "toll-free bridged", or interchangeable with a simple cast, with those of their Foundation Kit counterparts. For example, one could create a CFDictionaryRef Core Foundation type, and then later simply use a standard C cast to convert it to its Objective-C counterpart, NSDictionary * , and then use the desired Objective-C methods on that object as one normally would. Core Foundation has

3230-451: The Carbon API called Boron. It aims to be compatible with non-deprecated parts of ApplicationServices and CoreServices. The name derives the fact that Boron comes before Carbon on the periodic table of elements . Darling also contains a Carbon implementation. Both implementations are highly incomplete and consist mostly of stub functions. IOS iOS (formerly iPhone OS )

3315-563: The Document Picker and Document Provider extensions as part of the document interaction controller. This allows apps to open, save, and interact with documents stored in a central location or cloud storage services. With iOS 11, Apple introduced the Files app and the File Provider extension, providing a central location for users to manage and organize their files. Apps can integrate with

3400-503: The Files app to make their documents accessible and editable directly from the Files app. The storage of iOS devices can be expanded through iCloud , the Apple's cloud-based storage solution that provides 5GB of storage for free to all users, while other plans require a paid subscription. iCloud Drive allows users to store various types of files, such as documents, presentations, and spreadsheets, in

3485-573: The HIView Manager (a superset of the Control Manager), are implemented in C++ , but Carbon remains a C API. Some examples of Carbon Managers: The Mac Toolbox's Event Manager originally used a polling model for application design. The application's main event loop asks the Event Manager for an event using GetNextEvent. If there is an event in the queue, the Event Manager passes it back to

Carbon (API) - Misplaced Pages Continue

3570-574: The Home screen is granted. In iPhone OS 3, Spotlight was introduced, allowing users to search media, apps, emails, contacts, messages, reminders, calendar events, and similar content. In iOS 7 and later, Spotlight is accessed by pulling down anywhere on the home screen (except for the top and bottom edges that open Notification Center and Control Center). In iOS 9, there are two ways to access Spotlight. As with iOS 7 and 8, pulling down on any homescreen will show Spotlight. However, it can also be accessed as it

3655-601: The Mac OS was filled with APIs that shared memory to pass data, under Carbon all such access was re-implemented using accessor subroutines on opaque data types . This allowed Carbon to support true multitasking and memory protection , features Mac developers had been requesting for a decade. Other changes from the pre-existing API removed features which were conceptually incompatible with Mac OS X, or simply obsolete. For example, applications could no longer install interrupt handlers or device drivers . In order to support Carbon,

3740-484: The Notification Center, and show for a set amount of time on the lock screen (unless the user has Notification Center allowed when locked). On iPhones with Touch ID, screenshots can be created with the simultaneous press of the home and power buttons. In comparison to Android , which requires the buttons to be held down, a short press does suffice on iOS. On iPhone with Face ID, screenshots are captured using

3825-452: The SDK for developers was announced, finally released on March 6, 2008. The SDK includes an inclusive set of development tools, including an audio mixer and an iPhone simulator. It is a free download for Mac users. It is not available for Microsoft Windows PCs. To test the application, get technical support, and distribute applications through App Store , developers are required to subscribe to

3910-529: The Settings. It is possible to manage brightness, volume, wireless connections, music player, etc. Scrolling from the top left to the bottom (or top to bottom on iPhones with Touch ID) will open the Notification Center , which in the latest versions of iOS is very similar to the lock screen. It displays notifications in chronological order and groups them by application. From the notifications of some apps it

3995-543: The Yellow Box ported to call CF became the new Cocoa API, and the Mac-like calls of Carbon also called the same functions. Under the new system, Carbon and Cocoa were peers. This conversion would normally have slowed the performance of Cocoa as the object methods called into the underlying C libraries, but Apple used a technique they called toll-free bridging to reduce this impact. As part of this conversion, Apple also ported

4080-409: The ability to scale text or apply other forms of text accessibility changes through Settings. With iOS 9, Apple changed the font to San Francisco , an Apple-designed font aimed at maximum legibility and font consistency across its product lineup. iOS 4 introduced folders, which can be created by dragging an application on top of another, and from then on, more items can be added to the folder using

4165-451: The ability to use custom prompts for encouraging users to leave reviews for their apps. IOS applications can also be installed directly from an IPA file provided by the software distributor, via unofficial ways. They are written using iOS Software Development Kit (SDK) and, often, combined with Xcode , using officially supported programming languages, including Swift and Objective-C . Other companies have also created tools that allow for

4250-577: The app clears the badge. iOS devices come with preinstalled apps developed by Apple including Mail, Maps, TV, Music, FaceTime, Wallet, Health, and many more. Applications (" apps ") are the most general form of application software that can be installed on iOS. They are downloaded from the official catalog of the App Store digital store, where apps are subjected to security checks before being made available to users. In June 2017, Apple updated its guidelines to specify that app developers will no longer have

4335-452: The application, where it is handled, otherwise it returns immediately. This behavior is called " busy-waiting ", running the event loop unnecessarily. Busy-waiting reduces the amount of CPU time available for other applications and decreases battery power on laptops. The classic Event Manager dates from the original Mac OS in 1984, when whatever application was running was guaranteed to be the only application running, and where power management

SECTION 50

#1732852245536

4420-440: The application. In the classic Mac OS, there was no operating system support for application level timers (the lower level Time Manager was available, but it executed timer callbacks at interrupt time, during which calls could not be safely made to most Toolbox routines). Timers were usually left to application developers to implement, and this was usually done by counting elapsed time during the idle event - that is, an event that

4505-503: The background can perform to a limited function set and requires application developers to add explicit support for it. Before iOS 4, multitasking was limited to a selection of the applications Apple included on the device. Users could however " jailbreak " their device in order to unofficially multitask. Starting with iOS 4, on third-generation and newer iOS devices, multitasking is supported through seven background APIs : Core Foundation Core Foundation (also called CF )

4590-510: The base of the types in the Objective-C standard library and the Carbon API . The most prevalent use of Core Foundation is for passing its own primitive types for data, including raw bytes , Unicode strings , numbers , calendar dates , and UUIDs , as well as collections such as arrays , sets , and dictionaries , to numerous macOS C routines, primarily those that are GUI -related. At

4675-411: The cloud. These files can be accessed across multiple devices as long as the user is signed in with the same Apple ID. iOS offers various accessibility features to help users with vision and hearing disabilities. One major feature, VoiceOver , provides a voice reading information on the screen, including contextual buttons, icons, links and other user interface elements, and allows the user to navigate

4760-496: The development of native iOS apps using their respective programming languages. Applications for iOS are mostly built using components of UIKit , a programming framework. It allows applications to have a consistent look and feel with the OS, nevertheless offering customization. Elements automatically update along with iOS updates, automatically including new interface rules. UIKit elements are very adaptable, this allows developers to design

4845-464: The device (one common result is the undo command) or rotating it in three dimensions (one common result is switching between portrait and landscape mode). Various accessibility described in § Accessibility functions enable users with vision and hearing disabilities to properly use iOS. iOS devices boot to the lock screen. The lock screen shows the time and a user's lock screen widgets, which display timely information from apps. Upon unlock,

4930-419: The device, creating a 3D effect and an illusion of floating icons. This effect is also visible in the tab view of Mail and Safari. Researchers found that users organize icons on their homescreens based on usage frequency and relatedness of the applications, as well as for reasons of usability and aesthetics. iOS originally used Helvetica as the system font. Apple switched to Helvetica Neue exclusively for

5015-544: The entire Rhapsody model changed. Whereas Rhapsody would effectively be OpenStep with an emulator, under the new system both the OpenStep and Carbon API would, where possible, share common code. To do this, many of the useful bits of code from the lower-levels of the OpenStep system, written in Objective-C and known as Foundation, were re-implemented in pure C. This code became known as Core Foundation , or CF for short. A version of

5100-472: The existing OPENSTEP for Mach platform. The new Rhapsody OS strategy was relatively simple; it retained most of OpenStep's existing object libraries under the name "Yellow Box", ported the existing GUI in OPENSTEP for Mach and made it look more Mac-like, ported several major APIs from the Mac OS to Rhapsody's underlying Unix-like system (notably QuickTime and AppleSearch ), and added an emulator known as

5185-457: The folders with pages similar to the home screen layout, allowing for a significant expansion of folder functionality. Each page of a folder can contain up to nine apps, and there can be 15 pages in total, allowing for a total of 135 apps in a single folder. In iOS 9, Apple updated folder sizes for iPad hardware, allowing for 16 apps per page, still at 15 pages maximum, increasing the total to 240 apps. Before iOS 5, notifications were delivered in

SECTION 60

#1732852245536

5270-542: The functionality of macOS to developers who do not know the Objective-C language required for the broadly equivalent Cocoa API . Carbon is compatible with all of the several executable formats available for PowerPC Mac OS. Binary compatibility between Mac OS X and previous versions requires use of a Preferred Executable Format file, which Apple never supported in their Xcode IDE . Newer parts of Carbon tend to be much more object-oriented in their conception, most of them based on Core Foundation . Some Managers, such as

5355-420: The home screen. Along the top of the screen is a status bar, showing information about the device and its connectivity. The Control Center can be "pulled" down from the top right of the notch or Dynamic Island (on iPhones with Face ID ) or can be "pulled" up from the bottom to top of the screen (on iPhones with Touch ID ), giving access to various toggles to manage the device more quickly without having to open

5440-439: The iPad, featuring a larger screen than the iPhone and iPod Touch, and designed for web browsing, media consumption, and reading, and offering multi-touch interaction with multimedia formats including newspapers, e-books, photos, videos, music, word processing documents, video games, and most existing iPhone apps using a 9.7-inch (25 cm) screen. It also includes a mobile version of Safari for web browsing, as well as access to

5525-529: The iPhone with minimal retraining. Forstall was also responsible for creating a software development kit for programmers to build iPhone apps, as well as an App Store within iTunes . The operating system was unveiled with the iPhone at the Macworld Conference & Expo on January 9, 2007, and released in June of that year. At the time of its unveiling in January, Steve Jobs claimed: "iPhone runs OS X" and runs "desktop class applications", but at

5610-550: The iPhone, and giving tutorials and guidelines for third-party developers to incorporate proper accessibility functions into their apps. In 2012, Liat Kornowski from The Atlantic wrote that "the iPhone has turned out to be one of the most revolutionary developments since the invention of Braille ", and in 2016, Steven Aquino of TechCrunch described Apple as "leading the way in assistive technology", with Sarah Herrlinger, Senior Manager for Global Accessibility Policy and Initiatives at Apple, stating that "We see accessibility as

5695-500: The iPod". Jobs favored the former approach but pitted the Macintosh and iPod teams, led by Scott Forstall and Tony Fadell , respectively, against each other in an internal competition, with Forstall winning by creating iPhone OS. The decision enabled the success of the iPhone as a platform for third-party developers: using a well-known desktop operating system as its basis allowed the many third-party Mac developers to write software for

5780-406: The latter. Multitasking for iOS was first released in June 2010 along with the release of iOS 4 . Only certain devices— iPhone 4 , iPhone 3GS , and iPod Touch 3rd generation—were able to multitask. The iPad did not get multitasking until iOS 4.2.1 in that November. The implementation of multitasking in iOS has been criticized for its approach, which limits the work that applications in

5865-433: The notification will be opened. Users can also choose to view notifications in modal alert windows by adjusting the application's notification settings. Introduced with iOS 8, widgets are now accessible through the Notification Center, defined by 3rd parties. When an app sends a notification while closed, a red badge appears on its icon. This badge tells the user, at a glance, how many notifications that app has sent. Opening

5950-726: The operating system level Core Foundation also provides standardized application preferences management through CFPropertyList , bundle handling, run loops , interprocess communication through CFMachPort and CFNotificationCenter , and a basic graphical user interface message dialog through CFUserNotification . Other parts of the API include utility routines and wrappers around existing APIs for ease of use. Utility routines perform such actions as file system and network I/O through CFReadStream , CFWriteStream , and CFURL and endianness translation (Byte Order Utilities). Some examples of wrapper routines include those for Core Foundation's wrapper routines for Unix sockets,

6035-529: The operating system through gestures. Any apps with default controls and developed with a UIKit framework gets VoiceOver functionality built in. One example includes holding up the iPhone to take a photo, with VoiceOver describing the photo scenery. As part of a "Made for iPhone" program, introduced with the release of iOS 7 in 2013, Apple has developed technology to use Bluetooth and a special technology protocol to let compatible third-party equipment connect with iPhones and iPads for streaming audio directly to

6120-456: The physical "Home" button while in an app, or swipes up from the bottom of the screen using the home bar. The screen has a status bar across the top to display data, such as time, battery level, and signal strength. The rest of the screen is devoted to the current application. When a passcode is set and a user switches on the device, the passcode must be entered at the Lock Screen before access to

6205-545: The release of OS X 10.8 Mountain Lion, most Carbon APIs were considered deprecated. The APIs were still accessible to developers and all Carbon applications still ran, but the APIs would no longer be updated. On June 28, 2017, Apple announced that 32-bit software for macOS, such as all Carbon applications, would no longer be supported “without compromise” on versions of macOS after macOS 10.13 High Sierra . macOS 10.15 Catalina officially removed support for 32-bit applications, including all Carbon applications. Carbon descends from

6290-515: The same procedure. A title for the folder is automatically selected by the category of applications inside, but the name can also be edited by the user. When apps inside folders receive notification badges, the individual numbers of notifications are added up and the total number is displayed as a notification badge on the folder itself. Originally, folders on an iPhone could include up to 12 apps, while folders on iPad could include 20. With increasing display sizes on newer iPhone hardware, iOS 7 updated

6375-617: The search bar at the top of the App Library. Users can choose to hide specific app pages from the home screen, making it easier to focus on the apps they use most frequently. iOS enforces strict sandboxing to maintain security and privacy. Apps are generally limited to accessing their own containers and specific system-provided directories, such as the Photos library. To access files outside of their sandbox, iOS uses mechanisms like document pickers, file providers, and app extensions. iOS 8 introduced

6460-451: The thread to sleep whenever there is nothing to do, and only returns an event when there is one to process. In this way, the polling model is quickly inverted to become equivalent to the callback model, with the application performing its own event dispatching in the original manner. There are loopholes, though. For one, the legacy toolbox call ModalDialog , for example, calls the older GetNextEvent function internally, resulting in polling in

6545-598: The time of the iPhone's release, the operating system was renamed "iPhone OS". Initially, third-party native applications were not supported. Jobs' reasoning was that developers could build web applications through the Safari web browser that "would behave like native apps on the iPhone". In October 2007, Apple announced that a native software development kit (SDK) was under development and that they planned to put it "in developers' hands in February". On March 6, 2008, Apple held

6630-622: The transition of Carbon-based applications, famously with Adobe Photoshop , which was eventually updated to Cocoa in April 2010. This also extended to Apple's own flagship software packages, as iTunes and Final Cut Pro (as well as the features in the QuickTime engine that powers it) remained written in Carbon for many years. Both iTunes and Final Cut Pro X have since been released in Cocoa versions. In 2012, with

6715-457: The use of the Objective-C dialect with the Cocoa API. Many commentaries took this to be the first sign of Carbon's eventual disappearance, a position that was re-enforced when Apple stated no new major additions would be added to the Carbon system, and further reinforced with its deprecation in 2012. Despite the purported advantages of Cocoa, the need to rewrite large amounts of legacy code slowed

6800-558: The volume-up and power buttons instead. The camera application used a skeuomorphic closing camera shutter animation prior to iOS 7. Since then, it uses a simple short blackout effect. Notable additions over time include HDR photography and the option to save both normal and high dynamic range photographs simultaneously where the former prevents ghosting effects from moving objects (since iPhone 5 on iOS 6 ), automatic HDR adjustment (since iOS 7.1 ), "live photo" with short video bundled to each photo if enabled ( iPhone 6s , iOS 9 ), and

6885-521: Was eventually released in 1999 as Mac OS X Server 1.0 . This was the only release based on the original Rhapsody concept. In order to offer a real and well supported upgrade path for existing Mac OS code bases, Apple introduced the Carbon system. Carbon consists of many libraries and functions that offer a Mac-like API, but running on top of the underlying Unix-like OS, rather than a copy of the Mac OS running in emulation. The Carbon libraries are extensively cleaned up, modernized and better "protected". While

6970-417: Was in iOS versions 3 through 6. This endows Spotlight with Siri suggestions, which include app suggestions, contact suggestions and news. In iOS 10, Spotlight is at the top of the now-dedicated "Today" panel. With the release of iPhone OS 3.2 , users gained the ability to set a wallpaper for the Home Screen. The feature was initially only available on the iPad (1st generation) until the release of iOS 4

7055-429: Was not a concern. With the advent of MultiFinder and the ability to run more than one application simultaneously came a new Event Manager call, WaitNextEvent , which allows an application to specify a sleep interval. One easy trick for legacy code to adopt a more efficient model without major changes to its source code is simply to set the sleep parameter passed to WaitNextEvent to a very large value—on macOS, this puts

7140-551: Was returned by WaitNextEvent when any other event wasn't available. In order for such timers to have reasonable resolution, developers could not afford WaitNextEvent to delay too long, and so low "sleep" parameters were usually set. This results in highly inefficient scheduling behavior, since the thread will not sleep for very long, instead repeatedly waking to return these idle events. Apple added timer support to Carbon to address this problem—the system can schedule timers with great efficiency. GNUstep contains an implementation of

7225-418: Was so different from the existing Mac OS that there was little or no compatibility. Apple took these concerns to heart. When Steve Jobs announced Apple's change in direction at the next WWDC in 1998, he stated that "what developers really wanted was a modern version of the Mac OS, and Apple [was] going to deliver it". The original Rhapsody concept, with only the Blue Box for running existing Mac OS software,

#535464