iOS无效的代码签名权利

时间:2016-03-22 10:16:10

标签: ios xamarin testflight

我在Xamarin中创建了一个应用程序,我将上传到TestFlight,但在尝试上传时出错。

它说

ERROR ITMS-90045: "Invalid Code Signing Entitlements. Your application bundle's signature contains signing entitlements that are not supported on iOS. Specifically, key 'UIBackgroundModes' in **app-path**' is not supported."

我的Info.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>UIDeviceFamily</key>
    <array>
      <integer>1</integer>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
      <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
      <string>UIInterfaceOrientationPortrait</string>
      <string>UIInterfaceOrientationPortraitUpsideDown</string>
      <string>UIInterfaceOrientationLandscapeLeft</string>
      <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>MinimumOSVersion</key>
    <string>7.1</string>
    <key>CFBundleDisplayName</key>
    <string>**app-name**</string>
    <key>CFBundleIdentifier</key>
    <string>**app-path**</string>
    <key>CFBundleVersion</key>
    <string>10</string>
    <key>CFBundleIconFiles</key>
    <array>
      <string>Icon@2x.png</string>
      <string>Icon.png</string>
      <string>Icon-60@2x.png</string>
    </array>
    <key>CFBundleShortVersionString</key>
    <string>1.6.4</string>
    <key>UIStatusBarTintParameters</key>
    <dict>
      <key>UINavigationBar</key>
      <dict>
        <key>Style</key>
        <string>UIBarStyleDefault</string>
        <key>Translucent</key>
        <false/>
        <key>BackgroundImage</key>
        <string></string>
      </dict>
    </dict>
    <key>UIPrerenderedIcon</key>
    <false/>
    <key>UIStatusBarHidden</key>
    <true/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleBlackOpaque</string>
    <key>UIAppFonts</key>
    <array>
      <string>icomoon.ttf</string>
      <string>TitilliumWeb-Light.ttf</string>
    </array>
    <key>UIBackgroundModes</key>
    <array>
      <string>remote-notification</string>
    </array>
  </dict>
</plist>

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>keychain-access-groups</key>
    <array>
      <string>$(AppIdentifierPrefix)**app-path**</string>
    </array>
    <key>UIBackgroundModes</key>
    <array>
      <string>remote-notification</string>
    </array>
  </dict>
</plist>

我做错了什么?

在下面的示例中,我已使用**app-name****app-bath**

替换了app-name和app-path

1 个答案:

答案 0 :(得分:1)

./gradlew android不是有效的权利密钥 - 此密钥应包含在UIBackgroundModes中。

Info.plist关键参考:

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

Info.plist关键参考:

https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html

希望这有帮助。