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 errorCould not parse TargetArchitectures 'ARMv7k, ARM64_32'
(note that I cannot select other platforms thanARMv7k
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?