10

出于某种原因,我在 xcode(第三方 SDK)中导入了一些文件,即使应用程序构建成功,我也会收到此错误:Xcode 错误消息:“无法检查应用程序包”。这是什么意思?该应用程序不能在真实设备上运行,但可以在模拟器 IOS 上运行...

4

10 回答 10

13

我在使用 Google 登录 SDK 时遇到了这个问题。下面是修复。

  1. BuildPhases -> Embedded Frameworks -> 启用“仅在安装时复制”

在此处输入图像描述 我只是发布这个,因为这可能会对某人有所帮助。

于 2018-08-14T12:57:13.830 回答
7

当我替换 xcode 上的“资源”文件夹时,错误地选择了以下选项。

Create folder references for any added folders

但正确的选择应该是,

Create groups for any added folders

照顾上述选项是节省时间广告解决上述问题的重要一点。(这是出现此错误的可能性之一)。

于 2013-11-05T13:17:19.060 回答
2

听起来第三方文件可能包含未经您签名的编译代码。如果是这样,您可以使用iReSign使用您自己的证书为他们签名。您还可以使用命令行:

codesign -f -s "iPhone Developer: Aaron Brager (XXXXXXXXXX)" nameOfAppToSign.app

用您自己的身份替换示例身份(您可以man codesign阅读有关此命令的更多信息)。

您可以通过不包括已编译的代码来规避这一点。可能没有必要 - 您是否包含框架运行不需要的示例应用程序?

如果这个答案没有帮助,提供框架的名称并显示您包含的文件会很有帮助。

于 2013-01-31T17:07:42.113 回答
2

在做了很多愚蠢的事情后,我解决了这个问题,只是做了一个 Product->Clean

于 2013-02-10T13:56:28.420 回答
2

我遇到了同样的错误。我通过从“嵌入式二进制文件”列表中删除第三方库并添加到“链接的框架和库”中来解决它。

于 2016-11-24T08:59:31.003 回答
2

就我而言,我正在使用 Cordova 和 Firebase。从中删除所有 Google 框架Embed frameworks(但将它们保留在 下Linked Binary With Libraries)解决问题。

于 2017-04-25T02:48:23.833 回答
1

我在我之前删除的桥接头中导入了一个框架,Xcode 没有给我任何错误,我猜是因为我不再调用该框架了?

脚步:

  • 删除未使用/不存在的桥接头框架
  • cmd+shift+k
  • 退出 Xcode
  • 找到您项目的构建文件夹并丢弃中间件和产品文件夹的内容
  • 打开你的项目并运行

这可能有点矫枉过正,但现在可以了。我希望这有帮助。

于 2015-08-19T22:21:30.850 回答
0

我得到了同样的错误。这是在我向我的项目中添加了一个新的空文本文件(以保留一些注释)并将其命名为 Resources 之后。将其重命名为 Resourcesx 解决了该问题,但直到进行清理。我反复证明文件名“资源”是导致错误的充分条件。

这是 Xcode 错误消息中某人的相同经历:“无法检查应用程序包”

于 2013-09-04T01:07:56.070 回答
0

检查您是否将静态库嵌入到应用程序包中。一些第三方将他们的静态库 SDK 打包成一个动态框架。Xcode 不支持哪个(还没有?)。在这种情况下,您可能会被愚弄并将它们放在“嵌入式​​二进制文件”列表中。静态库不应该在列表中。

要检查它是否是静态库,请使用file实用程序。

file /path/to/binary/in/Example1.framework/Example1

如果它说它是ar archive一个静态库和dynamically linked shared library动态库。

于 2017-08-29T17:40:39.207 回答
0

对我来说,我在我的 podspec 文件中错误地指定了我的资源。在捆绑包中,它包括.storyboard.storyboardc文件以及.xib.nibs文件等,我将资源更改为仅包含特定的文件扩展名类型,与通用文件相对应/**/*

s.resource_bundles = {
  s.name => [s.name + '/Assets/**/*.{xib,storyboard,strings,json,otf}']
}
s.resources = [s.name + '/Assets/*.{xcassets}']

这似乎为我解决了错误

于 2020-11-20T15:07:03.817 回答