iOS Linking Help Please

We recently started seeing 5 runtime warnings when running our iOS app. ApolloSQLite is the only library that has SQLite as a dependency…

objc[11149]: Class _TtC6SQLite6Backup is implemented in both /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x24b5f7b38) and /Users/…/Library/Developer/CoreSimulator/Devices/7FC2E120-DEE4-49AF-854F-0B630C3971B4/data/Containers/Bundle/Application/0BEB26BB-28BB-46C0-9AAF-DAAFF0228B00/Please.app/Please.debug.dylib (0x1062df8c0). One of the two will be used. Which one is undefined.
objc[11149]: Class _TtC6SQLite10Connection is implemented in both /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x24b5f77d0) and /Users/…/Library/Developer/CoreSimulator/Devices/7FC2E120-DEE4-49AF-854F-0B630C3971B4/data/Containers/Bundle/Application/0BEB26BB-28BB-46C0-9AAF-DAAFF0228B00/Please.app/Please.debug.dylib (0x1062dfaf8). One of the two will be used. Which one is undefined.
objc[11149]: Class _TtC6SQLite9Statement is implemented in both /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x24b5f79c8) and /Users/…/Library/Developer/CoreSimulator/Devices/7FC2E120-DEE4-49AF-854F-0B630C3971B4/data/Containers/Bundle/Application/0BEB26BB-28BB-46C0-9AAF-DAAFF0228B00/Please.app/Please.debug.dylib (0x1062dfca8). One of the two will be used. Which one is undefined.
objc[11149]: Class _TtC6SQLite13DateFunctions is implemented in both /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x24b5f7aa0) and /Users/…/Library/Developer/CoreSimulator/Devices/7FC2E120-DEE4-49AF-854F-0B630C3971B4/data/Containers/Bundle/Application/0BEB26BB-28BB-46C0-9AAF-DAAFF0228B00/Please.app/Please.debug.dylib (0x1062e0f30). One of the two will be used. Which one is undefined.
objc[11149]: Class _TtC6SQLite12TableBuilder is implemented in both /Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/LinkServices.framework/LinkServices (0x24b5f7490) and /Users/…/Library/Developer/CoreSimulator/Devices/7FC2E120-DEE4-49AF-854F-0B630C3971B4/data/Containers/Bundle/Application/0BEB26BB-28BB-46C0-9AAF-DAAFF0228B00/Please.app/Please.debug.dylib (0x1062e12c0). One of the two will be used. Which one is undefined.

Hi @Scott_Please - can you share some more information about your project configuration please.

What kind of details are you looking for?

There’s not much that can be gleaned from only the build error. Is your Apollo iOS dependency configured using SPM, CocoaPods, Carthage, or something else. Does your project have multiple modules that use Apollo iOS, and how is their interdependency set up? Details like that because problems like this are typically project configuration specific.

We are using SPM. We have multiple targets (app and extension), but only the main app uses Apollo.

Was this after updating to a specific version of Apollo iOS? Nothing else different with your modules/linking at the same time?

We were using 1.16.0 and just recently upgraded to 1.16.1. The warnings appear in both versions. I just looked into the SQLite package itself and there are compiler warnings in its Package.swift when using swift6 and Xcode 16.2

platforms: [
.iOS(.v11),
.macOS(.v10_13),
.watchOS(.v4),
.tvOS(.v11),
.visionOS(.v1)
]
‘v11’ is deprecated: iOS 12.0 is the oldest supported version
‘v11’ is deprecated: tvOS 12.0 is the oldest supported version

‘v11’ is deprecated: iOS 12.0 is the oldest supported version
‘v11’ is deprecated: tvOS 12.0 is the oldest supported version

There is an open PR in the SQLite.swift repo to update those minimum versions but it’s been languishing there for a while. Not sure when it’s going to progress nor what’s holding it up.

We were using 1.16.0 and just recently upgraded to 1.16.1. The warnings appear in both versions.

I doubt the SQLite minimum version warning has anything to do with the linker problems. Nothing you’ve provided so far looks to point to the problem so without being able to dig into your project I don’t know what else to suggest.

If you’re able to reproduce this linker warning in a standalone project I can take a look at it would certainly help in trying to figure it out.

I searched our issues for similar build warnings and found these issues that might be able to point you in the right direction:

  1. Integrating Apollo via SPM · Issue #1058 · apollographql/apollo-ios · GitHub
  2. ApolloTestSupport causes issue after upgrading from 1.0.7 to 1.1.2 · Issue #2982 · apollographql/apollo-ios · GitHub
  3. Mock GraphQL server - Failed to demangle superclass of JSONRequest · Issue #3111 · apollographql/apollo-ios · GitHub
  4. Adding in mocks is causing our tests to fail. · Issue #3397 · apollographql/apollo-ios · GitHub