iOS 无效的代码签名权利



我在 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."

我的信息列表如下所示

<?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**

UIBackgroundModes 不是有效的授权密钥 - 此密钥应包含在Info.plist中。

Info.plist关键参考:

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

Entitlements.plist关键参考:

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

希望这有帮助。

最新更新