Unsupported Architectures during upload to store

Natalie van Gogh 0 Reputation points
2026-09-16T20:08:30.9333333+00:00

Hi

Context:
I have an app for ios and android developed with dotnet maui.
Normally during summer time the development stops and I pickup the development during the winter.
I am doing the development and builds on a M2 MacMini in VSCode.
I updated my Mac to 27 (GoldenGate). Running XCode 26.6 (and XCode 27). And the latest dotnet sdk and workload for maui.

I updated my project with the latest packages, did a minor code update and tried to use Transporter to upload to the Store for TestFlight.

The upload fails because it detects a unsupported architecture (x86_64) coming from the libskiasharp.framework in the IPA.

lipo indeed states that the ipa zip contains that architecture.

What is going wrong here, why is this now happening.

I am chasing my tail here.

Thanks

Issue log:

The executable 'Payload/VeloDS.app/Frameworks/libSkiaSharp.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library. (90080)

Unsupported Architectures. The executable for VeloDS.app/Frameworks/libSkiaSharp.framework contains unsupported architectures '[x86_64]'. (90087)

n/a (ID: LL4ION2NCOJ5MJJYPACXCGMYIE)

Invalid Segment Alignment. The app binary at 'VeloDS.app/Frameworks/libSkiaSharp.framework/libSkiaSharp' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version. (90209)

n/a (ID: LL4ION2NCOJ5MJJYPACXCGMYIE)

The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker. (90125)

n/a (ID: LL4ION2NCOJ5MJJYPACXCGMYIE)

Developer technologies | .NET | .NET Multi-platform App UI

6 answers

Sort by: Oldest
  1. Natalie van Gogh 0 Reputation points
    2026-09-19T18:13:11.3933333+00:00

    My solution in the end is to add a section in my csproj which executes the removal of the framework during release build of ios.

        <Target Name="StripSkiaSimulatorSlice"
                Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
            <Exec Command="xcrun lipo -info &quot;$(AppBundleDir)/Frameworks/libSkiaSharp.framework/libSkiaSharp&quot;" />
            <Exec Command="xcrun lipo -remove x86_64 &quot;$(AppBundleDir)/Frameworks/libSkiaSharp.framework/libSkiaSharp&quot; -output &quot;$(AppBundleDir)/Frameworks/libSkiaSharp.framework/libSkiaSharp&quot; || true" />
            <Exec Command="xcrun lipo -info &quot;$(AppBundleDir)/Frameworks/libSkiaSharp.framework/libSkiaSharp&quot;" />
        </Target>
    
    
        <PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
            <Platforms>arm64</Platforms>
            <RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
            ...
            <ArchiveOnBuild>true</ArchiveOnBuild>
            <TcpPort>58181</TcpPort>
            <BuildIpa>true</BuildIpa>
            <CodesignDependsOn>$(CodesignDependsOn);StripSkiaSimulatorSlice</CodesignDependsOn>
        </PropertyGroup>
    
    

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.