意外的CFBundleExecutable键(仍然无法解决)

时间:2016-11-17 11:40:46

标签: ios swift xcode cocoapods carthage

我有一个问题已在这里被多次询问,甚至还有很多答案,但仍然没有一个对我有效。

'意外的CFBundleExecutable密钥 - ' /Payload/Currensee.app/CropViewController/Info.plist'不包含可执行文件。如果此捆绑包故意不包含可执行文件,请考虑从其Info.plist中删除CFBundleExecutable密钥并使用BNDL的CFBundlePackageType。如果此捆绑包是第三方框架的一部分,请考虑与框架开发人员联系以获取更新以解决此问题。'

我使用Carthage安装了GitHub PhotoCropEditor(这是链接https://github.com/sprint84/PhotoCropEditor

我已经尝试过(在大多数答案中提到)将CFBundlePackageType更改为BNDL并删除CFBundleExecutable Key(我已经通过搜索PhotoCropEditor的正确plist来完成)。执行此操作后,我无法运行应用程序,说可执行文件是必需的。问题是AppStore继续拒绝构建说同样的事情,所以简而言之

  1. 如果我删除可执行应用程序无法正常工作(仍尝试发布     仍构建无效)
  2. 如果我保持可执行文件同样出现问题
  3. 请注意,当我尝试手动安装库时会出现同样的问题。除此之外,我的pods目录都没有导致问题只是我使用Carthage安装的那个,因为该库没有pod的选项。

    有些答案建议从复制包资源中删除.dsym文件,我检查了我的复制包资源部分中没有.dsym文件。

    那么我该怎么办才能使我在app商店中的构建无效?

1 个答案:

答案 0 :(得分:1)

没有人回答我的问题,但在不断寻找解决方案后,有一件事终于奏效了。我做的是

  1. 使用 - 无构建选项
  2. 运行carthage
  3. 将Carthage / Checkouts中的CropViewController库手动添加到我的项目
  4. 打开CropViewController的.plist,而不是删除CFBundleExecutable键,我添加了这个“ $(EXECUTABLE_NAME)
  5. 将操作系统捆绑包操作系统类型代码更改为“ BNDL
  6. 提交了应用程序,最后在6次失败的构建之后,这个构建被接受了。