FAQ & Troubleshooting
Frequently Asked Questions
Q1: Xcode logs show objc[...]: ... is implemented in both ... and .... One of the two will be used. Which one is undefined.
This is a byproduct of Argmax Pro SDK's open-core architecture where aliased definitions (across Open-source SDK and Pro SDK) are confusing Xcode. These logs are expected and harmless. This warning will be addressed in an upcoming release with improved packaging.
In more recent versions of libobjc, the wording of this message has changed to: (still expected and harmless)
`objc[...]: ... implemented in both ... and .... This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
Q2: Updating SwiftPM in Xcode leads to invalid registry source archive checksum

Argmax validates the authenticity and integrity of each package asset with checksums. This error is observed only when a user's Xcode is open at the exact time when Argmax publishes a new SDK version to the private SwiftPM registry.
The root cause is that Xcode compares the new package against the previous package's checksum. We are working with Apple to resolve this Xcode problem.
In the interim, the recommended workaround is to clear your cache with the following commands after replacing YourApp
with the name of your app:
trash ~/Library/Developer/Xcode/DerivedData/YourApp*
trash ~/Library/Caches/org.swift.swiftpm
swift package purge-cache
swift package reset
trash ~/Library/Caches/org.swift.swiftpm
We are continuously working to improve our SDK delivery experience. In the meantime, if this problem persists after clearing the caches as instructed above, please reach out to Argmax via your dedicated Slack channel.
Q3: Which architectures does the Argmax SDK support?
The Argmax SDK supports macos-arm64
, ios-arm64
and ios-arm64_x86_64-simulator
. If the application integrating the SDK is expected to run on other architectures, we recommend using a pre-processor directive to check for arm64
, e.g.
#if arch(arm64)
import Argmax
// Initialize SDK
#endif
Q4: Pro SDK sessions initialization fails with Error: generic ("Loading this model is not allowed.")
Your Argmax Pro SDK licensing may have end-user device or SDK configuration constraints including:
- minimum operating system version
- supported devices
- specific app bundle IDs (that you reported when signing the Argmax Pro SDK License Agreement)
- specific model versions (Argmax runs checksum integrity tests on each loaded model)
Some common reasons for this error:
- You are using a different version of your app whose bundle ID was not registered with Argmax.
- You modified the model files post-download (e.g. put a README inside the model files directory) which leads to a failed checksum integrity test.
If you run into this error in a context where you believe your license should not be restricted, please reach out to Argmax via your dedicated Slack channel.