Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Troubleshooting Analytics-iOS


(warning)

End-of-Support for Analytics-iOS in March 2026

End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new Analytics-Swift SDK. If you'd like to migrate to Analytics-Swift, see the migration guide.

Find answers to common Analytics-iOS errors. If your error isn't included on this page, reach out to Segment Product Support(link takes you to an external page) for additional troubleshooting help.


Target has transitive dependencies that include static binaries

target-has-transitive-dependencies-that-include-static-binaries page anchor

This was due to an old CocoaPods limitation(link takes you to an external page).

  1. Verify you are not using any previously needed workarounds
  2. Verify you are using at least CocoaPods 1.4
    1
    $ pod --version
    2
    1.5.3
  3. Verify you are using the latest Segment pods
    1
    $ pod outdated
    2
    The following pod updates are available:
    3
    Segment-GoogleAnalytics 1.1.7 -> 1.1.7 (latest version 1.1.8)

No events in my debugger

no-events-in-my-debugger page anchor
  1. Verify you have followed all Getting Started steps
  2. Verify you have entered the correct writeKey for your source
    • If the writeKey you have entered is something other than a string or an empty string, your app may crash
    • If the writeKey you have entered is a valid form but not the correct writeKey for your specific source, you will not see an error response. Data will be accepted by Segment but not able to be correctly routed to your source or debugger.
  3. Enable logging to confirm if the call is being sent to Segment

No events in my destinations

no-events-in-my-destinations page anchor
  1. Verify that your destination is enabled
  2. Verify your destination credentials entered in your Segment dashboard are correct
  3. Make sure the destination can accept what you're sending:
    • Does the integration have device-mode/cloud-mode support? Confirm you are sending using the correct connection mode.
    • Does the destination accept the type of call you are sending? Not all destinations accept all calls.
  4. If you are still not seeing data in your destination, continue debugging based on which type of connection mode you are using.

Debugging device-mode destinations

debugging-device-mode-destinations page anchor

If you are using device-mode, you should see the value of that integration set to false in the integrations object. That means that the data is being sent from the device to the destination SDK, and not through Segment's servers. This is expected if you chose to use a device-mode destination's SDK with Segment's during installation.

Enable verbose logging and trigger the call in question. You should see a call to Segment triggered as well as to the partner SDK. It will show you exactly which partner method was invoked and the arguments it was invoked with.


Debugging cloud-mode destinations

debugging-cloud-mode-destinations page anchor

Look at the raw JSON in your debugger. Does the call look like what is expected?

Read through the docs for that destination to see expected event format, behavior and caveats for that destination.


Migrating from version 3 to version 4

migrating-from-version-3-to-version-4 page anchor

Version 3 and version 4 are similar, however, keep the following in mind:

  • The module name has changed from Analytics to Segment to make use within Swift easier.
  • Swift naming has changed extensively. This was done to make the library easier to work with in Swift.
  • Support for Swift Package Manager has been added.
  • Segment Analytics can now be deployed to macOS and Catalyst as well as iOS/tvOS.
  • SEGAnalytics.configuration has been deprecated and is no longer available.
  • SEGAnalyticsConfiguration.middlewares has been deprecated and replaced by SEGAnalyticsConfiguration.sourceMiddleware and destinationMiddleware respectively.

Contact Segment Product Support(link takes you to an external page) with the following information:

  • The version of our SDK you are using
  • Whether you are using device- or cloud-mode
  • Logs of the call in question
  • Screenshots of the event in the Segment debugger
  • Screenshots of what you are seeing in your destination