找不到 Mac Catalyst 应用程序的配置文件

问题描述 投票:0回答:1

我正在使用 JetBrains Rider 在 macOS Sonoma (14.6.1) 上进行 .NET MAUI 开发,因为 VS Code 对我来说已损坏。

我的目标是完成我一直在开发的多平台应用程序的 Mac 应用程序测试。它在 iOS 和 Android 模拟器/仿真器中成功构建和启动,并在我的测试 iPhone 和 Android 手机上运行。但是,它不会作为 Mac Catalyst 应用程序启动。每次我收到错误消息时,

Xamarin.Shared.targets(1834,3):
找不到应用程序的任何可用的配置文件。我已经完成了配置过程,删除并重新制作了开发人员仪表板中的证书、应用程序 ID 和配置文件。我为 macOS 制作了一款,为 iOS 制作了一款(也启用了 Mac)。我已经下载、安装、卸载、重新下载和安装。我不确定我错过了什么,.NET MAUI 的文档非常糟糕。很高兴在下面分享我的 csproj 代码以获得一些帮助并根据需要提供日志或屏幕截图。我检查了 Xcode,那里也有三个签名证书。

这是 CSProj 的相关部分:

<!-- Debug Configuration for iOS -->
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)' == 'Debug|net9.0-ios'">
    <CodesignKey>key is here</CodesignKey>
    <CodesignProvision>Automatic</CodesignProvision>
    <BuildIpa>true</BuildIpa>
</PropertyGroup>

<!-- Release Configuration for iOS -->
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)' == 'Release|net9.0-ios'">
    <CodesignKey>key is here</CodesignKey>
    <CodesignProvision>Automatic</CodesignProvision>
    <BuildIpa>true</BuildIpa>
</PropertyGroup>

<!-- Debug Configuration for Mac Catalyst -->
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)' == 'Debug|net9.0-maccatalyst'">
    <CodesignKey>key is here</CodesignKey>
    <CodesignProvision>Automatic</CodesignProvision>
</PropertyGroup>

<!-- Release Configuration for Mac Catalyst -->
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)' == 'Release|net9.0-maccatalyst'">
    <CodesignKey>key is here</CodesignKey>
    <CodesignProvision>Automatic</CodesignProvision>
</PropertyGroup>
maui code-signing provisioning-profile mac-catalyst apple-developer
1个回答
0
投票

又花了几个小时,我弄清楚了需要做什么才能让它启动并运行。对于那些需要实现此功能的人,我将在此处提到许多详细步骤,但实际上可以在文档中找到更多详细信息,尽管如果您像我一样对此类事情较新,您可能找不到以下措辞标题令人困惑:在此处输入链接描述

总结:

  1. 在 Mac 上通过钥匙串创建证书签名请求。
  2. 然后在您的Apple开发者配置文件中创建开发证书(选择Apple开发)并将您在上一步中保存到磁盘的证书上传。
  3. 然后下载该证书并打开它。它将保存到您的钥匙串访问中。稍后您将需要 csproj 文件中 CodesignKey 属性的名称。
  4. 接下来创建一个应用程序ID。关键事项——使用反向域名(com.domainname.appname)。选择应用程序 ID,输入应用程序、描述(无空格)和具有反向域的捆绑包 ID,就像我在上一句中提到的那样。
  5. 选择功能——我有一个离线的简单应用程序,所以我没有选择任何东西。
  6. 然后添加您的设备(如果尚未添加)。我的是。
  7. 最后创建配置文件。我选择了 macOS 开发和 Mac Catalyst(出于测试目的,我只是这样做了。建议您使用 macOS,以便您的 appID 与 iOS 版本绑定,但之前这对我不起作用,所以我只选择了 Mac Catalyst)。
  8. 接下来,您将选择您的应用 ID、证书和设备。
  9. 输入您的配置文件的名称。我建议不要留空格,但它们被接受了。
  10. 点击生成。你不需要下载。您可以从 Xcode 执行此操作。
  11. 启动 Xcode 并转到“设置”->“帐户”。确保您登录到同一个开发者帐户。然后单击“下载手动配置文件”。
  12. 检查链接以完成添加必要权利的步骤,包括创建 entitlements.plist(如果您添加了功能)。
  13. 更新您的 Info.plist(检查链接)
  14. 最后定义构建属性。链接中有一个示例。我的看起来像这样,删除了协同设计的东西:
<!-- Release Configuration for Mac Catalyst -->
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
    <MtouchLink>SdkOnly</MtouchLink>
    <EnableCodeSigning>True</EnableCodeSigning>
    <CreatePackage>true</CreatePackage>
    <CodesignKey>Step 3 Goes Here</CodesignKey>
    <CodesignProvision>ProvisioningProfileHere</CodesignProvision>
    <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
    <UseHardenedRuntime>true</UseHardenedRuntime>
</PropertyGroup>
© www.soinside.com 2019 - 2024. All rights reserved.