意外的CFBundleExecutable键

问题描述 投票:96回答:11

花了一些时间谷歌搜索后,有些东西告诉我这个问题是新的。

我们有一个支持iOS7-8的全功能项目。当然,它已多次成功提交给AppStore。

我们使用pod,大量跟踪和监控,如GA和Instabug。

现在我们决定将iOS 9上的Xcode 7上构建的应用程序版本提交给TestFlight。

我们禁用了bitcode,因为许多pod,如Flurry和其他预建库都没有包含它。

构建成功,在提交到iTunesConnect之后我们得到了:enter image description here

我们对GoogleAppIndexing库(在pod中也是如此)也是如此,但我们删除了它,只是为了让它工作。现在 - Instabug。它太过分了,所以我试图了解iOS 9中发生的事情,以及使一个完全正常工作的项目开始抛出这些错误的变化是什么。

欢迎任何想法和想法!请分享您的经验,如果我错过了什么,我会很乐意分享我的步骤。

ios itunesconnect cocoapods ios9 xcode7-beta5
11个回答
112
投票

我今天遇到了同样的问题,在尝试提交我们的应用程序时使用相同的确切错误消息(使用Xcode 7 beta 5),而不是instabug.bundle位,它是我TencentOpenApi_IOS_Bundle.bundle

我通过在项目中找到命名包来解决问题 - 正如错误消息所示 - 通过删除Info.plist键编辑了包中的CFBundleExecutableCFBundlePackageType键已经设置为BNDL所以我没有碰它。

在完成这些更改后,我执行了Product> Clean,然后将应用程序提交到App Store没有问题。

我希望这有帮助。


0
投票

我刚刚在Info.plist“Bundle creator OS Type code”中添加了单词“BNDL”到适当的位置。


0
投票

在我的情况下,我只是拖放enter image description here在文件夹中包含未使用的pod update <OFFENDING POD NAME>文件。这给我带来了问题。因此,找到未使用的plist文件并从源代码中删除它。


52
投票

在Xcode 7 GM上与AviarySDK一起遇到这个,同时提交到App Store。

首先,我要检查您是否使用了最新版本的库 - 供应商可能已经修复了这个问题。但是,如果您仍然面临这个问题,正如Sleiman所描述的那样,您需要从plist文件中删除CFBundleExecutable密钥以获取有问题的库。

Cmd + Shift + O并输入“Info.plist”,然后您可以找到相应的文件:

enter image description here

编辑plist后,您可能会看到描述性名称(而不是CFBundleExecutable和其他键。我无法在外部编辑器中编辑此文件,因此我必须通过右键单击列表切换到查看原始键/值:

enter image description here

您现在可以看到可以删除的CFBundleExecutable密钥(其中包含“可执行文件”的描述)。

对于AviarySDK,我做了两次,对于上图中看到的每个Info.plist,然后能够成功提交。


11
投票

我解决了这个问题如下:我们必须删除以下包的所有“可执行文件”:

  • GooglePlus.bundle
  • GPPCommonSharedResources.bundle
  • GPPShareboxSharedResources.bundle

确保“Bundle type code”等于BNDL

重要提示:不要在info.plist中编辑主项目中的任何内容。

附加屏幕,因为它们应该是每个包装上面列出的“info.plist”。

enter image description here

enter image description here

enter image description here


9
投票

这对我有用

  1. Apple-Shift-F,搜索CFBundleExecutable
  2. 单击除“PODS”或主目标之外的每个目标
  3. 删除它(删除键)

enter image description here


5
投票

如果构建是通过Less than(<)Xcode 7.0提交的,那么它将被提交,我也按照Xcode 7的方式解决了它:

在Project Navigator项目中搜索info.plist,如下图所示:

enter image description here

现在逐个打开这些info.plist文件并删除BundleExecutable键除了目标的info.plist

现在清理了项目并实现了,并且提交时没有问题。


4
投票

我在Google Maps Library中遇到了同样的问题我在qazxsw poi(qazxsw poi)中删除了qazxsw poi密钥,这是SDK的info.plist清理项目并上传到appstore。

快乐的编程。

CFBundleExecutable


1
投票

只需检查Build Settings => Enable Bitcode,然后将其设置为NO


0
投票

另外一个注意事项:有时如果你有其他目标,那么目标属性也可能包含密钥(在“信息”部分中),因此请务必检查这些属性并将其从那里删除。我发现这是我试图包含的一个捆绑包。我从plist中删除了信息,但一直收到错误。


0
投票

如果您从通过CocoaPods安装的库中看到此错误,请尝试使用GMSCoreResources.bundle

这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.