【问题标题】:ITMS-90451:CFBundleIdentifier Collision ErrorITMS-90451:CFBundleIdentifier 冲突错误
【发布时间】:2015-06-17 18:38:18
【问题描述】:

我必须修改提交给 3/24 的申请。 由于修改后应用程序尝试重新提交到 4/12,我的应用程序加载器中出现以下错误。

[2015-04-12 18:41:21 JST] 错误:错误 ITMS-90451:. "CFBundleIdentifier Collision 'RapidCopy.app/Contents/Frameworks/QtCore.framework'的Info.plist CFBundleIdentifier值'com.LespaceVison.RapidCopy'与'RapidCopy.app'的Info.plist CFBundleIdentifier值冲突。"

因为我以为我修改了一些错误,但是我尝试重新上传提交给3/24的构建尝试,同样的错误显示。

请告诉我该怎么做或我对此错误的错误。 这是我的环境总结

Mac OS X 10.10.3 XCode 6.3 与 CLI 工具 6.3 Qt 5.4.1

我不使用 Xcode。 QtCreator 制作 协同设计 产品构建 我已经使用这些创建了一个用于提交的 pkg。

【问题讨论】:

  • 您的应用程序包包含哪些 Info.plist 文件?
  • 谢谢回复。材料在这里(RapidCopy.app/Info.plist 和框架... Info.plist)lespa.firestorage.com/download/…
  • 我也遇到了同样的问题。 stackoverflow.com/questions/29608264/… 但我必须使用 QtFrameWork....
  • 我确定这个问题“Apple iTunes Connect Server”的问题,是写信给Developper论坛以及向Apple发送报告。遇到同样问题的人最好向 Apple 发送报告。

标签: macos qt app-store


【解决方案1】:

此错误已解决!!
我将向有同样问题的人展示如何解决。
就我而言,存在两个问题。

  1. ITMS-90451 错误
    它是由 FrameWork 中的 CFBundleIdentifier 引起的。
    FrameWork 的 CFBundleIdentifier 不能与 App 相同。
    这是过去的规则,但现在最近检查了 ItunesConnect。
    我被判改变苹果的支持。
    因此,您应该将 App 中已使用的内容以外的内容写入 CFBundleIdentifier。
    如果您使用它是可以的,因为它是 QtFrameWork 在我的情况下默认生成的。
    也许,或者内容是独一无二的,我认为这不会成为问题。

    2.ITMS-90334 错误
    在我清除问题 1(ITMS-90451) 后,我遇到了这个问题。
    此问题的原因在于代码设计。
    我以前找过一个QtFrameWork的样例,在样例中codesign的时候要FrameWork,
    它是使用 -i 选项指定 App 的 BundleID。这是一个错误。
    错误示例在这里。
    codesign -f -s "YOUR APP CERT" -i "YOUR APP BUNDLEID" "YOURAPP".app/Contents/Frameworks/QtCore.framework
    答案就在这里
    codesign -f -s "YOUR APP CERT" "YOURAPP".app/Contents/Frameworks/QtCore.framework


    我被要求发布有关 Apple 变更的任何公告,
    但他们解释不会添加。
    这些信息对某人有用吗?

    加油!

【讨论】:

    【解决方案2】:

    我通过从 pod/依赖项的 info.plist 中删除值来解决此问题。在此处查看详细答案。 :error itms-90451 "CFBundleIdentifier Collision Error"

    【讨论】:

    • 感谢您的回答。但是,我没有使用过 Cocoapod,甚至没有使用过 Xcode。 QtCreator 和 make、codesign,它创建了一个 pkg 来合并 productbuild 命令。所以,它不会成为答案。
    • 我从这个 url 下载了你的文件:lespa.firestorage.com/download/… 你的项目实际上包含两个 info.plist 文件。他们都存在冲突,请参见此处:imgur.com/ozkzkl4
    • 谢谢回复。我是按照 Apple 的框架编程指南放置 Info.plist 来提交的。 developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…因此,我认为这个地方被认为是正确的。我尝试删除其中的 CFBundleIdentifier 和 info.plist 以删除 Framework 中的 Info.plist 来尝试。然后,其他程序不起作用。所以,我认为这个问题与你必须解决的问题不同。感谢您的意见。
    猜你喜欢
    • 2015-06-18
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多