CINXE.COM
macOS 15 - Apple Developer
<!DOCTYPE html> <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro+Icons&v=1" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Mono&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Apple+Icons&v=1" type="text/css" /> <meta charset="utf-8" /> <meta name="Author" content="Apple Inc." /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> <link rel="shortcut icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" /> <link rel="mask-icon" href="/apple-logo.svg" color="#333333"> <link rel="stylesheet" href="/assets/styles/global.dist.css?01172423298" type="text/css" /> <link rel="stylesheet" href="/assets/styles/dark-mode.css?17182448067" type="text/css" media="(prefers-color-scheme: dark)" data-color-scheme="dark" /> <link rel="stylesheet" href="/assets/styles/localization.css?39172414191" type="text/css" /> <script src="/assets/scripts/lib/jquery/jquery-3.6.0.min.js?17182448067"></script> <script src="/assets/scripts/settings.js?17182448067"></script> <script src="/assets/scripts/language-locales.js?17182448067"></script> <script src="/assets/scripts/DeveloperBreadcrumbs.js?05182434080"></script> <script async src="/assets/scripts/lib/jquery/jquery.retinate.js?17182448067"></script> <script async src="/assets/scripts/global.js?17182448067"></script> <script async src="/assets/scripts/global-logout.js?17182448067"></script> <title>macOS 15 - Apple Developer</title> <meta name="omni_page" content="macOS - (English)" /> <meta name="Description" content="Learn about the cutting-edge new features of macOS that you can use to build powerful apps and compelling games." /> <meta name="search_icon" content="/download/images/macos-15-128x128_2x.png" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Apple Developer" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://developer.apple.com/news/images/og/macos-15-light-og.png" /> <meta property="og:title" content="macOS 15 - Apple Developer" /> <meta property="og:description" content="Learn about the cutting-edge new features of macOS that you can use to build powerful apps and compelling games." /> <meta property="og:url" content="https://developer.apple.com/macos/" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://developer.apple.com/news/images/og/macos-15-light-og-twitter.png" /> <meta name="twitter:title" content="macOS 15 - Apple Developer" /> <meta name="twitter:description" content="Learn about the cutting-edge new features of macOS that you can use to build powerful apps and compelling games." /> <meta name="twitter:url" content="https://developer.apple.com/macos/" /> <link rel="alternate" href="https://developer.apple.com/kr/macos/" hreflang="ko-KR" /> <link rel="alternate" href="https://developer.apple.com/jp/macos/" hreflang="ja-JP" /> <link rel="alternate" href="https://developer.apple.com/cn/macos/" hreflang="zh-CN" /> <link rel="alternate" href="https://developer.apple.com/macos/" hreflang="en" /> <link rel="canonical" href="https://developer.apple.com/macos/" /> <link rel="stylesheet" href="/macos/styles/macos.css?Sunday, 09-Jun-2024 18:25:07 GMT" type="text/css" /> <link rel="stylesheet" href="/macos/styles/overview.css?Sunday, 09-Jun-2024 19:18:29 GMT" type="text/css" /> </head> <body id="overview" class="dmf"> <script> const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; if (window.Settings.preferredColorScheme) { const colorTheme = (window.Settings.preferredColorScheme === 'auto') && !prefersDark ? 'light' : (window.Settings.preferredColorScheme === 'light') ? 'light' : 'dark' document.body.setAttribute('data-color-scheme', colorTheme); } else { document.body.setAttribute('data-color-scheme', prefersDark ? 'dark' : 'light'); } </script> <style> /* footer */ html body[data-color-scheme='dark'] #main section.section.section-resources.bg-alt {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .developer-router-links {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .footer {background-color:var(--fill-tertiary);color:var(--glyph-gray-tertiary);} /* body backgrounds */ body[data-color-scheme='dark'].dmf {background-color: #000;} html body[data-color-scheme='dark'].dmf .bg-alt {background-color:var(--fill-tertiary);} html body[data-color-scheme='dark'].dmf .bg-blue {background-color:var(--fill-blue-secondary);} html body[data-color-scheme='dark'].dmf .bg-green-blue {background:linear-gradient(135deg, #65976d 0%, #588ea4 100%)} html body[data-color-scheme='dark'].dmf .bg-yellow {background: linear-gradient(to bottom, var(--fill-tertiary) 0%, var(--fill-tertiary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-light {background-color:var(--fill-secondary-alt);} html body[data-color-scheme='dark'].dmf .bg-gradient, html body[data-color-scheme='dark'].dmf .bg-grad {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-down {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-up {background:linear-gradient(to bottom, var(--fill-gray-secondary-alt) 0%, var(--dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient, html body[data-color-scheme='dark'].dmf .bg-gradient-blue {background:linear-gradient(to bottom, var(--fill-blue-gradient-light) 0%, var(--fill-blue-gradient-dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient-alt {background: linear-gradient(90deg, #061830 0%, #102d48 100%);} /* globalNav */ html body[data-color-scheme='dark'] #ac-globalnav {background: var(--fill-tertiary);} /* localNav */ html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.9); } @supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial)) { html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.72); } } </style> <link rel="stylesheet" href="/assets/styles/globalnav.css?55202406207" type="text/css" /> <link rel="stylesheet" href="/assets/styles/suggest-lang.css?17182448067" type="text/css" /> <div id="suggest-lang" class="ribbon hide" lang="en"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-12 large-centered"> <p><a href="#" id="suggest-link" class="ribbon-link more">View in English</a></p> <button id="suggest-closer" class="icon icon-after icon-reset" aria-label="Dismiss language suggestion" tabindex="0"></button> </div> </div> </div> </div> <script src="/assets/scripts/suggest-lang.js?17182448067"></script> <aside id="ac-gn-segmentbar" class="ac-gn-segmentbar" lang="en-US" dir="ltr"> </aside> <input type="checkbox" id="ac-gn-menustate" class="ac-gn-menustate" /> <nav id="ac-globalnav" class="no-js" role="navigation" aria-label="Global" data-hires="false" data-analytics-region="global nav" lang="en-US" dir="ltr" data-www-domain="www.apple.com" data-store-locale="us" data-store-root-path="/us" data-store-api="/[storefront]/shop/bag/status" data-search-locale="en_US" data-search-suggestions-api="/search-services/suggestions/" data-search-defaultlinks-api="/search-services/suggestions/defaultlinks/" data-search-suggestions-enabled="false"> <div class="ac-gn-content"> <ul class="ac-gn-header"> <li class="ac-gn-item ac-gn-menuicon"> <label class="ac-gn-menuicon-label" for="ac-gn-menustate" aria-hidden="true"> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-top"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-top"></span> </span> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-bottom"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-bottom"></span> </span> </label> <a href="#ac-gn-menustate" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-open" id="ac-gn-menuanchor-open"> <span class="ac-gn-menuanchor-label">Global Nav Open Menu</span> </a> <a href="#" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-close" id="ac-gn-menuanchor-close"> <span class="ac-gn-menuanchor-label">Global Nav Close Menu</span> </a> </li> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus-small"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> </ul> <div class="ac-gn-search-placeholder-container" role="search"> <div class="ac-gn-search ac-gn-search-small"> <a id="ac-gn-link-search-small" class="ac-gn-link" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"> <div class="ac-gn-search-placeholder-bar"> <div class="ac-gn-search-placeholder-input"> <div class="ac-gn-search-placeholder-input-text" aria-hidden="true"> <div class="ac-gn-link-search ac-gn-search-placeholder-input-icon"></div> <span class="ac-gn-search-placeholder">Search</span> </div> </div> <div class="ac-gn-searchview-close ac-gn-searchview-close-small ac-gn-search-placeholder-searchview-close"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true">Cancel</span> </div> </div> </a> </div> </div> <ul class="ac-gn-list"> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-news"> <a class="ac-gn-link ac-gn-link-news" href="/news/" data-analytics-title="news"> <span class="ac-gn-link-text">News</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-discover"> <a class="ac-gn-link ac-gn-link-discover" href="/discover/" data-analytics-title="discover"> <span class="ac-gn-link-text">Discover</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-design"> <a class="ac-gn-link ac-gn-link-design" href="/design/" data-analytics-title="design"> <span class="ac-gn-link-text">Design</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-develop"> <a class="ac-gn-link ac-gn-link-develop" href="/develop/" data-analytics-title="develop"> <span class="ac-gn-link-text">Develop</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-distribute"> <a class="ac-gn-link ac-gn-link-distribute" href="/distribute/" data-analytics-title="distribute"> <span class="ac-gn-link-text">Distribute</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-dsupport"> <a class="ac-gn-link ac-gn-link-dsupport" href="/support/" data-analytics-title="dsupport"> <span class="ac-gn-link-text">Support</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-account"> <a class="ac-gn-link ac-gn-link-account" href="/account/" data-analytics-title="account"> <span class="ac-gn-link-text">Account</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-search" role="search"> <a id="ac-gn-link-search" class="ac-gn-link ac-gn-link-search" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"></a> </li> </ul> <aside id="ac-gn-searchview" class="ac-gn-searchview" role="search" data-analytics-region="search"> <div class="ac-gn-searchview-content"> <div class="ac-gn-searchview-bar"> <div class="ac-gn-searchview-bar-wrapper"> <form id="ac-gn-searchform" class="ac-gn-searchform" action="/search/" method="get"> <div class="ac-gn-searchform-wrapper"> <input id="ac-gn-searchform-input" class="ac-gn-searchform-input" type="text" name="q" aria-label="Search" placeholder="Search" autocorrect="off" autocapitalize="off" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" aria-owns="quicklinks suggestions" /> <button id="ac-gn-searchform-submit" class="ac-gn-searchform-submit" type="submit" disabled aria-label="Submit Search"></button> <button id="ac-gn-searchform-reset" class="ac-gn-searchform-reset" type="reset" disabled aria-label="Clear Search"> <span class="ac-gn-searchform-reset-background"></span> </button> </div> </form> <button id="ac-gn-searchview-close-small" class="ac-gn-searchview-close ac-gn-searchview-close-small" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true"> Cancel </span> </button> </div> </div> <aside id="ac-gn-searchresults" class="ac-gn-searchresults hidden" data-string-quicklinks="Quick Links" data-string-suggestions="Suggested Searches" data-string-noresults=""> <section class="ac-gn-searchresults-section ac-gn-searchresults-section-defaultlinks"> <div class="ac-gn-searchresults-section-wrapper"> <div class="search-group-checkbox hidden"><input id="group-input" type="checkbox" name="group-filter" checked>Only search within “<span id="group-search-label"></span>”</div> <h3 class="ac-gn-searchresults-header ac-gn-searchresults-animated">Quick Links</h3> <ul class="ac-gn-searchresults-list" id="defaultlinks" role="listbox"> </ul> <span role="status" class="ac-gn-searchresults-count" aria-live="polite">5 Quick Links</span> </div> </section> </aside> </div> <button id="ac-gn-searchview-close" class="ac-gn-searchview-close" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-wrapper"> <span class="ac-gn-searchview-close-left"></span> <span class="ac-gn-searchview-close-right"></span> </span> </button> </aside> </div> </nav> <div class="ac-gn-blur"></div> <div id="ac-gn-curtain" class="ac-gn-curtain"></div> <div id="ac-gn-placeholder" class="ac-nav-placeholder"></div> <script src="/assets/scripts/ac-globalnav.built.js?17182448067"></script> <link rel="stylesheet" href="/assets/styles/search.css?17182448067"> <script src="/assets/scripts/search.js?17182448067"></script> <!-- metrics --> <script> /* RSID: */ var s_account="awdappledeveloper" </script> <script src="/assets/metrics/scripts/analytics.js?072620243"></script> <script> s.pageName= AC && AC.Tracking && AC.Tracking.pageName(); s.channel="www.en.developer" s.channel="www.en.developer"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code) </script> <!-- /metrics --> <link rel="stylesheet" property="stylesheet" href="/assets/styles/localnav.css" type="text/css" /> <input type="checkbox" id="localnav-menustate" class="localnav-menustate"/> <nav id="localnav" class="localnav localnav-scrim" data-sticky role="navigation"> <div class="localnav-wrapper"> <div class="localnav-background"></div> <div class="localnav-content"> <h2 class="localnav-title"> <a href="/macos/">macOS</a> </h2> <div class="localnav-menu"> <a href="#localnav-menustate" class="localnav-menucta-anchor localnav-menucta-anchor-open" id="localnav-menustate-open"> <span class="localnav-menucta-anchor-label">Open Menu</span> </a> <a href="#" class="localnav-menucta-anchor localnav-menucta-anchor-close" id="localnav-menustate-close"> <span class="localnav-menucta-anchor-label">Close Menu</span> </a> <div class="localnav-menu-tray"> <ul class="localnav-menu-items"> <li class="localnav-menu-item"> <a href="/macos/" class="localnav-menu-link">macOS 15</a> </li> <li class="localnav-menu-item"> <a href="/mac-catalyst/" class="localnav-menu-link">Mac Catalyst</a> </li> <li class="localnav-menu-item"> <a href="/macos/planning/" class="localnav-menu-link">Plan your app</a> </li> <li class="localnav-menu-item"> <a href="/macos/submit/" class="localnav-menu-link">Submit your app</a> </li> </ul> </div> <div class="localnav-actions localnav-actions-center"> <div class="localnav-action localnav-action-menucta" aria-hidden="true"> <label for="localnav-menustate" class="localnav-menucta"> <span class="localnav-menucta-chevron"></span> </label> </div> <div class="localnav-action localnav-action-button"> <a class="localnav-button button button-compact button-pill" href="/download/">Download<span class="loc-en-only"></span> <span class="localnav-action-product">macOS</span> </a> </div> </div> </div> </div> </div> </nav> <label id="localnav-curtain" for="localnav-menustate"></label> <script src="/assets/scripts/ac-localnav.built.js"></script> <script type="text/javascript" src="/assets/scripts/localnav.js"></script> <main id="main" class="main" role="main" data-hires="true"> <div class="ribbon ribbon-blue"> <div class="ribbon-drop-wrapper"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-centered"> <p><a href="/news/?id=ibe0jb52" class="ribbon-link">Game development sessions, documentation, and sample code — <span class="nowrap more">all in one place</span></a></p> </div> </div> </div> </div> </div> <section class="section section-hero bg-light"> <div class="section-content"> <div class="row"> <div class="column large-centered large-12 medium-12 text-center"> <h1 class="typography-headline">Build for macOS Sequoia</h1> </div> </div> </div> <figure class="device-hero device-macbook-pro-5th-gen-16-silver large-centered margin-top macos-hero"> <picture class="device-screen"> <source media="(max-width:735px)" srcset="/macos/images/screen-macos15-small_2x.png" /> <source media="(max-width:1068px)" srcset="/macos/images/screen-macos15-medium_2x.png" /> <img src="/macos/images/screen-macos15-large_2x.png" width="100%" alt="" aria-label="" /> </picture> </figure> </section> <section class="section section-topics"> <div class="section-content"> <div class="row"> <div class="column large-centered large-10 medium-12"> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/apple-intelligence/apple-intelligence-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>Apple Intelligence</h2> <p>Apple Intelligence is the personal intelligence system that puts powerful generative models right at the core of your iPhone, iPad, and Mac. It powers incredible new features to help people communicate, work, and express themselves.</p> <p>Writing Tools are available system-wide, and help users rewrite, proofread, and summarize text. The Image Playground API delivers an easy-to-use experience where people can create fun, playful images right in your app. Genmoji bring fun new ways to communicate by providing the ability to create an emoji for any occasion. And Siri will be able to access text displayed in your app, and take hundreds of new actions in and across apps using the App Intents you make available.</p> <p><a href="/apple-intelligence/" class="more nowrap">Learn about Apple Intelligence</a></p> <div class="resource-grid margin-top-small"> <a href="/videos/play/wwdc2024/10168/" class="resource-grid-item"> <div class="image-wrapper thumbnail" aria-hidden="true"> <img class="thumbnail-image" data-session="wwdc24-10168" src="https://devimages-cdn.apple.com/wwdc-services/images/C03E6E6D-A32A-41D0-9E50-C3C6059820AA/9298/9298_wide_900x506_2x.jpg" alt="" width="100%"> <span class="thumbnail-scrim"></span> <span class="thumbnail-button" aria-label="Play"></span> </div> <h4>Get started with Writing Tools</h4> </a> <a href="/videos/play/wwdc2024/10220/" class="resource-grid-item"> <div class="image-wrapper thumbnail" aria-hidden="true"> <img class="thumbnail-image" data-session="wwdc24-10220" src="https://devimages-cdn.apple.com/wwdc-services/images/C03E6E6D-A32A-41D0-9E50-C3C6059820AA/9374/9374_wide_900x506_2x.jpg" alt="" width="100%"> <span class="thumbnail-scrim"></span> <span class="thumbnail-button" aria-label="Play"></span> </div> <h4>Bring expression to your app with Genmoji</h4> </a> </div> <p><a href="/videos/machine-learning-ai/" class="icon icon-after icon-playcircle">Watch more of the latest videos</a></p> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/game-porting-toolkit-2/game-porting-toolkit-2-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>Bring your advanced games to Mac</h2> <p>Accelerate your timeline, whether you’re bringing an existing game or one that’s currently in development. With the Game Porting Toolkit 2, it’s never been easier to bring advanced games to Mac, iPad, and iPhone — and to deliver great experiences for players.</p> <p><a href="/games/game-porting-toolkit/">Learn more about the <span class="more nowrap">Game Porting Toolkit 2</span></a></p> <div class="resource-grid margin-top-small"> <a href="/videos/play/wwdc2024/10089/" class="resource-grid-item"> <div class="image-wrapper thumbnail" aria-hidden="true"> <img class="thumbnail-image" data-session="wwdc24-10089" src="https://devimages-cdn.apple.com/wwdc-services/images/C03E6E6D-A32A-41D0-9E50-C3C6059820AA/9200/9200_wide_900x506_2x.jpg" alt="" width="100%"> <span class="thumbnail-scrim"></span> <span class="thumbnail-button" aria-label="Play"></span> </div> <h4>Port advanced games to Apple platforms</h4> </a> <a href="/videos/play/wwdc2024/10085/" class="resource-grid-item"> <div class="image-wrapper thumbnail" aria-hidden="true"> <img class="thumbnail-image" data-session="wwdc24-10085" src="https://devimages-cdn.apple.com/wwdc-services/images/C03E6E6D-A32A-41D0-9E50-C3C6059820AA/9196/9196_wide_900x506_2x.jpg" alt="" width="100%"> <span class="thumbnail-scrim"></span> <span class="thumbnail-button" aria-label="Play"></span> </div> <h4>Design advanced games for Apple platforms</h4> </a> </div> <p><a href="/videos/graphics-games" class="icon icon-after icon-playcircle">Watch more of the latest videos</a></p> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/metal/metal-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>Metal</h2> <p>Metal powers hardware-accelerated graphics on Apple platforms. Now you can naturally port apps from other platforms with added support for global bindings and extensions to ray tracing. Residency sets let you quickly and easily group resources to manage residency. And it’s even simpler to target Mac, iPad, and iPhone with the same code, thanks to a unified API and shader build process.</p> <p><a href="/metal/" class="more nowrap">Learn about Metal</a></p> <p><a href="/videos/all-videos/?q=Metal" class="icon icon-after icon-playcircle">Watch the latest videos</a></p> </div> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon light-border" src="/assets/elements/icons/app-intents/app-intents-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>App Intents</h2> <p>New orchestration capabilities provided by Apple Intelligence and significant enhancements to App Intents will enable Siri to take hundreds of new actions in and across apps. Using the Transferable API, File Representations, Item Providers, Spotlight Index, and more, you can make your entities more meaningful to the platform. Plus, you can provide powerful functionality in Siri and Spotlight. You can also explore new APIs for error handling, deferred properties, and associated enums.</p> <p><a href="/videos/all-videos/?q=Siri%20App%20Intents" class="icon icon-after icon-playcircle">Watch the latest videos</a></p> </div> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/core-ml/core-ml-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>Machine learning</h2> <h3 class="margin-top-small">Core ML</h3> <p>Updates to Core ML will help you optimize and run advanced generative machine learning and AI models on device faster and more efficiently. Core ML Tools offer more granular and composable weight compression techniques to help you bring your large language models and diffusion models to Apple silicon. Models can now hold multiple functions and efficiently manage state, enabling more flexible and efficient execution of large language models and adapters. The Core ML framework also adds a new MLTensor type that provides an efficient, simple, and familiar API for expressing operations on multi-dimensional arrays. And Core ML performance reports in Xcode have been updated to provide more insight into support and estimated cost of each operation in your model.</p> <h3>Create ML</h3> <p>Object tracking, the first spatial computing template, is designed to help you track real world objects in your visionOS app. Enhance your customized model training workflow with the new data preview functionality in the Create ML app and new Swift APIs from Create ML Components that help you create time series models directly within your app.</p> <h3>Machine learning APIs</h3> <p>The new Translation framework allows you to translate text across different languages in your app. The Vision framework API has been redesigned to leverage modern Swift features, and also supports two new features: image aesthetics and holistic body pose. And the Natural Language framework offers extended language support with multilingual contextual embedding.</p> <p><a href="/machine-learning/" class="more nowrap">Learn about machine learning</a></p> <p><a href="/videos/all-videos/?q=machine%20learning" class="icon icon-after icon-playcircle">Watch the latest videos</a></p> </div> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/realitykit/realitykit-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>RealityKit 4</h2> <p>RealityKit 4 aligns its rich feature set across iPhone, iPad, Mac, and Apple Vision Pro. Reality Composer Pro, a new tool that launched with Apple Vision Pro, enables development of spatial apps on all these platforms.</p> <p>Shaders built with MaterialX, portals, particles, and many other features can now be used with RealityView on all four platforms. This includes APIs for adding materials, shader-based hover effects, and virtual lighting, as well as new features — like blend shapes, inverse kinematics, skeletal poses, and animation timelines — that expand character animation capabilities.</p> <p>RealityKit 4 also provides more direct access to rendering with new APIs for low-level mesh and textures, which work with Metal compute shaders. And because Xcode view debugging now supports inspecting 3D scene content, it’s easier than ever to inspect and debug your RealityKit content.</p> <p><a href="/augmented-reality/realitykit/" class="more nowrap">Learn about RealityKit</a></p> <p><a href="/videos/all-videos/?q=RealityKit" class="icon icon-after icon-playcircle">Watch the latest videos</a></p> </div> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon topic-icon-invert" src="/assets/elements/icons/passkeys/passkeys-96x96_2x.png" width="96" height="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>Passkeys</h2> <p>Passkeys are a replacement for passwords that are more secure, easier to use, and can’t be phished. They offer faster sign-in, fewer password resets, and reduced support costs. Use the new automatic passkey upgrade API to create a passkey when someone signs in to your app and let them know that the passkey was saved — all without interrupting their flow.</p> <p><a href="/passkeys/" class="more nowrap">Learn about passkeys</a></p> <p><a href="/videos/play/wwdc2024/10125/" class="icon icon-after icon-playcircle">Watch the latest video</a></p> </div> </div> <div class="row"> <div class="column large-2 small-12"> <img class="topic-icon" src="/assets/elements/icons/storekit/storekit-96x96_2x.png" width="96" alt="" /> </div> <div class="column large-10 small-12"> <h2>App Store and StoreKit</h2> <p>Find out how to nominate your apps for featuring on the App Store and share exciting moments (like a version launch) with marketing assets generated for you. Enhancements to StoreKit views give you more flexibility and customization options when building your merchandising experiences. Improvements to StoreKit testing in Xcode and the Apple Sandbox environment help you test additional purchase scenarios. Offer codes for macOS apps let you provide discounted or free subscriptions for a period of time. And win-back offers give you a new way to re-engage previous subscribers.</p> <p><a href="/app-store/whats-new/">Learn about what’s new <span class="nowrap more">on the App Store</span></a></p> <p><a href="/videos/all-videos/?q=App%20Store" class="icon icon-after icon-playcircle">Watch the latest videos</a></p> </div> </div> </div> </div> </div> </div> </div> </section> <section class="section section-resources bg-alt"> <div class="section-content"> <div class="row"> <div class="column large-centered large-12 small-12 text-center"> <img class="hero-icon center" src="/assets/elements/icons/xcode-12/xcode-12-96x96_2x.png" width="96" alt="" /> <h2>Get started</h2> <p>Download Xcode to start building apps for all Apple platforms.</p> <p><a href="/download/" class="icon icon-after icon-downloadcircle">Download Xcode<span class="loc-en-only"></span></a></p> </div> </div> </div> </section> </main> <link rel="stylesheet" property="stylesheet" href="/assets/styles/router-strip.css" type="text/css" /> <aside class="section developer-router-links bg-alt"> <div class="section-content"> <div class="row"> <div class="column large-3 medium-6 small-6"> <a href="/macos/planning/" class="block text-center"> <img src="/assets/elements/icons/symbols/list-bullet-clipboard.svg" height="50" alt="" /> <p><span class="block-link">Start planning your macOS app</span></p> </a> </div> <div class="column large-3 medium-6 small-6"> <a href="/design/human-interface-guidelines/designing-for-macos/" class="block text-center"> <img src="/assets/elements/icons/symbols/paintbrush.svg" height="50" alt="" /> <p><span class="block-link">Learn how to design for macOS</span></p> </a> </div> <div class="column large-3 medium-6 small-6"> <a href="/documentation/" class="block text-center"> <img src="/assets/elements/icons/symbols/book-pages.svg" height="50" alt="" /> <p><span class="block-link">Browse the latest documentation</span></p> </a> <!-- <a href="/cn/documentation/" class="block text-center"><span class="block-link">阅读简体中文文档</span></a> <a href="/jp/documentation/" class="block text-center"><span class="block-link">日本語ドキュメント</span></a> --> </div> <div class="column large-3 medium-6 small-6"> <a href="/forums/tags/macos" class="block text-center"> <img src="/assets/elements/icons/symbols/bubble-left-and-text-bubble-right.svg" height="50" alt="" /> <p><span class="block-link">Ask questions on the forums<span class="loc-en-only"></span></span></p> </a> </div> </div> </div> </aside> <link rel="stylesheet" href="/assets/styles/footer.dist.css?17182448067"> <footer id="footer" class="footer" role="contentinfo" aria-labelledby="footer-label"> <div class="footer-content"> <h2 class="footer-label" id="footer-label">Developer Footer</h2> <developer-breadcrumbs> <li>macOS</li> </developer-breadcrumbs> <nav class="footer-directory" aria-label="Apple Developer Directory" role="navigation"> <!--googleoff: all--> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-platform" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-platform"> <h3 class="footer-directory-column-section-title">Platforms</h3> </label> <a href="#footer-directory-column-section-state-platform" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ios/">iOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ipados/">iPadOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/macos/">macOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/tvos/">tvOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/visionos/">visionOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/watchos/">watchOS</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-tools" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-tools"> <h3 class="footer-directory-column-section-title">Tools</h3> </label> <a href="#footer-directory-column-section-state-tools" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift/">Swift</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swiftui/">SwiftUI</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift-playgrounds/">Swift Playgrounds</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/testflight/">TestFlight</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode/">Xcode</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode-cloud/">Xcode Cloud</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/sf-symbols/">SF Symbols</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-topics" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-topics"> <h3 class="footer-directory-column-section-title">Topics & Technologies</h3> </label> <a href="#footer-directory-column-section-state-topics" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessibility/">Accessibility</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessories/">Accessories</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-extensions/">App Extensions</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/">App Store</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/audio/">Audio & Video</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/augmented-reality/">Augmented Reality</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/">Design</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/distribute/">Distribution</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/education/">Education</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/fonts/">Fonts</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/games/">Games</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/health-fitness/">Health & Fitness</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/in-app-purchase/">In-App Purchase</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/localization/">Localization</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/maps/">Maps & Location</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/machine-learning/">Machine Learning</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://opensource.apple.com">Open Source</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security/">Security</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/safari/">Safari & Web</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-resources" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-resources"> <h3 class="footer-directory-column-section-title">Resources</h3> </label> <a href="#footer-directory-column-section-state-resources" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/documentation/">Documentation</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/learn/">Tutorials</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/download/">Downloads</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/forums/">Forums</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/videos/">Videos</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-support" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-support"> <h3 class="footer-directory-column-section-title">Support</h3> </label> <a href="#footer-directory-column-section-state-support" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/support/articles/">Support Articles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/contact/">Contact Us</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/bug-reporting/">Bug Reporting</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/system-status/">System Status</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-account" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-account"> <h3 class="footer-directory-column-section-title">Account</h3> </label> <a href="#footer-directory-column-section-state-account" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/">Apple Developer</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://appstoreconnect.apple.com/">App Store Connect</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/ios/certificate/">Certificates, IDs, & Profiles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://feedbackassistant.apple.com/">Feedback Assistant</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-programs" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-programs"> <h3 class="footer-directory-column-section-title">Programs</h3> </label> <a href="#footer-directory-column-section-state-programs" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/">Apple Developer Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/enterprise/">Apple Developer Enterprise Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/small-business-program/">App Store Small Business Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://mfi.apple.com/">MFi Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/news-partner/">News Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/video-partner/">Video Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security-bounty/">Security Bounty Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/security-research-device/">Security Research Device Program</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-events" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-events"> <h3 class="footer-directory-column-section-title">Events</h3> </label> <a href="#footer-directory-column-section-state-events" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/">Meet with Apple</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/developer-centers/">Apple Developer Centers</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/app-store-awards/">App Store Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/awards/">Apple Design Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/academies/">Apple Developer Academies</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/entrepreneur-camp/">Entrepreneur Camp</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/wwdc/">WWDC</a></li> </ul> </div> </div> <!--googleon: all--> </nav> <section class="footer-mini" vocab="http://schema.org/" typeof="Organization"> <div class="footer-mini-news"> <div class="copy"> Get the <a href="https://apps.apple.com/us/app/apple-developer/id640199958">Apple Developer app</a>. </div> <div class="content"> <div class="color-scheme-toggle" role="radiogroup" tabindex="0" aria-label="Select a color scheme preference"> <label data-color-scheme-option="light"> <input type="radio" value="light" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Light</div> </label> <label data-color-scheme-option="dark"> <input type="radio" value="dark" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Dark</div> </label> <label data-color-scheme-option="auto"> <input type="radio" value="auto" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Auto</div> </label> </div> <script async src="/assets/scripts/color-scheme-toggle.js"></script> </div> </div> <link rel="stylesheet" href="/assets/styles/language-dropdown.css?17182448067"> <div class="language-dropdown dropdown-container legacy-form hidden"> <select class="dropdown" aria-label="Language Dropdown"></select> <span class="dropdown-icon icon icon-chevrondown" aria-hidden="true"></span> </div> <script src="/assets/scripts/language-dropdown.js?17182448067"></script> <div class="footer-mini-legal"> <div class="footer-mini-legal-copyright">Copyright © 2024 <a href="https://www.apple.com">Apple Inc.</a> All rights reserved.</div> <div class="footer-mini-legal-links"> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/privacy/">Privacy Policy</a> <a class="footer-mini-legal-link" href="/support/terms/">Agreements and Guidelines</a> </div> </div> </section> </div> </footer> </body> </html>