You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Maui添加Entitlements.plist致构建失败,App Links无法生效

Visual Studio CE 2022 17.44 iOS App Links配置问题解决

1. 构建错误的修复

你将<CodesignResourceRules>替换为<CodesignEntitlements>的操作完全正确——--resource-rules参数在Mac OS X 10.10及以上版本已被废弃,需确保项目文件配置准确指向你的Entitlements.plist:

  • 打开项目的.csproj文件,找到原<CodesignResourceRules>节点,替换为:
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    
  • 若Entitlements.plist存放在子目录,需填写完整相对路径(如Resources/Entitlements.plist)。

2. App Links无法跳转的排查步骤

关联域配置验证

检查Entitlements.plist格式是否合规:

  • 键为com.apple.developer.associated-domains,值为数组类型,每个元素格式为applinks:popupshop.azurewebsites.net(不要添加http://或https://前缀)。

apple-app-site-association文件验证

  • 确认文件可通过HTTPS正常访问:直接访问https://popupshop.azurewebsites.net/apple-app-site-association和https://popupshop.azurewebsites.net/.well-known/apple-app-site-association,需返回200状态码,且内容为无注释、格式正确的JSON。
  • 检查JSON核心配置:
    • appIDs必须包含完整App ID,格式为[TeamID].[BundleID](例如XYZ1234567.com.yourcompany.popupshop)。
    • paths数组需包含/findshop,精确匹配写["/findshop"],需匹配子路径则用["/findshop/*"],注意路径大小写要和实际URL完全一致。

设备与测试方式

  • 必须使用物理iOS设备测试,模拟器对App Links的支持存在限制。
  • 应用需通过正式签名或Ad Hoc签名安装(调试签名可能导致功能受限)。
  • 测试时不要直接在Safari地址栏输入URL,需点击网页或备忘录中的链接触发跳转逻辑。
  • 重启设备和应用,清除Safari缓存,避免旧配置残留影响测试结果。

3. 项目设置缺少'Custom Entitlements'区域的处理

Visual Studio CE 2022部分版本确实没有该UI选项,手动修改.csproj文件是可靠的替代方案。需确保<CodesignEntitlements>节点放在对应iOS目标框架的PropertyGroup中,示例:

<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0-ios'">
  <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

若有需求,可尝试更新Visual Studio至最新版本,后续版本可能补全该UI选项。

内容的提问来源于stack exchange,提问作者Cef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:12:48