ios - 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>
解决方案
您必须创建一个配置文件。
但是,秘诀是:当您创建配置文件时,您必须将 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://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/device-provisioning/
推荐阅读
- javascript - 如何在图表js中将变量从烧瓶传递到外部javascript
- javascript - 为 DOM 完全加载(包括延迟加载)添加文档侦听器
- typescript - Sinon spy 和 mailgun:试图将未定义的属性“消息”包装为函数
- google-cloud-platform - 通过 shell 脚本设置云构建默认替换变量
- python - 数据框的 pandas 函数的包装器,它从文件中读取 csv 作为数据框 - df 未定义错误
- postgresql - 仅当用户存在时如何执行“DROP OWNED BY”?
- verilog - 将随机数据写入测试台中的 RAM
- javascript - 为什么 new^.prototype 在此代码中作为原型传递给 Object.create(proto) 而不是常规对象或常规构造函数原型?
- android - 在 Fragment Android 中显示 DatePickerFragment
- android - 导航组件:BottomNavigationView 和 navigationDrawer,在一个项目 android