意外的 CFBundleExecutable 密钥
Unexpected CFBundleExecutable key
在谷歌上搜索了一些时间后,我发现这个问题是新的。
我们有一个功能齐全的项目支持 iOS7-8。当然是多次成功提交到AppStore。
我们使用 pods,大量的跟踪和监控,例如 GA 和 Instabug。
现在我们决定在 iOS 9 上将基于 Xcode 7 构建的应用程序版本提交给 TestFlight。
我们禁用了 bitcode,因为许多 pods,如 Flurry 和其他预建库不包含它。
构建成功,提交到 iTunesConnect 后我们得到:
我们有相同的 GoogleAppIndexing 库(也在 pods 中),但我们删除了它,只是为了让它工作。现在 - Instabug。它走得太远了,所以我试图了解 iOS 9 中发生了什么,以及使一个完全正常工作的项目开始抛出此类错误的变化是什么。
欢迎任何想法和想法!请分享您的经验,如果我遗漏了什么,我很乐意分享我的步骤。
我今天在尝试提交我们的应用程序(使用 Xcode 7 beta 5)时遇到了同样的问题,并出现了完全相同的错误消息,但不是 instabug.bundle
位,而是给我 TencentOpenApi_IOS_Bundle.bundle
.
我通过在项目中找到命名的包解决了这个问题,然后 - 正如错误消息所暗示的那样 - 通过删除 CFBundleExecutable
键来编辑包中的 Info.plist
。 CFBundlePackageType
键已经设置为 BNDL
所以我没有碰它。
进行这些更改后,我执行了“产品”>“清理”,然后将应用程序提交到应用程序商店就没有问题了。
希望对您有所帮助。
AviarySDK
在 Xcode 7 GM 提交到 App Store 时遇到了这个问题。
首先我会检查您是否使用最新版本的库 - 供应商可能已经修复了这个问题。但是,如果您仍然面临这个问题,正如 Sleiman 所描述的那样,您需要从有问题的库的 plist 文件中删除 CFBundleExecutable
键。
Cmd + Shift + O 并输入"Info.plist",然后你可以找到合适的文件:
编辑 plist 后,您可能会看到描述性名称(而不是 CFBundleExecutable
和其他键。我无法在外部编辑器中编辑此文件,所以我不得不切换到查看原始 keys/values 右键单击列表:
您现在可以看到可以删除的 CFBundleExecutable
键(其描述为 "Executable file")。
对于 AviarySDK,我做了两次,一次对应上图中的每个 Info.plist
,然后能够成功提交。
如果通过 小于(<) Xcode 7.0 提交构建,那么它将被提交,并且
我已经通过 Xcode 7:
的方式解决了它
在项目导航器中搜索 info.plist
,如下图所示:
现在一个一个打开这些 info.plist
文件并删除 BundleExecutable
键 除了目标的 info.plist
现在清理项目并实现并提交没有问题。
我是这样解决这个问题的:
我们必须删除以下软件包的所有 "Executable files":
- GooglePlus.bundle
- GPPCommonSharedResources.bundle
- GPPShareboxSharedResources.bundle
确保 "Bundle type code" 等于 BNDL
重要提示:不要在 info.plist 主项目中编辑任何内容。
附加屏幕,因为它们应该是他在每个包裹上方列出的 "info.plist"。
一个额外的注意事项:有时如果您有其他目标,则目标属性也可能包含密钥(在 "Info" 部分),因此请务必检查这些并将其也从那里删除。我在尝试包含的其中一个捆绑包中发现了这一点。我从 plist 中删除了信息,但一直出现错误。
如果您在通过 CocoaPods 安装的库中看到此错误,请尝试 pod update <OFFENDING POD NAME>
这解决了我的问题。
这是对我有用的
- Apple-Shift-F,搜索 CFBundleExecutable
- 单击除 "PODS" 或您的主要目标
之外的每个
- 删除它(删除键)
我在 Google 地图库中遇到了同样的问题,我删除了 GMSCoreResources.bundle
(Info.plist
) 中的 CFBundleExecutable
键,这是 SDK 的 info.plist 清理项目,并且上传到应用商店。
编程愉快。
只需检查您的构建设置 => 启用位码,并将其设置为否
我刚刚在 plist
"Bundle creator OS Type code" 中的适当位置添加了单词 "BNDL"。
在我的例子中,我只是拖放 SDK
In folder include info.plist
未使用的文件。这对我来说是个问题。所以找到不用的info.plist
文件,从Source code中删除。
在谷歌上搜索了一些时间后,我发现这个问题是新的。
我们有一个功能齐全的项目支持 iOS7-8。当然是多次成功提交到AppStore。
我们使用 pods,大量的跟踪和监控,例如 GA 和 Instabug。
现在我们决定在 iOS 9 上将基于 Xcode 7 构建的应用程序版本提交给 TestFlight。
我们禁用了 bitcode,因为许多 pods,如 Flurry 和其他预建库不包含它。
构建成功,提交到 iTunesConnect 后我们得到:
我们有相同的 GoogleAppIndexing 库(也在 pods 中),但我们删除了它,只是为了让它工作。现在 - Instabug。它走得太远了,所以我试图了解 iOS 9 中发生了什么,以及使一个完全正常工作的项目开始抛出此类错误的变化是什么。
欢迎任何想法和想法!请分享您的经验,如果我遗漏了什么,我很乐意分享我的步骤。
我今天在尝试提交我们的应用程序(使用 Xcode 7 beta 5)时遇到了同样的问题,并出现了完全相同的错误消息,但不是 instabug.bundle
位,而是给我 TencentOpenApi_IOS_Bundle.bundle
.
我通过在项目中找到命名的包解决了这个问题,然后 - 正如错误消息所暗示的那样 - 通过删除 CFBundleExecutable
键来编辑包中的 Info.plist
。 CFBundlePackageType
键已经设置为 BNDL
所以我没有碰它。
进行这些更改后,我执行了“产品”>“清理”,然后将应用程序提交到应用程序商店就没有问题了。
希望对您有所帮助。
AviarySDK
在 Xcode 7 GM 提交到 App Store 时遇到了这个问题。
首先我会检查您是否使用最新版本的库 - 供应商可能已经修复了这个问题。但是,如果您仍然面临这个问题,正如 Sleiman 所描述的那样,您需要从有问题的库的 plist 文件中删除 CFBundleExecutable
键。
Cmd + Shift + O 并输入"Info.plist",然后你可以找到合适的文件:
编辑 plist 后,您可能会看到描述性名称(而不是 CFBundleExecutable
和其他键。我无法在外部编辑器中编辑此文件,所以我不得不切换到查看原始 keys/values 右键单击列表:
您现在可以看到可以删除的 CFBundleExecutable
键(其描述为 "Executable file")。
对于 AviarySDK,我做了两次,一次对应上图中的每个 Info.plist
,然后能够成功提交。
如果通过 小于(<) Xcode 7.0 提交构建,那么它将被提交,并且 我已经通过 Xcode 7:
的方式解决了它在项目导航器中搜索 info.plist
,如下图所示:
现在一个一个打开这些 info.plist
文件并删除 BundleExecutable
键 除了目标的 info.plist
现在清理项目并实现并提交没有问题。
我是这样解决这个问题的: 我们必须删除以下软件包的所有 "Executable files":
- GooglePlus.bundle
- GPPCommonSharedResources.bundle
- GPPShareboxSharedResources.bundle
确保 "Bundle type code" 等于 BNDL
重要提示:不要在 info.plist 主项目中编辑任何内容。
附加屏幕,因为它们应该是他在每个包裹上方列出的 "info.plist"。
一个额外的注意事项:有时如果您有其他目标,则目标属性也可能包含密钥(在 "Info" 部分),因此请务必检查这些并将其也从那里删除。我在尝试包含的其中一个捆绑包中发现了这一点。我从 plist 中删除了信息,但一直出现错误。
如果您在通过 CocoaPods 安装的库中看到此错误,请尝试 pod update <OFFENDING POD NAME>
这解决了我的问题。
这是对我有用的
- Apple-Shift-F,搜索 CFBundleExecutable
- 单击除 "PODS" 或您的主要目标 之外的每个
- 删除它(删除键)
我在 Google 地图库中遇到了同样的问题,我删除了 GMSCoreResources.bundle
(Info.plist
) 中的 CFBundleExecutable
键,这是 SDK 的 info.plist 清理项目,并且上传到应用商店。
编程愉快。
只需检查您的构建设置 => 启用位码,并将其设置为否
我刚刚在 plist
"Bundle creator OS Type code" 中的适当位置添加了单词 "BNDL"。
在我的例子中,我只是拖放 SDK
In folder include info.plist
未使用的文件。这对我来说是个问题。所以找到不用的info.plist
文件,从Source code中删除。