{"id":20444855,"url":"https://github.com/snapchat/camera-kit-ios-sdk","last_synced_at":"2026-02-13T02:06:43.765Z","repository":{"id":260359177,"uuid":"879864887","full_name":"Snapchat/camera-kit-ios-sdk","owner":"Snapchat","description":"Camera Kit SDK for iOS","archived":false,"fork":false,"pushed_at":"2025-11-13T23:30:40.000Z","size":540,"stargazers_count":48,"open_issues_count":3,"forks_count":19,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-11-14T01:15:09.168Z","etag":null,"topics":["ar","augmented-reality","camera","camera-kit","ios","lens","lens-studio","lenses","mobile","snap","snapchat"],"latest_commit_sha":null,"homepage":"https://developers.snap.com/camera-kit/home","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Snapchat.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-28T17:21:14.000Z","updated_at":"2025-11-13T23:30:44.000Z","dependencies_parsed_at":"2024-12-18T19:22:48.525Z","dependency_job_id":"dd91e885-7d7a-4ee6-a63f-bbc6af0aa54c","html_url":"https://github.com/Snapchat/camera-kit-ios-sdk","commit_stats":null,"previous_names":["snapchat/camera-kit-ios-sdk"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Snapchat/camera-kit-ios-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snapchat%2Fcamera-kit-ios-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snapchat%2Fcamera-kit-ios-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snapchat%2Fcamera-kit-ios-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snapchat%2Fcamera-kit-ios-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snapchat","download_url":"https://codeload.github.com/Snapchat/camera-kit-ios-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snapchat%2Fcamera-kit-ios-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29392986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T00:53:09.511Z","status":"online","status_checked_at":"2026-02-13T02:00:10.076Z","response_time":78,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ar","augmented-reality","camera","camera-kit","ios","lens","lens-studio","lenses","mobile","snap","snapchat"],"created_at":"2024-11-15T10:09:25.474Z","updated_at":"2026-02-13T02:06:43.759Z","avatar_url":"https://github.com/Snapchat.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n \n![camerakit_icon](https://github.com/user-attachments/assets/036e42d2-c99f-45bc-ac0a-fe2fc462b6eb)\n\n# Camera Kit for iOS\n\n[Home Page](https://developers.snap.com/camera-kit/home) | [Documentation \u0026 Guides](https://developers.snap.com/camera-kit/getting-started/what-is-camera-kit) | [Showcase](https://ar.snap.com/camera-kit) | [API Reference](https://kit.snapchat.com/reference/CameraKit/ios/1.46.0/index.html) | [Developer Portal](https://kit.snapchat.com/manage/) | [My Lenses](https://my-lenses.snapchat.com/) | [Discord](https://discord.gg/snapar)\n\u003c/div\u003e\n\nCamera Kit brings the power of Snap's AR platform to your websites and mobile apps on iOS and Android. It has never been easier to create and deliver scalable, multi-platform AR experiences to meet your customers, wherever they are.\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/4a6174c1-c6fd-47ff-826e-f48afc067331\" width=\"9%\" alt=\"distort\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/b894649a-b80c-4ce3-ac5f-0ead9b6327c6\" width=\"9%\" alt=\"hair_simulation\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/afd19a3c-b625-4801-ae40-19588cc597e0\" width=\"9%\" alt=\"try_on\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/350fdcec-4f6c-456b-849f-a40f1f0dd1b5\" width=\"9%\" alt=\"3d_hand_tracking\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/13384317-9a65-4e30-91ef-7679e5b21ec3\" width=\"9%\" alt=\"wrist_wear_try_on\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/24d14f33-c121-43ed-9ff7-5ee0f98bcfb7\" width=\"9%\" alt=\"eye_wear_try_on\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/02dc6eb7-6b7b-43e4-8607-4dcce4b93bbd\" width=\"9%\" alt=\"true_size_object\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/2fe8618c-d9bc-462b-a85e-34fac7c22421\" width=\"9%\" alt=\"vfx\" /\u003e\n \u003cimg src=\"https://github.com/user-attachments/assets/3988cc25-e058-490a-aa13-8ecca7f1116b\" width=\"9%\" alt=\"landmarkers\" /\u003e\n\u003c/p\u003e\n\n## Features\n\n### AR Capabilities\n- Face Effects\n- Body / Face / Hand Tracking\n- World Tracking\n- Background Segmentation\n- Location AR\n- and [many more](https://developers.snap.com/camera-kit/ar-content/ar-overview) \n\n### iOS SDK\n- Integrate with AVCaptureSession, which allows to maintain full control over session configuration, management, and lifecycle\n- Fetch and display your lenses\n- Capture media\n- Leverage Reference UI modules to quickly build Camera Kit based experiences\n- Supports iOS 14.0+\n\n## Integration Steps\n1. [Setup](https://developers.snap.com/camera-kit/getting-started/setting-up-accounts) your Camera Kit application using [Developer Portal](https://kit.snapchat.com/manage)\n2. [Integrate](https://developers.snap.com/camera-kit/integrate-sdk/mobile/ios) Camera Kit SDK into your iOS application\n3. [Create](https://developers.snap.com/camera-kit/ar-content/build-lenses) AR experiences using [Lens Studio](https://ar.snap.com/lens-studio) and manage them using [My Lenses](https://my-lenses.snapchat.com/) site\n\n## Modules\n\nA core module that handles AR experiences:\n- `SCSDKCameraKit`\n\nA set of [open-sourced](./Sources), reusable UI components and utilities for easier development of Camera Kit based experiences:\n- `SCSDKCameraKitReferenceUI`\n- `SCSDKCameraKitReferenceSwiftUI`\n\nModules required for testing your in-development lenses (see [Push-to-Device](https://developers.snap.com/camera-kit/guides/mobile-customization/in-app-lens-testing)):\n- `SCSDKCameraKitBaseExtension`\n- `SCSDKCameraKitLoginKitAuth`\n- `SCSDKCameraKitPushToDeviceExtension`\n\n## Installation\n### [Swift Package Manager](https://github.com/apple/swift-package-manager)\n1. In Xcode, select \"File\" → \"Add Package Dependencies…\"\n2. Enter the repository URL: `https://github.com/Snapchat/camera-kit-ios-sdk.git`\n3. Select the version and modules you want to use in your project\n\n### [CocoaPods](https://cocoapods.org/)\nIf you use CocoaPods to manage your dependencies, simply add the following to your `Podfile`:\n```ruby\npod 'SCCameraKit'\n```\n\nIf you'd like to use the Reference UI:\n\n```ruby\npod 'SCCameraKitReferenceUI'\npod 'SCCameraKitReferenceSwiftUI'\n```\n\n### Manual\n1. Download the binaries from the [Releases](https://github.com/Snapchat/camera-kit-ios-sdk/releases) section\n2. Unzip and add the Camera Kit SDK .xcframework to your Xcode project\n3. In your target's \"General\" settings, add the framework to the \"Frameworks, Libraries, and Embedded Content\" section\n\n## Usage\nYou can find a more detailed tutorial [here](https://developers.snap.com/camera-kit/guides/tutorials/mobile-tutorials/building-your-first-ios-camera-kit-app)\n\n### Initializing Camera Kit\nObtain an API token for your Camera Kit application on [Developer Portal](https://kit.snapchat.com/manage)\n\n```swift\nimport SCSDKCameraKit\n\nlet sessionConfig = SessionConfig(apiToken: \"\u003cYOUR_API_TOKEN\u003e\")\nlet lensesConfig = LensesConfig(cacheConfig: CacheConfig(lensContentMaxSize: 150*1024*1024))\n        \nlet cameraKit = Session(sessionConfig: sessionConfig, lensesConfig: lensesConfig, errorHandler: self)\n```\n\n### Implementing Camera View\n```swift\n// Configure the camera preview view\nlet previewView = PreviewView()\npreviewView.automaticallyConfiguresTouchHandler = true\ncameraKit.add(output: previewView)\n\n// Configure the capture session\nlet captureSession = AVCaptureSession()\nlet input = AVSessionInput(session: captureSession)\nlet arInput = ARSessionInput()        \ncameraKit.start(input: input, arInput: arInput)\n\nDispatchQueue.global(qos: .background).async {\n    input.startRunning()\n}\n```\n\n### Applying AR Lens\nYou can find lens group IDs and specific lens IDs on [My Lenses](https://my-lenses.snapchat.com/) site\n```swift\n// Observe a particular lens\ncameraKit.lenses.repository.addObserver(self, specificLensID: \"\u003cLENS_ID\u003e\", inGroupID: \"\u003cLENS_GROUP_ID\u003e\")\n\n// Implement LensRepositorySpecificObserver to receive observed Lens object\nextension MyViewController: LensRepositorySpecificObserver {\n    func repository(_ repository: LensRepository, didUpdate lens: Lens, forGroupID groupID: String) {\n        lensQueue.async { [weak self] in\n            guard let self = self else { return }\n\n            // Apply a lens, which makes it visible on previewView\n            self.cameraKit.lenses.processor?.apply(lens: lens, launchData: nil) { success in\n                if success {\n                    print(\"\\(lens.name ?? \"Unnamed\") (\\(lens.id)) Applied\")\n                } else {\n                    print(\"Lens failed to apply\")\n                }\n            }\n        }\n    }\n    \n    func repository(_ repository: LensRepository, didFailToUpdateLensID lensID: String, forGroupID groupID: String, error: Error?) {\n        // Handle errors\n    }\n}\n```\n\n## Samples\nWe provide several sample apps that demonstrate different approaches to integrating the Camera Kit SDK:\n- [CameraKitBasicSample](./Samples/CameraKitBasicSample) implements the bare minimum to show a single lens\n- [CameraKitSample](./Samples/CameraKitSample) contains a fully functioning camera capture with lenses and preview flow\n- [CameraKitAlternateCarouselSample](./Samples/CameraKitAlternateCarouselSample) demonstrates how to build your own carousel and preview screen\n\n## License\nCamera Kit for iOS is available under a custom license. See the [LICENSE](./LICENSE) file for more info.\n\n## Contributing\nWe welcome contributions to the open-sourced parts of Camera Kit for iOS - Reference UI and Sample Apps. Feel free to open issues and submit PRs.\n\n## Changelog\nSee [CHANGELOG.md](CHANGELOG.md) for details on each release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapchat%2Fcamera-kit-ios-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnapchat%2Fcamera-kit-ios-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnapchat%2Fcamera-kit-ios-sdk/lists"}