代码签名错误:捆绑包格式无法识别,无效或不适合

时间:2015-03-26 05:15:30

标签: ios swift ios8 xcode6 code-signing

我正在开发iOS应用程序,Swift语言,iOS8,Xcode 6.1。它在iPad上运行良好。然后我添加了一个“资源”文件夹引用项目,之后我收到代码签名错误。

Resource文件夹包含一些HTML文件。我不确定此文件夹引用是如何导致此问题。有什么帮助吗?

enter image description here

17 个答案:

答案 0 :(得分:61)

好的,解决了,This answer帮了我。

我重命名了该文件夹。显然Xcode不喜欢手动创建“资源”文件。

答案 1 :(得分:60)

我在两个不同的项目中遇到过这个问题,我做了很多建议的事情,清除了DerivedData文件夹,重新安装了pod等。

在这两个项目中,它都在抱怨一个特定的Pod并且无法对其进行编码。

为我解决的是:

  1. 选择Pods Project
  2. 在主编辑器窗口中,选择目标下拉列表中的Pod
  3. 在常规标签下,在标识标题下,单击选择信息.plist文件
  4. 选择Pod的plist文件
  5. 该项目现在应该建立。由于某种原因,它似乎失去了这个设置,或者无法引用它自己的plist文件。

    这对我来说都适用于这两个项目。不是100%肯定为什么,但我希望它可以帮助其他人有同样的问题。

答案 2 :(得分:27)

我有几个小时的同样问题。但以下帮助了我。

  1. 删除派生数据
  2. 清理项目
  3. 然后又跑了,工作了。

答案 3 :(得分:11)

以防万一其他人遇到此问题:确保没有在“ 嵌入式二进制文件”部分中添加静态框架,因此仅需要动态框架在那里。

答案 4 :(得分:10)

Clean Build Folder为我修复了这个问题。

答案 5 :(得分:4)

在更新到Xcode 8.1一周之后发生了我的事情,结果我不得不更新cocoapods(sudo gem update cocoapods)并再次进行pod安装以使其正常工作。

答案 6 :(得分:1)

除了接受的答案,我认为我应该添加这个 -

对我来说,我收到此错误,因为Xcode-8在设备上运行app时实际上正在使用Test Target。如果它是相同的,那么请按照以下步骤操作:

转到xcode中的编辑方案 - >在Build Target中 - >完全删除MyProject.xctest或取消选中MyProject.xctest Analyze,Test等的所有框。

清理项目,然后在设备上运行。

PS:答案来自Link

答案 7 :(得分:1)

对我来说问题是,在info.plist中,我忘了将url方案更新为新的包ID

上一篇:com.test.app new:com.test.app1

这解决了问题

答案 8 :(得分:0)

在使用 AppCode 的面向 MacOS(而非 iOS)的应用程序上遇到问题,但我相信该解决方案应该适用于所有情况:在 AppCode 中,只需在构建之前执行 Run > Clean

答案 9 :(得分:0)

我知道这是一个旧线程,但是我只是遇到了这个问题,其他答案都无济于事。对我来说,此错误发生在我不拥有的旧第三方框架的“嵌入和签名”上。在该.framework包中,它确实有一个不正确的directory formatVersions/A/目录改名为Versions/1.0.0/(“ 1.0.0”当然是任意版本数字),这似乎使CodeSign命令感到困惑。因此,我先将cd Versions放入框架目录,然后依次进入mv 1.0.0 Aln -sf A Current,此后CodeSign和构建成功。

答案 10 :(得分:0)

我遇到了同样的问题,在尝试了此处报告的几乎所有解决方案均未成功后,我发现只需删除产品文件(即,将其移至Finder中的垃圾箱)即可为我解决问题。

答案 11 :(得分:0)

在这里解决

  • 确保在构建阶段已将所有使用的框架添加到“嵌入框架”部分
  • 仅当在同一部分安装CHECKED时才保留副本

祝你好运

答案 12 :(得分:0)

我现在有类似的问题,它实际上是由Fabric的Embed脚本引起的,并通过删除项目文件路径中的空格来解决。

在项目文件夹中拥有一个完美的可构建工作空间,称为“app-ios'我制作了一份名为' app-ios 2'并且不可能建立它。 codesign确实报告了bundle format unrecognized, invalid, or unsuitable,相应的路径不是捆绑包,而是以/app-ios代替app-ios 2/DerivedData/...

结束

将文件夹重命名为app-ios-2后,工作区可再次构建。

答案 13 :(得分:0)

对于喜欢我的人来说,上述所有解决方案都无法奏效。您可以仔细检查您的方案名称,那里不应该有任何空间。 Cocoapods无法使用1.1.1版本的空间处理方案名称。但我不确定为什么只有在我升级到Xcode 8.2时才会发生这种情况。它在Xcode 8.1中运行得非常好。

花了我几个小时来弄清楚这个问题。 您可以按照thread

进行操作

希望得到这个帮助。

答案 14 :(得分:0)

更新到Xcode 8.1后遇到此问题。简单地更新cocoapods(在终端中运行'sudo gem update cocoapods')为我解决了这个问题

答案 15 :(得分:0)

对我来说,在我将xcode升级到8.1后,会出现类似的问题。我尝试了不同的方法,但似乎更新cocoapods到最新版本一开始绝对值得做。然后使用更新pod pod install --verbose --no-repo-updatepod update --verbose --no-repo-update会有所帮助。

答案 16 :(得分:0)

升级到Xcode 8.1后问题已经开始。我的项目使用CocoaPods。我必须删除./Pods目录并运行pod installpod update(将Flurry-iOS-SDK更新为7.8.1)。为什么?因为原因。