Xamarin iOS 权利未发布
Posted
技术标签:
【中文标题】Xamarin iOS 权利未发布【英文标题】:Xamarin iOS entitlements not published 【发布时间】:2020-04-27 10:26:48 【问题描述】:在 Xamarin ios 中,当我修改 Entitlements.plist 并启用 Associated Domains 或 NFC,然后使用临时配置文件存档时,生成的 .ipa 文件不包含权利。
我用这个:
codesign -d --entitlements :- "MyApp.iOS.app"
检查 .ipa。
权利.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:XY.com</string>
</array>
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>NDEF</string>
<string>TAG</string>
</array>
</dict>
</plist>
代码设计输出:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>AAAAAAA.com.XY</string>
<key>get-task-allow</key>
<false/>
<key>com.apple.developer.team-identifier</key>
<string>AAAAAAA</string>
<key>keychain-access-groups</key>
<array>
<string>AAAAAAA.com.XY</string>
</array>
</dict>
</plist>
为什么 .ipa 中没有权利?
编辑:我刚刚发现我没有在 Visual Studio 的 iOS 捆绑签名页面上填写自定义权利。这可能是问题所在。
【问题讨论】:
【参考方案1】:我认为您应该指定自定义 entitlement.plist 的路径。
codesign --entitlements /path/to/entitlements.plist -s <identity> <code-path>
检查https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html。
搜索关键词Entitlements
。
【讨论】:
我刚刚发现我没有在 Visual Studio 的 iOS 捆绑签名页面上填写自定义权利。这可能是问题所在。 我填了,还是有问题!【参考方案2】:仅填写 Entitlements.plist 是不够的。您还必须在 iOS Bundle Signing 页面上分配它 -> 自定义权利。
在我这样做之后,codesign
显示正确的输出(这次我移除了 NFC)
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>AAAAAAA.com.XY</string>
<key>get-task-allow</key>
<false/>
<key>com.apple.developer.team-identifier</key>
<string>AAAAAAAA</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:XY.com</string>
</array>
</dict>
</plist>
【讨论】:
嗨,你能更明确地说明你必须在哪里分配它吗?我在 Visual Studio Mac 中找不到任何“iOS Bundle 签名页面”。 我用的是Windows,会是这个原因吗?以上是关于Xamarin iOS 权利未发布的主要内容,如果未能解决你的问题,请参考以下文章
未调用 ItemSelected - Xamarin.iOS F#
Xamarin.iOS 应用程序未运行时未处理 Amazon SNS 推送通知
Xamarin.iOS SKProductRequest 事件未在 Debug 中调用(在 iOS 15 和 xCode 13 之前工作)
单击未调用的 UICollectionViewCell 中的特定元素(而不是从 Source 触发的 ItemSelected)Xamarin.ios