Prepare Your App for Submission

If you’re not using Swift Package Manager to install the SDK, you need to strip development resources (such as unneeded architectures and header resources) from the Service Chat SDK before you can submit your app to the App Store.

The legacy chat product is scheduled for retirement on February 14, 2026, and is in maintenance mode until then. During this phase, you can continue to use chat, but we no longer recommend that you implement new chat channels. To avoid service interruptions to your customers, migrate to Messaging for In-App and Web before that date. Messaging offers many of the chat features that you love plus asynchronous conversations that can be picked back up at any time. Learn about chat retirement in Help.

Important

Xcode doesn't automatically strip unneeded architectures from dynamic libraries, nor remove some header and utility resources. Apps that don't do this clean up are rejected from the App Store. For example, you might receive the following error from iTunes Connect:

1ERROR ITMS-90085:
2No architectures in the binary. Lipo failed to detect any architectures in the bundle executable.

You can resolve this problem by using the script provided in the ServiceCore framework that automatically strips unneeded architectures from the dynamic libraries and then re-signs them.

This process is not required if you used Swift Package Manager to install your app.

Note

To use this script:

  1. Select Build Phases for your project target.
  2. Create a Run Script phase to run the script.

    Access the prepare-framework script from within the ServiceCore framework in your project directory.

    • If you installed the XCFramework files manually, use:
      1$SRCROOT/ServiceCore.xcframework/ios-arm64/ServiceCore.framework/prepare-framework
    • If you installed the SDK with CocoaPods, use:
      1$PODS_ROOT/ServiceSDK/Frameworks/ServiceCore.framework/prepare-framework
    • If you installed the standard framework files with version 224.0.2 or earlier, use:
      1$SRCROOT/ServiceCore.framework/prepare-framework

    Verify that this script is in the exact location that you specify in this build phase.

    Important

This build phase must occur after the link phase and all embed phases. If you're using CocoaPods, make sure to put this script after the "[CP] Embed Pods Frameworks" phase.