【问题标题】:“could not inspect application package” Xcode“无法检查应用程序包”Xcode
【发布时间】:2013-01-15 20:27:11
【问题描述】:

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

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

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

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

    我只是发布此内容,因为这可能会对某人有所帮助。

    【讨论】:

    • 正确!一直把我的头发从那个上拉下来,谢谢!
    【解决方案2】:

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

    Create folder references for any added folders
    

    但正确的选择应该是,

    Create groups for any added folders
    

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

    【讨论】:

    • 疯狂的东西!谢谢,对我有帮助。
    • 那么,在我们不小心替换了“资源”文件夹后,我们该如何解决这个问题。看来您的答案仅适用于“一开始就不要这样做”。应该注意的是,在删除罪魁祸首后,“干净”并没有解决我的问题。
    • @Levi Roberts,从 Eclipse 中删除“资源”文件夹,然后通过“为任何添加的文件夹创建组”再次添加。这可以随时完成。
    • 虽然这对我来说停止了错误,但我至少需要添加一些文件夹作为引用,以便在将层次结构与子文件夹复制到应用程序包后保持层次结构。有没有办法解决这个问题?还是一种让所有内容都引用的方法(假设混合组和文件夹引用是问题)?
    【解决方案3】:

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

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

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

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

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

    【讨论】:

    • 第三方SDK是socialize api,它是一个框架,还有一些像.nib和图片这样的文件,它不是一个应用程序
    • 试试这个:在终端中,输入 sysctl kern.maxprocperuid 以查看您可以拥有多少个最大进程。然后输入ps ax | wc -l 查看有多少正在运行。如果您达到或超过进程数,请退出所有内容并重新启动计算机。我认为这可能是编译过程失败的原因。如果这不能解决问题,请发布您的整个编译日志。
    • 实际上它自己修复了,我什么都不做。 3小时后它修复了。我只重启了我的电脑,我的ipad,在模拟器上运行了app,关闭了xcode大约20次!
    【解决方案4】:

    我只是做了一个产品解决了这个问题->做了很多愚蠢的事情后清理

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

        • 我也有这样的经历,和一个不知道自己做了什么的人一起工作。花了我一整天的时间弄清楚为什么应用程序没有安装在模拟器和设备上
        【解决方案7】:

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

        步骤:

        • 删除未使用/不存在的桥接头框架
        • cmd+shift+k
        • 退出 Xcode
        • 找到项目的 build 文件夹,然后将 Intermediates 和 Products 文件夹的内容丢弃
        • 打开您的项目并运行

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

        【讨论】:

          【解决方案8】:

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

          这与其他人的经历相同 Xcode Error Message: "could not inspect application package"

          【讨论】:

            【解决方案9】:

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

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

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

            如果它说类似ar archive 的内容是静态库,dynamically linked shared library 是动态库。

            【讨论】:

              【解决方案10】:

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

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

              这似乎为我解决了错误

              【讨论】:

                猜你喜欢
                • 2014-11-18
                • 1970-01-01
                • 2012-11-19
                • 1970-01-01
                • 2014-11-14
                • 2020-03-24
                • 2014-12-02
                • 2016-01-15
                相关资源
                最近更新 更多