【问题标题】:"There was an internal API error." while running an app on any iPhone/iPod-touch device“存在内部 API 错误。”在任何 iPhone/iPod-touch 设备上运行应用程序时
【发布时间】:2010-08-25 09:20:00
【问题描述】:

我正在向 App Store 提交 iPhone 应用程序。在对应用程序进行最后润色时,我正在 iPhone 上编译和运行应用程序时收到以下消息:

存在内部 API 错误。

控制台是这样说的:

25/08/2010 10:10:54 Xcode[3556] Failed willExecute: Error Domain=com.apple.platform.iphoneos Code=0 UserInfo=0x2011adec0 "There was an internal API error." -- {
    NSLocalizedDescription = "There was an internal API error.";
    NSLocalizedFailureReason = "";
    NSLocalizedRecoverySuggestion = "";
}

这个问题是特定于这个项目的,其他项目不会遇到同样的问题。移动到另一台机器或换入另一台移动设备时也会出现同样的问题。

我应该非常感谢有关该主题的任何提示或想法。

【问题讨论】:

  • 这会在刚开始时发生还是在应用程序运行了一段时间后发生?

标签: iphone xcode


【解决方案1】:

当我尝试运行已安装在我的 iOS 设备上的应用程序时,我在 Xcode 4.5 beta 4 上遇到了同样的问题。您可以尝试从设备中删除您的应用,并确保您使用的是开发者配置文件进行签名。

【讨论】:

  • 这里也一样。我们做错了什么还是测试版有问题?
  • 进一步看后,我认为是 iOS 6,而不是 xCode。我发现我可以从 xCode 4.5 在 iOS 5.1 设备上安装多次,但在我的 iOS 6 设备上这样做会导致内部服务器错误。
  • 这里也一样。更新了 Xcode 预览以在装有最新测试版 iOS 6 的设备上进行调试。删除应用程序有效。
【解决方案2】:

啊哈!感谢上帝的颠覆。通过与工作版本的比较,我发现我的 info.plist 中有问题的“UIRequiredDeviceCapabilities”有问题。一个小图挖掘表明它必须是一个数组或字典,而不是像我这样的字符串。如此设置它...

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>still-camera</string>
</array>

.. 解决了问题。

@Toastor,这发生在部署过程中,甚至在应用连接到设备之前。

【讨论】:

  • 这也是我的问题,在我的情况下,我删除了该数组中的“armv7”字符串,在我添加它工作正常之后。
  • 啊!也解决了我的问题,我将 "armv7" 从 移动到根 一切正常。
  • 这并没有解决我的问题。对我来说,这个错误只在一个设备上不断弹出,导致认为只有那个设备有问题,其他的工作正常。因此,构建设置或其他任何问题都没有问题。
【解决方案3】:

我的问题是使用分发配置文件,忘记改回开发人员配置文件,这就是导致内部 api 错误的原因。希望它可以帮助某人

【讨论】:

    【解决方案4】:

    我遇到了同样的问题。我的案例是第一次在笔记本电脑上使用的 iPhone。我通过在插入 iPhone 的 XCode 中打开项目来修复它。然后 Xcode 会说“处理符号文件”。完成后,可以在 QT Creator 中在 iPhone 上进行部署。

    【讨论】:

    • 同样的事情,我从未将设备与 iTunes 同步过。
    【解决方案5】:

    https://forums.developer.apple.com/thread/11634

    说明需要将项目名称更改为英文名称

    【讨论】:

    • 在这里提供简短的答案。
    • 更多信息:我的项目名称是中文的,多年来一直运行良好。但显然最近版本的 Xcode 改变了一些东西(我使用的是 7.1.1)。现在带有汉字的项目名称不会安装在手机上,尽管它在模拟器中运行良好。我不得不将项目名称更改为仅包含罗马字母的名称。甚至一个汉字导致它失败。
    【解决方案6】:

    我遇到了同样的问题,当我从手机中删除该应用程序并再次构建并运行时,它仍然有效。我猜你可能已经测试了来自不同分支的构建,然后尝试切换回你的。

    【讨论】:

      【解决方案7】:

      我处理同样的问题,但由于手动删除“Application/Myapp”文件夹。 我复制回文件并卸载它。然后我尝试使用 Xcode 运行它。现在一切正常。

      【讨论】:

        【解决方案8】:

        我也遇到过这个问题 - 问题出在权利上。我将 get-task-allow 设置为 NO 而不是 YES。一旦设置正确,一切都会再次运行。

        【讨论】:

          【解决方案9】:

          1.检查您项目的Info.plis文档代码(不是表格列表--作为源代码打开 代码)。可能存在配置错误。

          2.我是这样解决问题的:新建一个项目,对比Info.plis代码,修复旧的。

          这对我有用..

          【讨论】:

            【解决方案10】:

            您需要从 Xcode 注册设备。

            常规 -> 签名 -> 注册。

            【讨论】:

              【解决方案11】:

              我在删除日扩展/小部件时忘记删除扩展被列为插件的嵌入应用程序扩展项

              【讨论】:

                【解决方案12】:

                当我尝试从与创建项目不同的 Mac 运行项目时遇到了同样的问题。

                我的问题出在 info.plist 文件中。我们只能在从头开始重新创建项目并一次添加一个文件并尝试对其进行调试后才能弄清楚。

                替换了以下信息文件:

                1. CFBundleDevelopmentRegion 语言 en name with $(DEVELOPMENT_LANGUAGE)
                2. CFBundleExecutable Name with $(EXECUTABLE_NAME)
                3. CFBundleName 名称和占位符 $(PRODUCT_NAME)

                删除

                CFBundleSignature

                Screenshot of Diff file

                【讨论】:

                  【解决方案13】:

                  我关闭了我的 iPhone,当我重新打开它时,它可以工作了!

                  在我尝试了一切之后,我注意到它可以在另一部 iPhone 上运行,因此我在无法运行的设备上尝试了一切。很不幸,这个意想不到的技巧必须成为我的解决方案。

                  【讨论】:

                    【解决方案14】:

                    XCode+MonkeyDev 调试 YouTube ipa 时出现同样的错误。

                    最终修复:

                    1. 尝试更多
                    2. XCode -> 清理构建文件夹

                    【讨论】:

                      【解决方案15】:

                      正如在另一篇同样问题的帖子中解释的那样,这听起来很疯狂,但你也不能使用 Xcode 4 的 Beta 版本。但是,你必须把它放在你的左手上,以授权你的 iPhone 使用非 Beta 版本进行编译(不要问我为什么,它有效)。

                      如果您使用 Xcode 4.5 预览版和 iOS 6 Beta 4 运行您的应用程序,您第二次在设备上运行您的应用程序时,您将收到内部 API 错误。

                      理论上,您不能在 iOS6 Beta 4 iPhone 上使用 Xcode 4.4 进行编译。

                      但是……

                      看来,如果您启动 Xcode 4.5 Preview,连接您的 iPhone(以便识别),在其上运行应用程序(即使您收到错误),退出 Xcode 4.5,启动 Xcode 4.4 和.. tadaaaa。 ..您的 iPhone 现在被识别为可以在其上编译的授权设备...

                      当然,Xcode 4.4 不会产生 API 错误...

                      【讨论】:

                        猜你喜欢
                        • 2010-12-26
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2011-02-21
                        • 2011-05-02
                        • 2011-03-15
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多