In Xcode, select your project file in the navigator, then select your target and click the Info tabAdd a row to the Info.plist setting the key to NSCameraUsageDescription and the value to something like: This app uses the camera for video calls.Do the same again but this time for the NSMicrophoneUsageDescription key with a value like: This app uses the microphone for video calls.
Setup complete! Now let’s add UserKit to your code.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"UserKit","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#000000"},"favicon":"/favicon.svg","navbar":{"links":[],"primary":{"type":"button","label":"Sign up","href":"https://getuserkit.com/signup"}},"footer":{"socials":{"github":"https://github.com/getuserkit"}},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://getuserkit.com"},{"anchor":"GitHub","icon":"github","href":"https://github.com/getuserkit"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"userkit","hasAudioNarration":false,"actualSubdomain":"userkit","customDomains":["docs.getuserkit.com"],"gitSource":{"type":"github","owner":"getuserkit","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e70df325d2bf100613f8","collectionId":"064d2fdf-7bb7-4c16-8d94-9dea242088d7","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae9292df2a30ac762f625cf:success","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Docs","count":11},{"language":"default","tag":"Quickstart","count":8},{"language":"default","tag":"SDK Reference","count":3},{"language":"default","tag":"Installation","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"quickstart/media-usage-description","slug":"/quickstart/media-usage-description","pageMetadata":{"title":"Mic \u0026 Camera Usage Description","sidebarTitle":"Mic \u0026 Camera Usage","description":null,"href":"/quickstart/media-usage-description"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Check,OptimizedImage}=_components;if(!Check)_missingMdxReference(`Check`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Xcode`}),`, select your `,_jsx(_components.strong,{children:`project file`}),` in the navigator, then select your `,_jsx(_components.strong,{children:`target`}),` and click the `,_jsx(_components.strong,{children:`Info`}),` tab`]}),`\n`,_jsxs(_components.p,{children:[`Add a row to the `,_jsx(_components.strong,{children:`Info.plist`}),` setting the key to `,_jsx(_components.strong,{children:`NSCameraUsageDescription`}),` and the value to something like: `,_jsx(_components.code,{children:`This app uses the camera for video calls.`})]}),`\n`,_jsxs(_components.p,{children:[`Do the same again but this time for the `,_jsx(_components.strong,{children:`NSMicrophoneUsageDescription`}),` key with a value like: `,_jsx(_components.code,{children:`This app uses the microphone for video calls.`})]}),`\n`,_jsx(OptimizedImage,{className:`mint-rounded-lg`,src:`https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=14cff441251ff1237736793dc348dac7`,\"data-og-width\":`2758`,width:`2758`,\"data-og-height\":`1436`,height:`1436`,\"data-path\":`images/media-usage-step-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=2b34789767ee08025baadb83d96a602d 280w, https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=9a004bd9b23c4f60c88bbee2e432f7e7 560w, https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=ab9b5311b668947fc5b7d521d0d01a05 840w, https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=b28c706a886fdcbd8ef2bfc4f9c218a2 1100w, https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=78deb45644489ec96e2658135e985162 1650w, https://mintcdn.com/userkit/u7uRrIvdXG8opqR4/images/media-usage-step-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=u7uRrIvdXG8opqR4\u0026q=85\u0026s=bf94e3b77ff14d0c3217c190368bbcfc 2500w`}),`\n`,_jsxs(Check,{children:[_jsx(`strong`,{children:`Setup complete!`}),` Now let’s add UserKit to your code.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Mic \u0026 Camera Usage Description","sidebarTitle":"Mic \u0026 Camera Usage","description":null,"href":"/quickstart/media-usage-description"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-rounded-lg {\n border-radius: 0.5rem\n}","subdomain":"userkit","siteName":"UserKit","title":"Mic \u0026 Camera Usage Description - UserKit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-10-22T00:42:01.240Z","originalFileLocation":"quickstart/media-usage-description.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"UserKit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Mic \u0026amp; Camera Usage Description - UserKit\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"UserKit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getuserkit.com/quickstart/media-usage-description\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://userkit.mintlify.app/_mintlify/api/og/v2?division=Quickstart\u0026amp;title=Mic+%26+Camera+Usage+Description\u0026amp;theme=2d4fe796bff96a21fc405041\u0026amp;signature=f7640de3a18bcf7e7b8da33a009a084d9eb5dbf4c9f678ebeed6bbae7f4d16e8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Mic \u0026amp; Camera Usage Description - UserKit\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://userkit.mintlify.app/_mintlify/api/og/v2?division=Quickstart\u0026amp;title=Mic+%26+Camera+Usage+Description\u0026amp;theme=2d4fe796bff96a21fc405041\u0026amp;signature=f7640de3a18bcf7e7b8da33a009a084d9eb5dbf4c9f678ebeed6bbae7f4d16e8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/userkit/7LeAwO8NAGwy0rM1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"UserKit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getuserkit.com/quickstart/media-usage-description\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/quickstart/media-usage-description.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getuserkit.com/#organization\",\"name\":\"UserKit\",\"url\":\"https://docs.getuserkit.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getuserkit.com#website\",\"name\":\"UserKit\",\"url\":\"https://docs.getuserkit.com\",\"publisher\":{\"@id\":\"https://docs.getuserkit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getuserkit.com/quickstart/media-usage-description#webpage\",\"url\":\"https://docs.getuserkit.com/quickstart/media-usage-description\",\"name\":\"Mic \u0026 Camera Usage Description\",\"dateModified\":\"2025-10-22T00:42:01.240Z\",\"isPartOf\":{\"@id\":\"https://docs.getuserkit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getuserkit.com/quickstart/media-usage-description#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getuserkit.com/quickstart/media-usage-description#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Quickstart\",\"item\":\"https://docs.getuserkit.com/quickstart/installation\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mic \u0026 Camera Usage Description\",\"item\":\"https://docs.getuserkit.com/quickstart/media-usage-description\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getuserkit.com/quickstart/media-usage-description#article\",\"headline\":\"Mic \u0026 Camera Usage Description\",\"name\":\"Mic \u0026 Camera Usage Description\",\"url\":\"https://docs.getuserkit.com/quickstart/media-usage-description\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getuserkit.com/quickstart/media-usage-description#webpage\"},\"dateModified\":\"2025-10-22T00:42:01.240Z\",\"publisher\":{\"@id\":\"https://docs.getuserkit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getuserkit.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"UserKit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"UserKit","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://getuserkit.com"},{"anchor":"GitHub","icon":"github","href":"https://github.com/getuserkit"}]},"tabs":[{"tab":"Docs","groups":[{"group":"Quickstart","pages":[{"group":"Installation","pages":[{"title":"Installation","sidebarTitle":"Overview","href":"/quickstart/installation"},{"title":"Swift Package Manager","href":"/quickstart/installation-via-spm"}]},{"title":"Enable Capabilities","sidebarTitle":"Enable Capabilities","description":null,"href":"/quickstart/capabilities"},{"title":"Mic \u0026 Camera Usage Description","sidebarTitle":"Mic \u0026 Camera Usage","href":"/quickstart/media-usage-description"},{"title":"Configuring the SDK","sidebarTitle":"Configuring the SDK","description":null,"href":"/quickstart/configuring-the-sdk"},{"title":"Identifying Users","sidebarTitle":"Identifying Users","href":"/quickstart/identifying-users"},{"title":"Calls","sidebarTitle":"Making Calls","href":"/quickstart/calls"},{"title":"Enqueuing Calls","sidebarTitle":"Enqueuing Calls","href":"/quickstart/enqueuing-calls"}]},{"group":"SDK Reference","pages":[{"title":"configure()","sidebarTitle":"configure()","href":"/sdk-reference/configure"},{"title":"identify()","sidebarTitle":"identify()","href":"/sdk-reference/identify"},{"title":"enqueue()","sidebarTitle":"enqueue()","href":"/sdk-reference/enqueue"}]}]}]},"basePath":"","title":"Mic \u0026 Camera Usage Description - UserKit","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CvtNkYOX.js","lightbox-handle-r17bVUz3.js"]}