错误ITMS-90046:不支持键“ com.apple.developer.icloud-container-environment”的值“ Development”

时间:2019-05-09 22:21:39

标签: ios xamarin.forms provisioning-profile entitlements code-signing-entitlements

我遇到以下错误:

  

错误ITMS-90046:“无效的代码签名权利。您的应用程序捆绑包的签名包含iOS上不支持的代码签名权利。特别是,键'com.apple.developer.icloud-container-environment'的值'Development' 'Payload / AppName.iOS.app / AppName.iOS'中的版本不受支持。”

“开发”甚至不在entitlements.plist中。 iCloud认证的名称虽然包含在一个字符串数组中(这在以前的上传中有效,但我不知道是什么原因导致了它的中断)。我还尝试删除所有证书和条款并重做它们。不用找了。

我也尝试了以下方法:

ERROR ITMS-90164/90046: Invalid Code Signing Entitlements

https://forums.xamarin.com/discussion/48831/tinyurl.com/oqbw7ra

https://forums.xamarin.com/discussion/58051/ios-entitlement-error-90046

建议?

编辑:

<?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.networking.wifi-info</key>
    <true/>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)com.PrivateAppName</string>
    </array>
    <key>com.apple.developer.icloud-container-identifiers</key>
    <array>
        <string>iCloud.com.PrivateAppName</string>
    </array>
    <key>com.apple.developer.ubiquity-kvstore-identifier</key>
    <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</dict>
</plist>

1 个答案:

答案 0 :(得分:0)

最终删除了iCloud,因为我找到了一种不使用它的方法。我改用secure-storagepreferences。请注意,出于任何原因,用于存储它们的密钥都必须包含应用程序标识符,否则它并不总是从设备(手机,平板电脑等)中获取。