Is iOS Mobile Payments SDK 2.6.0 supported when the host app links GRDB.swift?

We are preparing an iOS application for production with Square Mobile Payments SDK 2.6.0 installed through Swift Package Manager. The host application independently links GRDB.swift 7.11.1 for local database storage.

The SquareMobilePaymentsSDK binary appears to expose GRDB runtime classes as well. XCTest reports duplicate runtime-class warnings because both the host application and Square’s binary contain GRDB symbols.

Our complete automated test suite passes, and an Apple-signed production build launches successfully, but we are treating the duplicate runtime classes as a production release blocker.

Is this configuration officially supported and safe for production payment processing? If not, is there a supported integration method or a planned SDK build that does not expose conflicting GRDB runtime classes?

The production target links SquareMobilePaymentsSDK only. MockReaderUI is confined to a separate Sandbox-only target. We can provide the exact warnings and diagnostic information privately if needed.

Thanks for the detailed explanation here. The duplicate runtime-class warnings are expected as both copies register the same Objective-C classes. I’m currently looking into whether this is supported and safe for prod payment processing. Will get back to you with an update soon.

Thanks for your patience. I was able to talk to the team and have an update here.

We’ve confirmed that this is currently a known limitation: MPSDK 2.6.0 can include GRDB runtime classes internally, so apps that also link GRDB directly may see duplicate runtime-class warnings.

We don’t have a supported workaround or recommend suppressing the warnings. The team is evaluating a fix for this, but it would require a future SDK release and we don’t yet have a timeline.

For now, the safest option is to avoid linking GRDB in the same production target as MPSDK, if feasible. We’ll update this thread if that changes.