Skip to main content

iOS - Troubleshooting DevApp

SPM module not resolving after updating settings.json

Symptom: You added or changed a module entry in settings.json (e.g. enabling Q2NativeLogin or q2-inboundsso-ios) but Xcode does not fetch the package or shows a "missing package product" build error.

Cause: Xcode only re-evaluates Package.swift when the file itself changes. Editing settings.json alone does not trigger SPM re-resolution.

Fix: Open Q2DevApp/Q2DevAppDependencies/Package.swift, edit the // retrigger: comment at the bottom (e.g. increment the number) and save. Xcode will detect the file change and re-resolve all dependencies.

// retrigger: 2

Remote module fails to resolve — Package.swift only supports local paths

Symptom: SPM resolution fails with an error such as "no package found at path ../.." or the module is silently skipped when using gitUrl + version in settings.json.

Cause: DevApp templates prior to 26.5.0 only support local path dependencies (isPublic/isInternal). The Q2DevAppDependencies/Package.swift file does not contain the logic to resolve remote packages from a gitUrl and version.

Fix: You are likely on an older DevApp template. Follow the migration steps in the 26.5.0 release notes to update Q2DevAppDependencies/Package.swift and bump the q2-mobile-ios minimum version.


Version mismatch — SPM cannot find the requested tag

Symptom: SPM resolution fails with "no available version satisfies the requirement" or similar for a module like q2-inboundsso-ios or Q2NativeLogin.

Cause: The version value in settings.json does not match an available tag in the module's Git repository.

Fix: Verify the version against the module's tag list and correct the version field in settings.json. For the versions compatible with this SDK release, see the 26.5.0 release notes.