CINXE.COM

AppleInsider

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1,maximum-scale=3" name="viewport"> <meta name="description" content="In-depth Apple news, analysis &amp; reviews since 1997. | 964 members" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@discord" /> <meta name="twitter:title" content="Join the AppleInsider Discord Server!" /> <meta name="twitter:description" content="In-depth Apple news, analysis &amp; reviews since 1997. | 964 members" /> <meta property="og:title" content="Join the AppleInsider Discord Server!" /> <meta property="og:url" content="https://discord.com/invite/F4UFPVMhgM" /> <meta property="og:description" content="In-depth Apple news, analysis &amp; reviews since 1997. | 964 members" /> <meta property="og:site_name" content="Discord" /> <link rel="canonical" href="https://discord.com/invite/F4UFPVMhgM" /> <meta property="og:locale:alternate" content="pl" /> <meta property="og:locale:alternate" content="pt-BR" /> <meta property="og:locale:alternate" content="bg" /> <meta property="og:locale:alternate" content="lt" /> <meta property="og:locale:alternate" content="da" /> <meta property="og:locale:alternate" content="nl" /> <meta property="og:locale:alternate" content="ro" /> <meta property="og:locale:alternate" content="es-ES" /> <meta property="og:locale:alternate" content="fr" /> <meta property="og:locale:alternate" content="uk" /> <meta property="og:locale:alternate" content="fi" /> <meta property="og:locale:alternate" content="el" /> <meta property="og:locale" content="en-US" /> <meta property="og:locale:alternate" content="id" /> <meta property="og:locale:alternate" content="ar" /> <meta property="og:locale:alternate" content="ko" /> <meta property="og:locale:alternate" content="ru" /> <meta property="og:locale:alternate" content="zh-CN" /> <meta property="og:locale:alternate" content="hu" /> <meta property="og:locale:alternate" content="th" /> <meta property="og:locale:alternate" content="hi" /> <meta property="og:locale:alternate" content="tr" /> <meta property="og:locale:alternate" content="cs" /> <meta property="og:locale:alternate" content="vi" /> <meta property="og:locale:alternate" content="es-419" /> <meta property="og:locale:alternate" content="he" /> <meta property="og:locale:alternate" content="de" /> <meta property="og:locale:alternate" content="sv-SE" /> <meta property="og:locale:alternate" content="hr" /> <meta property="og:locale:alternate" content="en-GB" /> <meta property="og:locale:alternate" content="it" /> <meta property="og:locale:alternate" content="ja" /> <meta property="og:locale:alternate" content="zh-TW" /> <meta property="og:locale:alternate" content="no" /> <meta rel="alternate" hreflang="pl" href="https://discord.com/invite/F4UFPVMhgM?locale=pl" /> <meta rel="alternate" hreflang="pt-BR" href="https://discord.com/invite/F4UFPVMhgM?locale=pt-BR" /> <meta rel="alternate" hreflang="bg" href="https://discord.com/invite/F4UFPVMhgM?locale=bg" /> <meta rel="alternate" hreflang="lt" href="https://discord.com/invite/F4UFPVMhgM?locale=lt" /> <meta rel="alternate" hreflang="da" href="https://discord.com/invite/F4UFPVMhgM?locale=da" /> <meta rel="alternate" hreflang="nl" href="https://discord.com/invite/F4UFPVMhgM?locale=nl" /> <meta rel="alternate" hreflang="ro" href="https://discord.com/invite/F4UFPVMhgM?locale=ro" /> <meta rel="alternate" hreflang="es-ES" href="https://discord.com/invite/F4UFPVMhgM?locale=es-ES" /> <meta rel="alternate" hreflang="fr" href="https://discord.com/invite/F4UFPVMhgM?locale=fr" /> <meta rel="alternate" hreflang="uk" href="https://discord.com/invite/F4UFPVMhgM?locale=uk" /> <meta rel="alternate" hreflang="fi" href="https://discord.com/invite/F4UFPVMhgM?locale=fi" /> <meta rel="alternate" hreflang="el" href="https://discord.com/invite/F4UFPVMhgM?locale=el" /> <meta rel="alternate" hreflang="en-US" href="https://discord.com/invite/F4UFPVMhgM?locale=en-US" /> <meta rel="alternate" hreflang="id" href="https://discord.com/invite/F4UFPVMhgM?locale=id" /> <meta rel="alternate" hreflang="ar" href="https://discord.com/invite/F4UFPVMhgM?locale=ar" /> <meta rel="alternate" hreflang="ko" href="https://discord.com/invite/F4UFPVMhgM?locale=ko" /> <meta rel="alternate" hreflang="ru" href="https://discord.com/invite/F4UFPVMhgM?locale=ru" /> <meta rel="alternate" hreflang="zh-CN" href="https://discord.com/invite/F4UFPVMhgM?locale=zh-CN" /> <meta rel="alternate" hreflang="hu" href="https://discord.com/invite/F4UFPVMhgM?locale=hu" /> <meta rel="alternate" hreflang="th" href="https://discord.com/invite/F4UFPVMhgM?locale=th" /> <meta rel="alternate" hreflang="hi" href="https://discord.com/invite/F4UFPVMhgM?locale=hi" /> <meta rel="alternate" hreflang="tr" href="https://discord.com/invite/F4UFPVMhgM?locale=tr" /> <meta rel="alternate" hreflang="cs" href="https://discord.com/invite/F4UFPVMhgM?locale=cs" /> <meta rel="alternate" hreflang="vi" href="https://discord.com/invite/F4UFPVMhgM?locale=vi" /> <meta rel="alternate" hreflang="es-419" href="https://discord.com/invite/F4UFPVMhgM?locale=es-419" /> <meta rel="alternate" hreflang="he" href="https://discord.com/invite/F4UFPVMhgM?locale=he" /> <meta rel="alternate" hreflang="de" href="https://discord.com/invite/F4UFPVMhgM?locale=de" /> <meta rel="alternate" hreflang="sv-SE" href="https://discord.com/invite/F4UFPVMhgM?locale=sv-SE" /> <meta rel="alternate" hreflang="hr" href="https://discord.com/invite/F4UFPVMhgM?locale=hr" /> <meta rel="alternate" hreflang="en-GB" href="https://discord.com/invite/F4UFPVMhgM?locale=en-GB" /> <meta rel="alternate" hreflang="it" href="https://discord.com/invite/F4UFPVMhgM?locale=it" /> <meta rel="alternate" hreflang="ja" href="https://discord.com/invite/F4UFPVMhgM?locale=ja" /> <meta rel="alternate" hreflang="zh-TW" href="https://discord.com/invite/F4UFPVMhgM?locale=zh-TW" /> <meta rel="alternate" hreflang="no" href="https://discord.com/invite/F4UFPVMhgM?locale=no" /> <meta name="googlebot" content="noindex, nofollow" /> <meta name="bingbot" content="noindex, nofollow" /> <meta name="slurp" content="noindex, nofollow" /> <meta name="duckduckbot" content="noindex, nofollow" /> <meta name="baiduspider" content="noindex, nofollow" /> <meta name="yandexbot" content="noindex, nofollow" /> <meta name="naver" content="noindex, nofollow" /> <meta name="facebookexternalhit" content="index, follow" /> <meta name="twitterbot" content="index, follow" /> <title>AppleInsider</title> <link rel="icon" href="/assets/favicon.ico" /><link href="/assets/69646.32a83a0c7e0a41f066e8.css" rel="stylesheet" /></head> <body> <div id="app-mount"></div><script nonce="NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==">window.__OVERLAY__=/overlay/.test(location.pathname)</script><script nonce="NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==">window.__BILLING_STANDALONE__=/^\/billing/.test(location.pathname)</script><script nonce="NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==">window.GLOBAL_ENV = { API_ENDPOINT: '//discord.com/api', API_VERSION: 9, GATEWAY_ENDPOINT: 'wss://gateway.discord.gg', WEBAPP_ENDPOINT: '//discord.com', CDN_HOST: 'cdn.discordapp.com', ASSET_ENDPOINT: '//discord.com', MEDIA_PROXY_ENDPOINT: '//media.discordapp.net', IMAGE_PROXY_ENDPOINTS: '//images-ext-1.discordapp.net,//images-ext-2.discordapp.net', WIDGET_ENDPOINT: '//discord.com/widget', INVITE_HOST: 'discord.gg', GUILD_TEMPLATE_HOST: 'discord.new', GIFT_CODE_HOST: 'discord.gift', RELEASE_CHANNEL: 'stable', DEVELOPERS_ENDPOINT: '//discord.com', MARKETING_ENDPOINT: '//discord.com', BRAINTREE_KEY: 'production_ktzp8hfp_49pp2rp4phym7387', STRIPE_KEY: 'pk_live_CUQtlpQUF0vufWpnpUmQvcdi', ADYEN_KEY: 'live_E3OQ33V6GVGTXOVQZEAFQJ6DJIDVG6SY', NETWORKING_ENDPOINT: '//router.discordapp.net', RTC_LATENCY_ENDPOINT: '//latency.discord.media/rtc', ACTIVITY_APPLICATION_HOST: 'discordsays.com', PROJECT_ENV: 'production', REMOTE_AUTH_ENDPOINT: '//remote-auth-gateway.discord.gg', SENTRY_TAGS: {"buildId":"5cba0febf321f76109b58a6fd919c746cf67602c","buildType":"normal"}, MIGRATION_SOURCE_ORIGIN: 'https://discordapp.com', MIGRATION_DESTINATION_ORIGIN: 'https://discord.com', HTML_TIMESTAMP: Date.now(), ALGOLIA_KEY: 'aca0d7082e4e63af5ba5917d5e96bed0', PUBLIC_PATH: '/assets/', STATIC_ENDPOINT: '', DEV_SESSION_KEY: 'undefined', };</script><script nonce="NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==">!function(){if(null!=window.WebSocket){if(function(n){try{var o=localStorage.getItem(n);return null==o?null:JSON.parse(o)}catch(n){return null}}("token")&&!window.__OVERLAY__){var n=null!=window.DiscordNative||null!=window.require?"etf":"json",o=window.GLOBAL_ENV.GATEWAY_ENDPOINT+"/?encoding="+n+"&v="+window.GLOBAL_ENV.API_VERSION;null!=window.DiscordNative&&void 0!==window.Uint8Array&&void 0!==window.TextDecoder?o+="&compress=zstd-stream":void 0!==window.Uint8Array&&(o+="&compress=zlib-stream"),console.log("[FAST CONNECT] "+o+", encoding: "+n+", version: "+window.GLOBAL_ENV.API_VERSION);var e=new WebSocket(o);e.binaryType="arraybuffer";var i=Date.now(),w={open:!1,identify:!1,gateway:o,messages:[]};e.onopen=function(){console.log("[FAST CONNECT] connected in "+(Date.now()-i)+"ms"),w.open=!0},e.onclose=e.onerror=function(){window._ws=null},e.onmessage=function(n){w.messages.push(n)},window._ws={ws:e,state:w}}}}()</script> <script src="/assets/webMinimal.8a8c145bf440760e1819.js" defer></script><script src="/assets/sentry.cb8b0bba6934fc850b65.js" defer></script><script nonce="NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==">(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.nonce='NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==';d.innerHTML="window.__CF$cv$params={r:'8e831ed1ce258345',t:'MTczMjU1MzI0NC4wMDAwMDA='};var a=document.createElement('script');a.nonce='NjEsMjEyLDE3OCwxNTQsMTAzLDg2LDE5NSw3MQ==';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>