Xamarin.IOS手表扩展存储上载错误ITMS-90733

时间:2019-05-03 13:56:44

标签: xcode xamarin xamarin.ios apple-watch

我有一个Visual Studio解决方案,包括一个.NET Standard 2.0库,一个Xamarin.iOS项目,一个watch OS扩展项目和一个watch app项目。 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的建议安装了https://devblogs.microsoft.com/xamarin/apple-new-processor-architecture/
  • 在监视应用程序和/或监视扩展项目的构建体系结构中添加了ARMv7k, ARM64_32(尝试了所有组合)-但这导致构建失败并出现错误Could not parse TargetArchitectures 'ARMv7k, ARM64_32'(请注意,我无法在Windows上的VS中使用可视项目属性编辑器选择ARMv7k以外的其他平台)

手表扩展项目的发布配置如下所示:

<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个小时尝试所有这些组合,但无法使其正常工作。还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

  

无法解析TargetArchitectures'ARMv7k,ARM64_32'

听起来像您没有安装macOS和|或Windows Xamarin.iOS正确的版本。

除博客文章中链接的组合以外,其他任何组合均不起作用(因此,“较新的” Xamarin.iOS 12.10.xxx生产版本不起作用,仅那些“较旧”的预览版本无效)

re:Github Issue 5951

  

此功能(新拱门)仍处于预览状态(不在我们的常规版本中)。您正在使用其他预览版本(适用于d16-1),但今天没有包含它。

     

如果您需要提交watchOS应用程序,请使用博客文章中提到的软件包,即   https://dl.xamarin.com/uploads/05uvso0cndi/xamarin.ios-12.6.0.59.pkg