【问题标题】:The bundle's Info.plist does not contain a CFBundleVersion key or its value is not a string捆绑包的 Info.plist 不包含 CFBundleVersion 键或其值不是字符串
【发布时间】:2017-08-24 00:04:23
【问题描述】:

Xcode 正在构建项目,当构建成功时,我收到此消息“捆绑包的 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>

【问题讨论】:

    标签: ios xcode build compiler-errors


    【解决方案1】:

    我对 CFBuildVersion 有同样的问题,但我发现在我的项目 Target 中没有插入构建版本。

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

    【讨论】:

    • 有时 Xcode 太笨了!也解决了我的问题,昨晚项目还好,今天又打开了,报这个错误!还是谢谢
    【解决方案2】:

    我从各地遵循了解决方案,这些是我最终采用的对我有用的步骤:

    解决方案:

    1. 打开终端并修复任何相关问题flutter doctor 显示:

    1. 运行flutter clean

    1. 从您的 ios 项目中删除 Podfile、Podfile.lock 和 Pods 目录

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

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

    1. 正如@iDevOrz 提到的,从模拟器中删除所有内容和设置

    1. 在 Xcode 中清理、构建和运行应用程序

    【讨论】:

    • 我一直在为这个问题苦苦挣扎,但是这个解决方案帮助解决了各种各样的问题,而不仅仅是上面的一个。谢谢。
    【解决方案3】:

    我也有同样的问题。

    我通过模拟器菜单 -> 硬件 -> 擦除所有内容和设置来修复它。

    可能是模拟器的错误。

    【讨论】:

    • 不幸的是,这对我不起作用。您还记得您是否需要采取任何其他步骤?
    • @John Montgomery 对不起,太久以前记不住了。
    【解决方案4】:

    对我来说,解决方法是向目标添加内部版本号。 单击您的目标,转到 General,然后在 Identity 下面是 Build 字段。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

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

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

        解决办法,我一一添加文件,然后创建了封闭文件夹,然后它就起作用了。它是可重现的!我今天在这上面花了 30 分钟。幸运的是,它处于项目的最开始,可以比较并查看何时停止编译..

        【讨论】:

        • 一样! Big Sur,Xcode 12.5.1 (12E507) 项目根目录下的文件夹名称“资源”。将文件夹更改为构建的“数据”项目
        【解决方案7】:

        只需将构建版本插入您的项目

        【讨论】:

          【解决方案8】:

          以代码模式添加到 info.plist 对我有用

          <plist version="1.0">
          <string>1.0</string>
          </plist>
          

          【讨论】:

            【解决方案9】:

            您可以使用 agvtool 来修复这些错误:https://developer.apple.com/library/archive/qa/qa1827/_index.html

            所以,要解决 CFBundleVersion 问题,打开终端,进入项目根目录(iOS 项目),然后输入以下命令:

            agvtool new-version -all 2.6.9
            

            然后按回车键。

            【讨论】:

              【解决方案10】:

              我刚刚添加了这个键 CFBundleVersion 并从上面的键中复制了值,如 .plist 中所示(请参阅左侧的项目导航器):

              【讨论】:

                【解决方案11】:

                我只是编辑了我的项目的“.plist”文件并添加了一个带有一些值的CFBundleShortVersionString 条目。

                【讨论】:

                  猜你喜欢
                  • 2023-03-16
                  • 1970-01-01
                  • 2017-08-15
                  • 2021-09-10
                  • 1970-01-01
                  • 2023-02-16
                  • 1970-01-01
                  • 2013-10-22
                  相关资源
                  最近更新 更多