Drag the GJDigitalSDK.framework and WebRTC.framework files to the resource directory of the project:
In project-General-Frameworks, Libraries, and Embedded Content, change the following framework
GJDigitalSDK.frameworkWebRTC.framework
to Embed & Sign
Add recording permission and local network permission in Info.plist file
<key>NSLocalNetworkUsageDescription</key><string>Obtain local network permissions</string><key>NSMicrophoneUsageDescription</key><string>Recording rights are required for speech recognition</string>
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Starter Kit","colors":{"primary":"#f230aa","light":"#F5F5F8","dark":"#f230aa"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/ahuahua/EcdBWtfuTiIwhZYC/logo/light.svg?fit=max\u0026auto=format\u0026n=EcdBWtfuTiIwhZYC\u0026q=85\u0026s=c0e8a88497f542420e58976ad57a4543","dark":"https://mintcdn.com/ahuahua/EcdBWtfuTiIwhZYC/logo/dark.svg?fit=max\u0026auto=format\u0026n=EcdBWtfuTiIwhZYC\u0026q=85\u0026s=fc9c24ce68db20965432d102a48860ca"},"navbar":{"links":[{"label":"Support","href":"mailto:feedback@duix.com"}],"primary":{"type":"button","label":"Sign up","href":"https://duix.com/login"}},"footer":{"socials":{"x":"https://x.com/duix","github":"https://github.com/duix","linkedin":"https://linkedin.com/company/duix"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ahuahua","hasAudioNarration":false,"actualSubdomain":"ahuahua","customDomains":["docs.guiji.cn"],"gitSource":{"type":"github","owner":"zhouahua","repo":"duix.com","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e65ea8fc07c2afd373a3","collectionId":"bd880b97-773d-4369-8226-638c50a1fa64","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e65ea8fc07c2afd373a3:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":29},{"language":"default","tag":"Android SDK","count":6},{"language":"default","tag":"API Documentation","count":6},{"language":"default","tag":"H5 SDK","count":6},{"language":"default","tag":"iOS SDK","count":6},{"language":"default","tag":"Conversational Video Interface","count":3},{"language":"default","tag":"Replica","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":"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":"byok-sep-25","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":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/ios/sdkreference","slug":"/api-reference/ios/sdkreference","pageMetadata":{"title":"SDK Reference","description":null,"href":"/api-reference/ios/sdkreference"},"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`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Drag the GJDigitalSDK.framework and WebRTC.framework files to the resource directory of the project:\nIn project-General-Frameworks, Libraries, and Embedded Content, change the following `,_jsx(_components.code,{children:`framework`})]}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GJDigitalSDK.framework`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WebRTC.framework`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`to `,_jsx(_components.code,{children:`Embed \u0026 Sign`})]}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`Add recording permission and local network permission in Info.plist file`}),`\n`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003ckey>NSLocalNetworkUsageDescription\u003c/key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003cstring>Obtain local network permissions\u003c/string>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003ckey>NSMicrophoneUsageDescription\u003c/key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003cstring>Recording rights are required for speech recognition\u003c/string>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})}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":"SDK Reference","description":null,"href":"/api-reference/ios/sdkreference"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"ahuahua","siteName":"Starter Kit","title":"SDK Reference - Starter Kit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T04:03:47.952Z","originalFileLocation":"api-reference/ios/sdkreference.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=\"Starter Kit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_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/ahuahua/cWgCoIc-CzEy2Rhc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"SDK Reference - Starter Kit\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Starter Kit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.guiji.cn/api-reference/ios/sdkreference\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ahuahua.mintlify.app/_mintlify/api/og/v2?division=iOS+SDK\u0026amp;title=SDK+Reference\u0026amp;theme=4f2bab2178136a15c7fbae0a\u0026amp;signature=71ea419d3eeb9f51f126d60367b015057562e31f8a7f3c6251539d62903ab0e4\">\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=\"SDK Reference - Starter Kit\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ahuahua.mintlify.app/_mintlify/api/og/v2?division=iOS+SDK\u0026amp;title=SDK+Reference\u0026amp;theme=4f2bab2178136a15c7fbae0a\u0026amp;signature=71ea419d3eeb9f51f126d60367b015057562e31f8a7f3c6251539d62903ab0e4\">\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/ahuahua/cWgCoIc-CzEy2Rhc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Starter Kit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#f230aa\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.guiji.cn/api-reference/ios/sdkreference\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ios/sdkreference.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.guiji.cn/#organization\",\"name\":\"Starter Kit\",\"url\":\"https://docs.guiji.cn\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ahuahua/EcdBWtfuTiIwhZYC/logo/light.svg?fit=max\u0026auto=format\u0026n=EcdBWtfuTiIwhZYC\u0026q=85\u0026s=c0e8a88497f542420e58976ad57a4543\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.guiji.cn#website\",\"name\":\"Starter Kit\",\"url\":\"https://docs.guiji.cn\",\"publisher\":{\"@id\":\"https://docs.guiji.cn/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.guiji.cn/api-reference/ios/sdkreference#webpage\",\"url\":\"https://docs.guiji.cn/api-reference/ios/sdkreference\",\"name\":\"SDK Reference\",\"dateModified\":\"2026-01-07T04:03:47.952Z\",\"isPartOf\":{\"@id\":\"https://docs.guiji.cn#website\"},\"breadcrumb\":{\"@id\":\"https://docs.guiji.cn/api-reference/ios/sdkreference#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.guiji.cn/api-reference/ios/sdkreference#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"iOS SDK\",\"item\":\"https://docs.guiji.cn/api-reference/ios/download\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SDK Reference\",\"item\":\"https://docs.guiji.cn/api-reference/ios/sdkreference\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.guiji.cn/api-reference/ios/sdkreference#article\",\"headline\":\"SDK Reference\",\"name\":\"SDK Reference\",\"url\":\"https://docs.guiji.cn/api-reference/ios/sdkreference\",\"mainEntityOfPage\":{\"@id\":\"https://docs.guiji.cn/api-reference/ios/sdkreference#webpage\"},\"dateModified\":\"2026-01-07T04:03:47.952Z\",\"publisher\":{\"@id\":\"https://docs.guiji.cn/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.guiji.cn#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Starter Kit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Starter Kit","nav":{"global":null,"tabs":[{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":null,"href":"/api-reference/api/Introduction"},{"title":"Getting Started","href":"/api-reference/api/gettingStarted"},{"title":"Create Your First Conversation","href":"/api-reference/api/createYourFirstConvsation"},{"title":"Get Your API Keys","href":"/api-reference/api/getYourAPIKeys"},{"title":"Get Token","href":"/api-reference/api/getToken"},{"title":"Open API","href":"/api-reference/api/openAPI"}]},{"group":"Replica","pages":[{"title":null,"href":"/api-reference/replica/Overview"},{"title":null,"href":"/api-reference/replica/ReplicaTraining"}]},{"group":"Conversational Video Interface","pages":[{"title":null,"href":"/api-reference/conversational/Overview"},{"title":null,"href":"/api-reference/conversational/CreatingConversation"},{"title":null,"href":"/api-reference/conversational/CreatingPersona"}]},{"group":"iOS SDK","pages":[{"title":"Download and Installation","description":null,"href":"/api-reference/ios/download"},{"title":"SDK Reference","href":"/api-reference/ios/sdkreference"},{"title":"Quick Start","description":null,"href":"/api-reference/ios/quickstart"},{"title":"Key Interfaces","href":"/api-reference/ios/interface"},{"title":"Code Example","href":"/api-reference/ios/example"},{"title":"Common Errors","href":"/api-reference/ios/error"}]},{"group":"Android SDK","pages":[{"title":"Download and Installation","href":"/api-reference/android/download"},{"title":"Add Dependencies","href":"/api-reference/android/dependent"},{"title":"Proguard Configuration","href":"/api-reference/android/proguard"},{"title":"Quick Start","href":"/api-reference/android/quickstart"},{"title":"Key Interfaces","href":"/api-reference/android/interface"},{"title":"Precautions","href":"/api-reference/android/be_careful"}]},{"group":"H5 SDK","pages":[{"title":"Quick Start","href":"/api-reference/h5/quickstart"},{"title":"Call Process","href":"/api-reference/h5/process"},{"title":"Methods","href":"/api-reference/h5/methods"},{"title":"Events","href":"/api-reference/h5/events"},{"title":"Frequently Asked Questions","href":"/api-reference/h5/questions"},{"title":"Version History","href":"/api-reference/h5/versions"}]}]}]},"basePath":"","title":"SDK Reference - Starter Kit","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}