Xamarin.IOS手表扩展商店上传错误ITMS-90733
Xamarin.IOS watch extension store upload error ITMS-90733
我有一个 Visual Studio 解决方案,包括一个 .NET Standard 2.0 库、一个 Xamarin.iOS 项目、一个手表 OS 扩展项目和一个手表应用程序项目。 iOS 项目以 12.1 为目标,两个 watch 项目以 5.1 为目标。
大约一周前一切正常,但现在我无法再使用 Application Loader 将 IPA 包上传到 Testflight:
ERROR ITMS-90733: "Missing architecture. Apps built with Watch OS 5.0 and later SDKs must contain additional architectures."
请注意,我没有更改任何代码,所有项目都与上周完全相同。
到目前为止我尝试了什么:
- 已将 VS2017(在 Windows)更新到版本 15.9.11
- 已安装 VS2019 v16.0.3(在 Windows 上),并将 OS X 更新到版本 10.14.4,将 XCode 更新到 v10.2
- 已按照 https://github.com/xamarin/xamarin-macios/issues/5951 中的建议在 Mac 上安装 Xamarin.ios 12.6.0.59 - 然而,这导致了错误
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?
- 安装了 new Xamarin.iOS Installer as suggested in https://devblogs.microsoft.com/xamarin/apple-new-processor-architecture/
- 将
ARMv7k, ARM64_32
添加到 watch 应用程序和/或 watch 扩展项目的构建架构(尝试了所有组合)——但这导致构建失败并出现错误 Could not parse TargetArchitectures 'ARMv7k, ARM64_32'
(请注意我不能 select 除了 ARMv7k
之外的其他平台,在 Windows) 上使用 VS 中的可视化项目属性编辑器
watch 扩展项目的发布配置如下所示:
<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>
我刚刚花了 48 小时尝试了所有这些组合,但无法让它发挥作用。还有更多想法吗?
Could not parse TargetArchitectures 'ARMv7k, ARM64_32'
听起来您没有安装 macOS 和|或 Windows Xamarin.iOS 正确的版本。
它不会与博客文章中链接的组合以外的任何其他组合一起使用(因此“较新的”Xamarin.iOS 12.10.xxx 生产版本不起作用,只有那些“较旧的” " 预览版)
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
我有一个 Visual Studio 解决方案,包括一个 .NET Standard 2.0 库、一个 Xamarin.iOS 项目、一个手表 OS 扩展项目和一个手表应用程序项目。 iOS 项目以 12.1 为目标,两个 watch 项目以 5.1 为目标。
大约一周前一切正常,但现在我无法再使用 Application Loader 将 IPA 包上传到 Testflight:
ERROR ITMS-90733: "Missing architecture. Apps built with Watch OS 5.0 and later SDKs must contain additional architectures."
请注意,我没有更改任何代码,所有项目都与上周完全相同。
到目前为止我尝试了什么:
- 已将 VS2017(在 Windows)更新到版本 15.9.11
- 已安装 VS2019 v16.0.3(在 Windows 上),并将 OS X 更新到版本 10.14.4,将 XCode 更新到 v10.2
- 已按照 https://github.com/xamarin/xamarin-macios/issues/5951 中的建议在 Mac 上安装 Xamarin.ios 12.6.0.59 - 然而,这导致了错误
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?
- 安装了 new Xamarin.iOS Installer as suggested in https://devblogs.microsoft.com/xamarin/apple-new-processor-architecture/
- 将
ARMv7k, ARM64_32
添加到 watch 应用程序和/或 watch 扩展项目的构建架构(尝试了所有组合)——但这导致构建失败并出现错误Could not parse TargetArchitectures 'ARMv7k, ARM64_32'
(请注意我不能 select 除了ARMv7k
之外的其他平台,在 Windows) 上使用 VS 中的可视化项目属性编辑器
watch 扩展项目的发布配置如下所示:
<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>
我刚刚花了 48 小时尝试了所有这些组合,但无法让它发挥作用。还有更多想法吗?
Could not parse TargetArchitectures 'ARMv7k, ARM64_32'
听起来您没有安装 macOS 和|或 Windows Xamarin.iOS 正确的版本。
它不会与博客文章中链接的组合以外的任何其他组合一起使用(因此“较新的”Xamarin.iOS 12.10.xxx 生产版本不起作用,只有那些“较旧的” " 预览版)
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