捆绑包的Info.plist不包含CFBundleVersion密钥或其值不是字符串

时间:2017-03-30 07:43:00

标签: ios xcode build compiler-errors

Xcode构建项目,当构建成功时,我收到此消息" bundle的Info.plist不包含CFBundleVersion键或其值不是字符串"。那什么意识。有我的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></key>
    <string></string>
    <key>Additional_Version_String</key>
    <string>Updated on build</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>
    <key>CFBundleIcons</key>
    <dict/>
    <key>CFBundleIcons~ipad</key>
    <dict/>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>Commit_Short_Hash</key>
    <string>Updated on build</string>
    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSContactsUsageDescription</key>
    <string>Vialer needs access to your contacts to make calling to your contacts possible</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>Vialer needs access to your microphone to make calling possible</string>
    <key>UIBackgroundModes</key>
    <array>
        <string>audio</string>
        <string>fetch</string>
        <string>remote-notification</string>
        <string>voip</string>
    </array>
    <key>UIMainStoryboardFile</key>
    <string>MainStoryboard</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UIRequiresPersistentWiFi</key>
    <true/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleBlackTranslucent</string>
    <key>UIStatusBarTintParameters</key>
    <dict>
        <key>UINavigationBar</key>
        <dict>
            <key>Style</key>
            <string>UIBarStyleDefault</string>
            <key>Translucent</key>
            <true/>
        </dict>
    </dict>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <true/>
</dict>
</plist>

7 个答案:

答案 0 :(得分:8)

我遵循了无处不在的解决方案,这些都是我最终对我有用的步骤:

解决方案:

  1. 打开终端并修复flutter doctor显示的所有相关问题:

flutter doctor

  1. 运行flutter clean

enter image description here

  1. 从ios项目中删除Podfile,Podfile.lock和Pods目录

enter image description here

  1. 在Xcode中打开Runner.xcworkspace项目

enter image description here

  1. 按照@Hardik Vyas所述更新内部版本号

enter image description here

  1. 如@iDevOrz所述,从模拟器中擦除所有内容和设置

enter image description here

  1. 使用Xcode清洁,构建和运行应用程序

答案 1 :(得分:4)

对我来说,解决方法是向目标添加内部版本号。 单击您的目标,转到“常规”,然后在“身份”下面是“构建”字段。

答案 2 :(得分:2)

我有同样的问题。

我通过“模拟器”菜单->“硬件”->“擦除所有内容和设置”对其进行了修复。

也许是模拟器错误。

答案 3 :(得分:1)

我在CFBuildVersion中遇到了同样的问题,然后发现我的项目Target中没有插入构建版本。

所以我刚刚插入了构建版本并解决了问题。 enter image description here

答案 4 :(得分:0)

只需将构建版本插入项目中

答案 5 :(得分:0)

Xcode 12.5 - 这可能是一个与 plist 无关的错误

我有 Big Sur 和 Xcode 12.5(非测试版),我创建了一个新的 SwiftUI 项目。 为了节省时间,我在项目导航器中拖动了一个包含一堆 json 文件的文件夹。该文件夹名为“Resources”,但我希望这不是问题。

在拖拽项目编译的文件夹之前。拥有新文件夹后,它将不再编译,并且会出现如下错误。我发现的最奇怪的错误。

解决方案,我一个一个添加文件,然后创建封闭文件夹,然后就可以了。而且是可复制的!我今天在这上面花了 30 分钟。幸运的是,它处于项目的最开始阶段,可以比较并查看何时会停止编译。

enter image description here

答案 6 :(得分:0)

只需添加版本和内部版本号

enter image description here