"Внутренняя ошибка API". при запуске приложения на любом устройстве iPhone/iPod touch

Я в процессе отправки приложения для iPhone в App Store. Делая последние штрихи к приложению, я находился в процессе компиляции и запуска приложения на своем 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 = "";
}

Проблема специфична для этого проекта, другие проекты не страдают той же проблемой. Та же проблема возникает при перемещении на другой компьютер или при замене другого мобильного устройства.

Я был бы очень благодарен за любые подсказки или идеи по этому вопросу.

Ответ 1

Ага! Слава богу за подрывную деятельность. По сравнению с рабочей версией я узнал, что ошибка "UIRequiredDeviceCapabilities" в моем info.plist была виновата. Копание маленькой фигуры показало, что это должен быть Массив или Словарь, а не строка, как это было в моем случае. Установив его таким образом...

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

.. решил проблему.

@Toastor, это произошло во время процесса развертывания, даже до того, как приложение пошло вниз на провод к устройству.

Ответ 2

У меня была та же проблема на Xcode 4.5 beta 4, когда я пытался запустить приложение, которое уже было установлено на моем устройстве iOS. Вы можете попытаться удалить приложение с устройства и убедиться, что используете профиль разработчика для подписания.

Ответ 3

моя проблема заключалась в использовании профиля распространения, забыла вернуться к профилю разработчика, и именно это и вызвало внутреннюю ошибку api. надеюсь, что это поможет кому-то

Ответ 5

У меня была такая же проблема. Мое дело было iPhone, который был впервые использован на ноутбуке. Я исправил это, открыв проект в XCode при включенном iPhone. Xcode затем скажет "Обработка файлов символов". По завершении развертывание на iPhone работало в рамках QT Creator.

Ответ 6

У меня была такая же проблема, и она работала, когда я удалил приложение с моего телефона и снова создал и снова запустил. Я предполагаю, что вы, возможно, протестировали сборку из другой ветки, а затем попытались вернуться к вашей.

Ответ 7

Я имею дело с той же проблемой, но из-за удаления вручную папки "Приложение /Myapp". Я скопировал обратно файлы и удалил его. Затем я попытался запустить его с помощью Xcode. Теперь все в порядке.

Ответ 8

У меня тоже была эта проблема - проблема оказалась в правах. У меня была функция get-task-allow, равная NO, а не YES. Как только это было установлено правильно, все снова работало.

Ответ 9

1.Проверьте свой код проекта Info.plis(не список таблиц - открыть как источник  код). Может быть ошибка конфигурации.

2. Я решаю проблему следующим образом: создайте новый проект, сравните код Info.plis и исправьте старый.

который работает для меня..

Ответ 10

Вам необходимо зарегистрировать устройство из Xcode.

Общие → Подписание → Регистрация.

Ответ 11

У меня было это при удалении расширения дня/виджета и забыть удалить элемент расширения приложений Embed, в котором расширение было указано как плагин

Ответ 12

У меня возникла та же проблема, когда я пытался запустить свой проект с другого Mac, чем он был создан.

Моя проблема была в файле info.plist. Мы смогли выяснить это только после воссоздания проекта с нуля и добавления одного файла за раз и попытки его отладки.

Заменен следующий информационный файл:

  1. CFBundleDevelopmentRegion Language en name с $ (DEVELOPMENT_LANGUAGE)
  2. Имя CFBundleExecutable с $ (EXECUTABLE_NAME)
  3. Имя CFBundleName с заполнителем $ (PRODUCT_NAME)

Удалить

CFBundleSignature

Скриншот файла Diff

Ответ 13

Я выключил свой iPhone, и когда я снова включил его, это сработало!

После того, как я попробовал все, я заметил, что он работал на другом iPhone, поэтому я попробовал все на устройстве, где оно не работает. Настолько прискорбно, что этот неожиданный трюк должен был стать решением для меня.

Ответ 14

Как объяснялось в другом посте с той же проблемой, это звучит странно, но вы также не можете использовать бета-версию Xcode 4. Однако вы должны держать ее в левой руке, чтобы авторизовать ваш iPhone для компиляции с не бета-версией (не не спрашивай почему, это работает).

Если вы запустите свое приложение с предварительным просмотром Xcode 4.5 и iOS 6 Beta 4, при втором запуске приложения на устройстве вы получите внутреннюю ошибку API.

Теоретически, вы не можете использовать Xcode 4.4 для компиляции на вашем iOS6 Beta 4 iPhone.

Но...

Похоже, что если вы запустите Xcode 4.5 Preview, подключите свой iPhone (чтобы он распознавался), запустите на нем приложение (даже если вы получили ошибку), выйдите из Xcode 4.5, запустите Xcode 4.4 и.. tadaaaa... ваш iPhone теперь признан авторизованным устройством для компиляции на...

И, конечно же, Xcode 4.4 не генерирует ошибку API...