Summary
In the iOS SDK 1.10.4 bundle, INSCameraSDK.xcframework and INSCoreMedia.xcframework contain only an ios-arm64 (device) slice. 1.9.2 shipped ios-arm64-simulator for both. This makes it impossible to build an app that links the SDK for the iOS Simulator.
Evidence
From the INSCameraSDKSample-bluetooth/Frameworks directory of the 1.10.4 bundle:
$ plutil -p INSCameraSDK.xcframework/Info.plist
{
"AvailableLibraries" => [
0 => {
"LibraryIdentifier" => "ios-arm64"
"SupportedArchitectures" => [ 0 => "arm64" ]
"SupportedPlatform" => "ios"
}
]
}
INSCoreMedia.xcframework is the same. For comparison, the same two frameworks in 1.9.2:
| framework |
1.9.2 |
1.10.4 |
INSCameraSDK |
ios-arm64, ios-arm64-simulator |
ios-arm64 only |
INSCoreMedia |
ios-arm64, ios-arm64-simulator, watchOS |
ios-arm64 only |
INSCameraServiceSDK |
device + simulator + watchOS |
device + ios-arm64-simulator |
SSZipArchive |
device + ios-arm64_x86_64-simulator |
unchanged |
So the omission is specific to INSCameraSDK and INSCoreMedia — the other two still ship simulator slices, which is what suggests this is an oversight in the release job rather than a deliberate change.
Impact
Any target that links the SDK cannot be built for the simulator. In practice that means:
- unit and UI tests that build the app target cannot run in CI (
xcodebuild test -destination "platform=iOS Simulator,...")
- developers without a camera on their desk cannot run the app at all
- SwiftPM/CocoaPods integrations fail at module resolution, some distance from the actual cause
Nothing on a simulator can talk to a camera — there is no BLE — so the simulator slice only needs to compile and link, not function.
Workaround
We build our vendored xcframeworks from two bundles: device slices from 1.10.4, simulator slices from 1.9.2. That works, but it pins us to 1.9.2's headers for simulator builds, so we cannot adopt any 1.10.x-only API until this is resolved.
Ask
Publish ios-arm64-simulator slices for INSCameraSDK and INSCoreMedia alongside the device slices, as 1.9.2 did.
Summary
In the iOS SDK 1.10.4 bundle,
INSCameraSDK.xcframeworkandINSCoreMedia.xcframeworkcontain only anios-arm64(device) slice. 1.9.2 shippedios-arm64-simulatorfor both. This makes it impossible to build an app that links the SDK for the iOS Simulator.Evidence
From the
INSCameraSDKSample-bluetooth/Frameworksdirectory of the 1.10.4 bundle:INSCoreMedia.xcframeworkis the same. For comparison, the same two frameworks in 1.9.2:INSCameraSDKios-arm64,ios-arm64-simulatorios-arm64onlyINSCoreMediaios-arm64,ios-arm64-simulator, watchOSios-arm64onlyINSCameraServiceSDKios-arm64-simulatorSSZipArchiveios-arm64_x86_64-simulatorSo the omission is specific to
INSCameraSDKandINSCoreMedia— the other two still ship simulator slices, which is what suggests this is an oversight in the release job rather than a deliberate change.Impact
Any target that links the SDK cannot be built for the simulator. In practice that means:
xcodebuild test -destination "platform=iOS Simulator,...")Nothing on a simulator can talk to a camera — there is no BLE — so the simulator slice only needs to compile and link, not function.
Workaround
We build our vendored xcframeworks from two bundles: device slices from 1.10.4, simulator slices from 1.9.2. That works, but it pins us to 1.9.2's headers for simulator builds, so we cannot adopt any 1.10.x-only API until this is resolved.
Ask
Publish
ios-arm64-simulatorslices forINSCameraSDKandINSCoreMediaalongside the device slices, as 1.9.2 did.