首页 > 解决方案 > Xamarin iOS 版本的构建失败

问题描述

我有一个用于 xamarin 表单应用程序的 azure-devops 构建管道。当它设置为 release|iphone 失败并出现以下错误:/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(646,3): error : Could not find适用于 iOS 的任何可用配置文件。

该构建具有有效的 Apple 企业证书和配置文件,它们在运行发布构建之前设置为任务(并且成功)。相同的构建在我的本地机器以及 App Center 上成功编译。当我将构建设置为 iPhoneSimulator 时,构建也会在管道中成功编译。

证书和配置文件位于安全库中。

对下一步有什么建议吗?

iOS 项目文件片段:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchArch>ARM64</MtouchArch>
    <ConsolePause>false</ConsolePause>
    <CodesignKey>iPhone Distribution</CodesignKey>
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    <CodesignExtraArgs />
    <CodesignResourceRules />
    <IpaPackageDir>$(OutputPath</IpaPackageDir>
    <IpaIncludeArtwork>true</IpaIncludeArtwork>
    <IpaMetadata>iTunesMetadata.plist</IpaMetadata>
    <IpaPackageName>CiteGuide</IpaPackageName>
    <MtouchEnableSGenConc>false</MtouchEnableSGenConc>
    <BuildIpa>true</BuildIpa>
  </PropertyGroup>

标签: iosazurexamarinbuildazure-devops

解决方案


您必须创建一个配置文件。

但是,秘诀是:当您创建配置文件时,您必须将 App ID 关联到此配置文件,例如:“com.companyname.*”。

当您在 Visual Studio 中创建应用程序时,您必须在 IOS PROJECT 上的 INFO.PLIST 文件中设置 Bundle Identifier 为“com.companyname.myapp1”或其他任何内容。如果您的 Bundle Identifier 的名称类似于“com.myapp.app1”,您将收到以下错误:找不到任何适用于 iOS 的配置文件,因为您的配置文件只接受名称以 com.companyname 开头的应用程序并且您正在使用一个appname不同。

也有不少帖子回答了相同的问题,请浏览一下,看看是否有帮助。

https://forums.xamarin.com/discussion/128131/error-could-not-find-any-available-provisioning-profiles-for-ios

https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/device-provisioning/

找不到任何适用于 iOS 的配置文件


推荐阅读