1"use strict";(globalThis.webpackChunkopensource_contentauth_org=globalThis.webpackChunkopensource_contentauth_org||[]).push([[7703],{8237:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"mobile","title":"Mobile libraries","description":"These projects are available to enable developing apps for mobile devices:","source":"@site/docs/mobile.md","sourceDirName":".","slug":"/mobile","permalink":"/docs/mobile","draft":false,"unlisted":false,"editUrl":"https://github.com/contentauth/opensource.contentauth.org/edit/main/docs/mobile.md","tags":[],"version":"current","frontMatter":{"id":"mobile","title":"Mobile libraries"},"sidebar":"docs","previous":{"title":"CAI Node.js library","permalink":"/docs/sdk-repos/c2pa-js/packages/c2pa-node/"},"next":{"title":"C2PA Swift","permalink":"/docs/sdk-repos/c2pa-swift/"}}');var o=n(4848),r=n(8453);const i={id:"mobile",title:"Mobile libraries"},a=void 0,c={},l=[];function d(e){const t={a:"a",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"These projects are available to enable developing apps for mobile devices:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"/docs/sdk-repos/c2pa-swift/",children:(0,o.jsx)(t.strong,{children:"Swift library"})}),": Provides iOS/macOS support via Swift Package/XCFramework. ",(0,o.jsx)("br",{}),"GitHub repository: ",(0,o.jsx)(t.a,{href:"https://github.com/contentauth/c2pa-swift",children:"https://github.com/contentauth/c2pa-swift"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"/docs/sdk-repos/c2pa-android/",children:(0,o.jsx)(t.strong,{children:"Android library"})}),": Provides native Android support via an AAR library. ",(0,o.jsx)("br",{}),"GitHub repository: ",(0,o.jsx)(t.a,{href:"https://github.com/contentauth/c2pa-android",children:"https://github.com/contentauth/c2pa-android"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Both of these projects wrap the C2PA Rust implementation (",(0,o.jsx)(t.a,{href:"https://github.com/contentauth/c2pa-rs",children:"c2pa-rs"}),") using its C API bindings."]}),"\n",(0,o.jsx)(t.p,{children:"There are also a number of support articles related to using the features:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"cawg-mobile",children:(0,o.jsx)(t.strong,{children:"CAWG on Mobile"})}),": Implementing the Creator Assertions Working Group (CAWG) standards"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(6540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.