Search code examples
xcodexamarinxamarin.iosapple-watch

Xamarin.IOS watch extension store upload error ITMS-90733


I have a Visual Studio solution including a .NET Standard 2.0 lib, a Xamarin.iOS project, a watch OS extension project, and a watch app project. The iOS project targets 12.1 and both watch projects target 5.1.

Everything worked fine until about a week ago, but now I'm not able to upload the IPA package to Testflight using Application Loader any more:

ERROR ITMS-90733: "Missing architecture. Apps built with Watch OS 5.0 and later SDKs must contain additional architectures."

Note that I did not change anything in code, all projects are exactly the same as they have been last week.

What I tried so far:

  • Updated VS2017 (on Windows) to version 15.9.11
  • Installed VS2019 v16.0.3 (on Windows), and updated OS X to version 10.14.4, and XCode to v10.2
  • Installed Xamarin.ios 12.6.0.59 on the Mac, as suggested in https://github.com/xamarin/xamarin-macios/issues/5951 - however, this resulted in error The Xamarin.iOS version 12.6.0.59 that is installed on the Mac is not compatible with this version of Visual Studio. Would you like us to install Xamarin.iOS 12.8 for you?
  • Installed a new Xamarin.iOS Installer as suggested in https://devblogs.microsoft.com/xamarin/apple-new-processor-architecture/
  • Added ARMv7k, ARM64_32 to the build architecture of either the watch app and / or the watch extension project (tried all combinations) - however this caused the build to fail with error Could not parse TargetArchitectures 'ARMv7k, ARM64_32' (note that I cannot select other platforms than ARMv7k using the visual project properties editor in VS on Windows)

This is how the release configuration of the watch extension project looks like:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Release\</OutputPath>
    <DefineConstants>
    </DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodesignKey>iPhone Distribution</CodesignKey>
    <MtouchUseLlvm>true</MtouchUseLlvm>
    <MtouchUseSGen>true</MtouchUseSGen>
    <MtouchUseRefCounting>true</MtouchUseRefCounting>
    <MtouchFloat32>true</MtouchFloat32>
    <MtouchEnableBitcode>true</MtouchEnableBitcode>
    <CodesignEntitlements>
    </CodesignEntitlements>
    <MtouchLink>SdkOnly</MtouchLink>
    <MtouchArch>ARMv7k</MtouchArch>
    <MtouchTlsProvider>Default</MtouchTlsProvider>
    <CodesignProvision>Test flight</CodesignProvision>
    <CodesignExtraArgs />
    <CodesignResourceRules />
</PropertyGroup>

I've just spent 48 hours trying all these combinations, but could not get it to work. Any more ideas?


Solution

  • Could not parse TargetArchitectures 'ARMv7k, ARM64_32'

    Sounds like you do not have the macOS and|or Windows Xamarin.iOS correct versions installed.

    It will NOT work with any other combination other than the ones linked in the blog article (so the "newer" Xamarin.iOS 12.10.xxx production version does not work, only those "older" preview versions)

    re: Github Issue 5951

    This feature (new arch) is still in preview (not in our normal builds). You're using a different preview build (for d16-1) which does not, today, include it.

    If you need to submit a watchOS application please use the package mentioned in the blog post, i.e. https://dl.xamarin.com/uploads/05uvso0cndi/xamarin.ios-12.6.0.59.pkg