iCloud:应用程序在 Xamarin Studio 中验证,但不在 XCode 中

Posted

技术标签:

【中文标题】iCloud:应用程序在 Xamarin Studio 中验证,但不在 XCode 中【英文标题】:iCloud: App verifies in Xamarin Studio but not in XCode 【发布时间】:2014-07-19 20:34:21 【问题描述】:

我有一个使用 iCloud 的 Xamarin ios 应用程序。我正确配置了我的配置文件和我的应用程序 ID,并在我的开发机器上刷新了它们。当我尝试在 Xcode Organzier 中验证应用程序包时(上传时)出现四个错误:

无效的代码签名权利:iOS 不支持的已用权利(com.apple.developer.icloud-container-identifiers in Payload/vplan.app/vplan) 无效的代码签名授权:iOS 不支持使用的授权(Payload/vplan.app/vplan 中的com.apple.developer.icloud-container-development-container-identifiers) 无效的代码签名权利:iOS 中不支持的已使用权利(Payload/vplan.app/vplan 中的com.apple.developer.icloud-services) 无效的代码签名权利:iOS 不支持的已使用权利(Payload/vplan.app/vplan 中的com.apple.developer.icloud-container-environment

不仅我从未设置过这些键,而且在 Xamarin Studio 中验证时这些错误也不会出现。

这是Entitlements.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.ubiquity-container-identifiers</key>
    <array>
        <string>$(TeamIdentifierPrefix)com.centrallink.vplan</string>
    </array>
    <key>com.apple.developer.ubiquity-kvstore-identifier</key>
    <string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>
</dict>
</plist>

这个问题让我发疯,所以非常感谢您的帮助!

【问题讨论】:

这里有同样的问题。我使用 Xcode6 beta 为现有的 Objective C 应用程序进行开发。 我安装了 Xcode beta 6-2,但我使用 Xcode 5 Organizer 进行验证。 我也使用 Xcode 5 进行验证,但可能由于“新的 iCloud api”或类似的东西而发生错误...... 你的目标是 iOS 8 还是 7? 【参考方案1】:

您能否在https://bugzilla.xamarin.com 的Xamarin Studio / iOS Addin 下提交有关此问题的错误报告?

看起来正在发生的事情是,新的 Provisioning Profiles 开始在 Entitlements 部分中包含新密钥,Xamarin Studio 需要添加这些密钥以避免合并到 .xcent 文件中。

作为一种临时解决方法,您可以编辑该文件并手动删除这些密钥,然后重新签名。

如果您查看构建日志,您应该能够看到用于对您的应用程序包进行代码签名的命令行。

我会在周一尝试修复它,看看能否确保它进入下一个修补程序版本。

【讨论】:

我会在破解程序开始工作或有可用的修补程序时立即接受答案。

以上是关于iCloud:应用程序在 Xamarin Studio 中验证,但不在 XCode 中的主要内容,如果未能解决你的问题,请参考以下文章

iCloud:应用程序在 Xamarin Studio 中验证,但不在 XCode 中

如何以 xamarin form.ios 在 Icloud 上存储数据

iOS 应用在设备设置页面禁用 iCloud 驱动器(关闭)并获取 iCloud persistentStore

如何创建基于其他数据帧数据帧中的一个连接?

如何在应用程序的 iCloud 生命周期中仅显示一次请求种子 iCloud 的 AlertView?

在应用程序中切换 iCloud 帐户