意外的CFBundleExecutable键

时间:2015-08-19 12:55:21

标签: ios itunesconnect cocoapods ios9 xcode7-beta5

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

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

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

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

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

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

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

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

11 个答案:

答案 0 :(得分:111)

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

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

在完成这些更改后,我做了产品&gt;清理,然后将应用程序提交到App商店没有问题。

我希望这会有所帮助。

答案 1 :(得分:52)

在Xcode 7 GM上使用AviarySDK遇到此问题,同时提交到App Store。

首先,我要检查您是否使用了最新版本的库 - 供应商可能已经修复了此问题。但是,如果您仍然遇到此问题,正如Sleiman所述,您需要从plist文件中删除违规库中的CFBundleExecutable键。

Cmd + Shift + O并键入&#34; Info.plist&#34;,然后您可以找到相应的文件:

enter image description here

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

enter image description here

您现在可以看到CFBundleExecutable键(其中包含&#34;可执行文件&#34;的说明),您可以删除它。

对于AviarySDK,我在上图中看到的每个Info.plist执行了两次,然后就可以成功提交了。

答案 2 :(得分:11)

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

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

确保“Bundle type code”等于BNDL

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

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

@reactivex/rxjs

enter image description here

enter image description here

答案 3 :(得分:9)

这对我有用

  1. Apple-Shift-F,搜索CFBundleExecutable
  2. 点击除“PODS”或您的主要目标
  3. 之外的每一个
  4. 删除它(删除密钥)
  5. enter image description here

答案 4 :(得分:5)

如果通过小于(&lt;)Xcode 7.0 提交构建,那么它将被提交,并且 我已经按照 Xcode 7

的方式解决了这个问题

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

enter image description here

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

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

答案 5 :(得分:4)

我在谷歌地图库中遇到同样的问题我删除了CFBundleExecutableGMSCoreResources.bundle)内的Info.plist密钥,这是SDK的info.plist清理项目并上传到appstore。

快乐编程。

enter image description here

答案 6 :(得分:1)

只需检查您的构建设置=&gt;启用Bitcode,并将其设置为NO

答案 7 :(得分:0)

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

答案 8 :(得分:0)

如果您从通过CocoaPods安装的库中看到此错误,请尝试pod update <OFFENDING POD NAME>

这解决了我的问题。

答案 9 :(得分:0)

我刚刚添加了&#34; BNDL&#34;在plist&#34;捆绑创建者操作系统类型代码&#34;。

中的适当位置

That was the issue

答案 10 :(得分:0)

就我而言,我只是拖放SDK文件夹中的info.plist文件,该文件未使用。那给我带来了问题。因此,找到未使用的info.plist文件并将其从源代码中删除。