Cannot build app on Catalyst after updating to Xcode 15.4 RC

We are facing an issue on Catalyst when building our app using Xcode 15.4.

The issue is related to precompiled frameworks and seems to be widespread as it happens with multiple vendors (like Firebase or Braze).

We are using SPM to add these dependencies, for instance:

.package(url: "https://github.com/braze-inc/braze-swift-sdk", from: "8.2.1"),

When building, we get the following error:

clang:1:1: invalid version number in '-target arm64-apple-ios10.15-macabi'

Our macOS deployment target is 12.3. Our iOS deployment target is 15.4.

I will try to create a reproducer I can share but I wanted to share this in case there's a known workaround.

Thanks in advance!

Answered by DTS Engineer in 787783022

I did some rummaging and found a bug that a developer has already filed a bug about this (FB13796155). It might even have been one of the folks on this thread. If so, thank you!

I was mystified as to where that 10.15 in the arm64-apple-ios10.15-macabi triple came from, and I suspect it’s the LSMinimumSystemVersion property of the BrazeKit framework itself:

% cat BrazeKit/BrazeKit.xcframework/ios-arm64_x86_64-maccatalyst/BrazeKit.framework/Versions/A/Resources/Info.plist 
…
<dict>
    …
    <key>LSMinimumSystemVersion</key>
    <string>10.15</string>
    …
</dict>
</plist>

Xcode 15.4 seems to be erroneously folding this into the triple, which doesn’t make sense because macOS and Mac Catalyst version numbers exist in a different namespace.

I was able to get my test project to build by removing the package dependency and adding BrazeKit.xcframework to my app directly. However, I’m working with a toy test app, and this is likely to be bigger ask in a real product. I think your best option might be to stick with Xcode 15.3 until this gets resolved.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I'm having the same issue on Xcode 15.4, and not on 15.3. I can reproduce this issue with these steps:

  1. Create a new iOS app.
  2. Remove Mac for iPad, add MacCatalyst target.
  3. Add Sentry SDK package from https://github.com/getsentry/sentry-cocoa.git, adding Sentry and SentrySwiftUI to target.
  4. Clean build folder, build and run to Mac.

Result:

-> Xcode 15.3, works.

-> Xcode 15.4, initially fails. Build and run again immediately after, works.

On Xcode 15.4, any time that I clean and then build, it first fails and then will succeed. After this the build will always succeed, unless cleaned in between. This has caused our Xcode Cloud builds that recently updated to using Xcode 15.4 to fail, as they just fail and don't try to build again.

Accepted Answer

I did some rummaging and found a bug that a developer has already filed a bug about this (FB13796155). It might even have been one of the folks on this thread. If so, thank you!

I was mystified as to where that 10.15 in the arm64-apple-ios10.15-macabi triple came from, and I suspect it’s the LSMinimumSystemVersion property of the BrazeKit framework itself:

% cat BrazeKit/BrazeKit.xcframework/ios-arm64_x86_64-maccatalyst/BrazeKit.framework/Versions/A/Resources/Info.plist 
…
<dict>
    …
    <key>LSMinimumSystemVersion</key>
    <string>10.15</string>
    …
</dict>
</plist>

Xcode 15.4 seems to be erroneously folding this into the triple, which doesn’t make sense because macOS and Mac Catalyst version numbers exist in a different namespace.

I was able to get my test project to build by removing the package dependency and adding BrazeKit.xcframework to my app directly. However, I’m working with a toy test app, and this is likely to be bigger ask in a real product. I think your best option might be to stick with Xcode 15.3 until this gets resolved.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for confirming @eskimo. I filed FB13796155 but didn't have permissions to edit the original post to include the feedback ID.

We will stay in 15.3 for now for our Catalyst builds and wait for a future build of Xcode that resolves this. As you mention, embedding the xcframeworks directly is not an option in our app as this is happening with dozens of dependencies.

Thanks again, Pablo

Still no update on apple side? This bug is present and we can't upgrade to 15.4

Cannot build app on Catalyst after updating to Xcode 15.4 RC
 
 
Q