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