CINXE.COM
Apple Developer Documentation
<!-- This source file is part of the Swift.org open source project Copyright (c) 2021 Apple Inc. and the Swift project authors Licensed under Apache License v2.0 with Runtime Library Exception See https://swift.org/LICENSE.txt for license information See https://swift.org/CONTRIBUTORS.txt for Swift project authors --> <!DOCTYPE html><html lang="en"><head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes","20220413184320","https://web.archive.org/","web","/_static/", "1649875400"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/web/20220413184320im_/https://developer.apple.com/tutorials/favicon.ico"><link rel="mask-icon" href="/web/20220413184320im_/https://developer.apple.com/tutorials/apple-logo.svg" color="#333333"><title>Apple Developer Documentation</title><script>var baseUrl = "/tutorials/"</script><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/documentation-topic.8eb22d1f.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/documentation-topic~topic~tutorials-overview~welcome-experience-featured~welcome-experience-technologies.a062d316.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/documentation-topic~topic~welcome-experience-technologies.34ebe519.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/global-head-footer.2b7d420e.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/topic.31b0bec5.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/topic~tutorials-overview.41a092e2.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/tutorials-overview.00db02fd.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/welcome-experience-featured.c86a9569.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/welcome-experience-technologies.28185ce7.css" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/chunk-2d217dfc.6b0d6c31.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/documentation-topic.c5150204.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/documentation-topic~topic~tutorials-overview~welcome-experience-featured~welcome-experience-technologies.28519cdd.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/documentation-topic~topic~welcome-experience-technologies.aae6098c.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/global-head-footer.e384c274.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-cpp.3e74d0a2.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-custom-markdown.e7914a9c.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-custom-swift.4362ac8b.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-java.3db08e2e.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-javascript.725f2e9d.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-objectivec.7b30f247.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-php.b6816280.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-python.bf278e30.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-swift.40642860.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/topic.fe9466d3.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/topic~tutorials-overview.ca8102de.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/tutorials-overview.fd4def15.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/welcome-experience-featured.c96ec62e.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/welcome-experience-technologies.6910eac4.js" rel="prefetch"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/chunk-vendors.ec9e036c.css" rel="preload" as="style"><link href="/web/20220413184320/https://developer.apple.com/tutorials/css/index.86fa6d6d.css" rel="preload" as="style"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/chunk-vendors.1b411bbd.js" rel="preload" as="script"><link href="/web/20220413184320/https://developer.apple.com/tutorials/js/index.7c4b3722.js" rel="preload" as="script"><link href="/web/20220413184320cs_/https://developer.apple.com/tutorials/css/chunk-vendors.ec9e036c.css" rel="stylesheet"><link href="/web/20220413184320cs_/https://developer.apple.com/tutorials/css/index.86fa6d6d.css" rel="stylesheet"></head><body data-color-scheme="auto"><div id="_omniture_top"><script>var s_account="awdappledeveloper"</script><script src="/web/20220413184320js_/https://developer.apple.com/tutorials/js/analytics.js"></script></div><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/web/20220413184320js_/https://developer.apple.com/tutorials/js/chunk-vendors.1b411bbd.js"></script><script src="/web/20220413184320js_/https://developer.apple.com/tutorials/js/index.7c4b3722.js"></script></body></html><!-- FILE ARCHIVED ON 18:43:20 Apr 13, 2022 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 15:53:45 Dec 18, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.589 exclusion.robots: 0.028 exclusion.robots.policy: 0.017 esindex: 0.013 cdx.remote: 20.737 LoadShardBlock: 397.567 (3) PetaboxLoader3.resolve: 1933.811 (3) PetaboxLoader3.datanode: 254.167 (4) load_resource: 1884.224 -->