Nosmai  Effects Nosmai  Moderation Nosmai Try-ons coming soon
Docs menu Migration
How-to guide

Migrate to Nosmai Effects

Move from the legacy Camera SDK repositories and Flutter package to the current Nosmai Effects releases without changing native ownership twice.

SDK version Native 3.0.4 · Flutter 1.0.2 · React Native 1.0.0 Updated Aug 22, 2026 Time 8 min

Prerequisites

  • Commit or archive a known-good release build.
  • Record the current native binary, wrapper, package ID, bundle identifier, and CocoaPods lockfile.
  • Keep the active Nosmai license key private and bound to the same signed app.

Replace legacy distribution names

LegacyCurrent
https://github.com/nosmai/camera-sdk-androidhttps://github.com/nosmai/nosmai_effects_sdk_android
https://github.com/nosmai/camera-sdk-ioshttps://github.com/nosmai/nosmai_effects_sdk_ios
https://github.com/nosmai/nosmai_camera_sdk_flutterhttps://github.com/nosmai/nosmai_effects_sdk_flutter
Flutter nosmai_camera_sdkFlutter nosmai_effects_sdk
No official React Native release@nosmai/react-native-effects-sdk stable 1.0.0

The stable iOS CocoaPod remains named NosmaiCameraSDK. That pod name is not a legacy repository reference and must not be renamed in the consuming Podfile.

Upgrade one layer at a time

  1. Replace the Android AAR with verified 3.0.4, or update the iOS pod to NosmaiCameraSDK ~> 3.0.4.
  2. Clean and build the native application before changing a wrapper.
  3. Replace the Flutter dependency with nosmai_effects_sdk: ^1.0.2, or install React Native 1.0.0 documented for the host framework.
  4. Resolve CocoaPods and inspect Podfile.lock for one Nosmai native version.
  5. Remove duplicate legacy AARs, frameworks, pods, and package imports.

Preserve the application contract

Keep the signed Android application ID and iOS bundle identifier unchanged unless the Console project is also updated. Preserve one camera owner, await initialization before rendering the preview, and pass cloud download results back through the public local-path API instead of constructing service URLs.

For Flutter, change imports from the old package name to:

import 'package:nosmai_effects_sdk/nosmai_effects_sdk.dart';

Public class names remain NosmaiFlutter and NosmaiCameraPreview in 1.0.2.

Verify the migration

  1. Build a signed release for each supported platform.
  2. Confirm the final license status becomes valid without exposing the key.
  3. Exercise preview lifecycle and camera switching repeatedly.
  4. Apply local, cloud, background, beauty, and game packages used by the app.
  5. Capture, record, and test the app's streaming handoff.
  6. Compare signed binary size, memory, FPS, and thermal behavior with the saved baseline.

Common errors

SymptomCauseFix
Duplicate native symbols or classesBoth legacy and current native binaries are packagedKeep exactly one AAR or one iOS distribution path
Flutter import cannot be resolvedSource still imports nosmai_camera_sdkUpdate the dependency, import, and lockfile together
License becomes invalid after migrationThe signed application identity or selected platform changedMatch the Console project to the actual release identity

Next steps

References

Was this page helpful?

Your response helps us prioritize documentation improvements.

Nosmai

An AR and AI company. Founded on the idea that the next decade of software will be visual, and that the tools for it should be within reach of anyone building.

Newsletter

Product updates and release notes. No spam.

© 2026 nosmai, inc · all rights reserved