Code sign error : bundle format unrecognized, invalid, or unsuitable
Code sign error : bundle format unrecognized, invalid, or unsuitable
我正在开发 iOS 应用程序,Swift 语言,iOS8,Xcode 6.1。在 iPad 上 运行 很好。然后我向项目添加了一个 "Resource" 文件夹引用,之后我收到代码签名错误。
资源文件夹包含一些 HTML 文件。我不确定此文件夹引用是如何导致此问题的。有什么帮助吗?
好的,解决了,This answer帮了我。
我重命名了文件夹。显然 Xcode 不喜欢 "Resources" 手动创建文件。
Clean Build Folder 为我解决了这个问题。
我几个小时都遇到同样的问题。但以下帮助了我。
- 删除派生数据
- 清理项目
然后又 运行,成功了。
除了接受的答案我想我应该添加这个-
对我来说,我收到此错误是因为 Xcode-8 实际上在设备上使用 运行 应用程序时使用测试目标。因此,如果相同,请按照以下步骤操作:
转到 xcode 中的编辑方案 -> 在构建目标中 -> 完全删除 MyProject.xctest 或取消选中 MyProject.xctest 分析、测试等的所有复选框。
清理您的项目,然后在设备上 运行。
PS: 答案来自这个Link
升级到 Xcode 8.1 后出现问题。我的项目使用 CocoaPods。我不得不删除 ./Pods
目录和 运行 pod install
和 pod update
(将 Flurry-iOS-SDK 更新为 7.8.1)。为什么?因为原因。
更新到 Xcode 8.1 一周后我遇到了这个问题,结果我不得不更新 cocoapods(sudo gem update cocoapods)并再次执行 pod install 以使其正常工作。
我在两个不同的项目中遇到过这个问题,我做了很多建议的事情,清除了 DerivedData 文件夹,re-installed pods 等等
在这两个项目中,它都在抱怨某个特定的 Pod 并且无法对其进行代码签名。
为我修复的是:
- Select Pods 项目
- 在主编辑器中 window,select 目标下拉列表中的 Pod
- 在常规选项卡下,在身份 header 下,单击选择 Info.plist 文件
- Select Pod 的 plist 文件
项目现在应该生成了。由于某种原因,它似乎丢失了这个设置,或者无法引用它自己的 plist 文件。
这在两个项目中都对我有用。不是 100% 知道为什么,但我希望它能帮助遇到同样问题的其他人。
对我来说,在我将 xcode 升级到 8.1 后,出现了类似的问题。我尝试了不同的方法,但似乎首先将 cocoapods 更新到最新版本绝对值得。然后用 pods 更新
pod install --verbose --no-repo-update
和
pod update --verbose --no-repo-update
会有帮助。
更新到 Xcode 8.1 后遇到此问题。简单地更新 cocoapods(通过 运行 'sudo gem update cocoapods' 在终端)为我修复了这个问题
对于像我这样的人来说,以上所有的解决方案都行不通。你可以仔细检查你的方案名称,那里不应该有任何 space 。 Cocoapods 无法处理带有 space 的 1.1.1 版本的方案名称。但我不确定为什么只有当我升级到 Xcode 8.2 时才会发生这种情况。它与 Xcode 8.1.
一起工作得很好
我花了好几个小时才弄清楚这个问题。
你可以关注这个thread
希望对您有所帮助。
我现在遇到了类似的问题,它实际上是由 Fabric 的嵌入脚本引起的,通过删除项目文件内部路径中的 space 来解决。
在名为 'app-ios' 的项目文件夹中有一个完全可构建的作品space 我制作了一个名为 'app-ios 2' 的副本,但无法构建它。 codesign 确实报告了 bundle format unrecognized, invalid, or unsuitable
并且各自的路径不是到包,但以 /app-ios
而不是 app-ios 2/DerivedData/...
结尾
将文件夹重命名为 app-ios-2
后,作品space 又可以构建了。
我的问题是,在 info.plist 中,我忘记将 url 方案更新为新的包 ID
上一个:com.test.app
新:com.test.app1
这解决了问题
以防其他人遇到此问题:确保您没有将 静态框架 添加到“嵌入式二进制文件 " 部分,只需要动态框架。
这里解决了
- 确保所有使用的框架都添加到构建阶段的嵌入框架部分
- 仅当在同一部分安装 CHECKED 时才保留副本
祝你好运
我遇到了同样的问题,在尝试了此处报告的几乎所有解决方案均未成功后,我发现只需删除产品文件(即将其移至 Finder 中的回收站)即可解决我的问题。
我知道这是一个旧话题,但我刚遇到这个问题,none 的其他答案对我有所帮助。对我来说,这个错误发生在我不拥有的旧第三方框架的 "Embed & Sign" 上。查看那个 .framework
包,它确实有一个不正确的 directory format:Versions/A/
目录被命名为 Versions/1.0.0/
(“1.0.0”当然是一个任意版本number),这似乎混淆了 CodeSign
命令。所以我 cd Versions
进入框架的目录,然后 mv 1.0.0 A
和 ln -sf A Current
- 之后 CodeSign 和构建成功。
在使用 AppCode 的针对 MacOS(不是 iOS)的应用程序上遇到问题,但我相信该解决方案应该适用于所有情况:在 AppCode 中,只需在构建之前执行 Run > Clean
。
我正在开发 iOS 应用程序,Swift 语言,iOS8,Xcode 6.1。在 iPad 上 运行 很好。然后我向项目添加了一个 "Resource" 文件夹引用,之后我收到代码签名错误。
资源文件夹包含一些 HTML 文件。我不确定此文件夹引用是如何导致此问题的。有什么帮助吗?
好的,解决了,This answer帮了我。
我重命名了文件夹。显然 Xcode 不喜欢 "Resources" 手动创建文件。
Clean Build Folder 为我解决了这个问题。
我几个小时都遇到同样的问题。但以下帮助了我。
- 删除派生数据
- 清理项目
然后又 运行,成功了。
除了接受的答案我想我应该添加这个-
对我来说,我收到此错误是因为 Xcode-8 实际上在设备上使用 运行 应用程序时使用测试目标。因此,如果相同,请按照以下步骤操作:
转到 xcode 中的编辑方案 -> 在构建目标中 -> 完全删除 MyProject.xctest 或取消选中 MyProject.xctest 分析、测试等的所有复选框。
清理您的项目,然后在设备上 运行。
PS: 答案来自这个Link
升级到 Xcode 8.1 后出现问题。我的项目使用 CocoaPods。我不得不删除 ./Pods
目录和 运行 pod install
和 pod update
(将 Flurry-iOS-SDK 更新为 7.8.1)。为什么?因为原因。
更新到 Xcode 8.1 一周后我遇到了这个问题,结果我不得不更新 cocoapods(sudo gem update cocoapods)并再次执行 pod install 以使其正常工作。
我在两个不同的项目中遇到过这个问题,我做了很多建议的事情,清除了 DerivedData 文件夹,re-installed pods 等等
在这两个项目中,它都在抱怨某个特定的 Pod 并且无法对其进行代码签名。
为我修复的是:
- Select Pods 项目
- 在主编辑器中 window,select 目标下拉列表中的 Pod
- 在常规选项卡下,在身份 header 下,单击选择 Info.plist 文件
- Select Pod 的 plist 文件
项目现在应该生成了。由于某种原因,它似乎丢失了这个设置,或者无法引用它自己的 plist 文件。
这在两个项目中都对我有用。不是 100% 知道为什么,但我希望它能帮助遇到同样问题的其他人。
对我来说,在我将 xcode 升级到 8.1 后,出现了类似的问题。我尝试了不同的方法,但似乎首先将 cocoapods 更新到最新版本绝对值得。然后用 pods 更新
pod install --verbose --no-repo-update
和
pod update --verbose --no-repo-update
会有帮助。
更新到 Xcode 8.1 后遇到此问题。简单地更新 cocoapods(通过 运行 'sudo gem update cocoapods' 在终端)为我修复了这个问题
对于像我这样的人来说,以上所有的解决方案都行不通。你可以仔细检查你的方案名称,那里不应该有任何 space 。 Cocoapods 无法处理带有 space 的 1.1.1 版本的方案名称。但我不确定为什么只有当我升级到 Xcode 8.2 时才会发生这种情况。它与 Xcode 8.1.
一起工作得很好我花了好几个小时才弄清楚这个问题。 你可以关注这个thread
希望对您有所帮助。
我现在遇到了类似的问题,它实际上是由 Fabric 的嵌入脚本引起的,通过删除项目文件内部路径中的 space 来解决。
在名为 'app-ios' 的项目文件夹中有一个完全可构建的作品space 我制作了一个名为 'app-ios 2' 的副本,但无法构建它。 codesign 确实报告了 bundle format unrecognized, invalid, or unsuitable
并且各自的路径不是到包,但以 /app-ios
而不是 app-ios 2/DerivedData/...
将文件夹重命名为 app-ios-2
后,作品space 又可以构建了。
我的问题是,在 info.plist 中,我忘记将 url 方案更新为新的包 ID
上一个:com.test.app 新:com.test.app1
这解决了问题
以防其他人遇到此问题:确保您没有将 静态框架 添加到“嵌入式二进制文件 " 部分,只需要动态框架。
这里解决了
- 确保所有使用的框架都添加到构建阶段的嵌入框架部分
- 仅当在同一部分安装 CHECKED 时才保留副本
祝你好运
我遇到了同样的问题,在尝试了此处报告的几乎所有解决方案均未成功后,我发现只需删除产品文件(即将其移至 Finder 中的回收站)即可解决我的问题。
我知道这是一个旧话题,但我刚遇到这个问题,none 的其他答案对我有所帮助。对我来说,这个错误发生在我不拥有的旧第三方框架的 "Embed & Sign" 上。查看那个 .framework
包,它确实有一个不正确的 directory format:Versions/A/
目录被命名为 Versions/1.0.0/
(“1.0.0”当然是一个任意版本number),这似乎混淆了 CodeSign
命令。所以我 cd Versions
进入框架的目录,然后 mv 1.0.0 A
和 ln -sf A Current
- 之后 CodeSign 和构建成功。
在使用 AppCode 的针对 MacOS(不是 iOS)的应用程序上遇到问题,但我相信该解决方案应该适用于所有情况:在 AppCode 中,只需在构建之前执行 Run > Clean
。