Подтвердить что ты не робот

Почему инструменты Monotouch не выполняются?

Я пытаюсь использовать Инструменты, чтобы посмотреть на использование ресурсов в моем приложении Monotouch. Однако я не могу заставить приложение запускать инструменты.

Когда я нажимаю кнопку записи в приложении "Инструменты", приложение запускается на моем iPhone, жужжит (обозначает его сборку отладки), затем сбой - и отчеты "Инструменты":

Target failed to run: Remote exception encountered : 'Failed to get task for pid 384'

Приложение работает нормально, когда я запускаю его непосредственно на телефоне.

Я пробовал его с отладочными сборками и ad hoc-сборками (используя параметры, определенные на странице поддержки Monotouch). Всегда то же самое.

Я использую Monotouch 3.2.5, iOS 4.3.1 (на 3GS), Xcode 4 и Snow Leopard.

Я видел, как это вышло в нескольких местах по всему Интернету, но не видел разрешения. Кто-нибудь знает, как его решить?

4b9b3361

Ответ 1

Это проблема с подписью: для запуска под управлением инструментов приложение скомпилировано с настройками сборки выпуска, а не с настройками сборки Debug, что обычно означает, что приложение подписано с вашим сертификатом распространения вместо сертификата разработчика. Приложение должно быть подписано с сертификатом разработчика для инструментов, чтобы иметь возможность контролировать его. Измените свой вариант подписки на Developer на сборке Release, и все будет в порядке.

Ответ 2

Я также столкнулся с этой проблемой с Xcode 4. Что для меня работало...

Из Xcode 4 запустите на подключенном устройстве iOS. Запустите приложение "Инструменты" вручную. Выберите мой шаблон (в данном случае TIme Profiler). Выберите мое приложение в меню "Цель" (справа от кнопки "Запись" ). Нажмите кнопку "Запись".

Рекомендуемое решение "Права доступа" не работало для меня (поскольку в Xcode 4 явно не требуются права).

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

Ответ 3

Проверьте свой Entitlements.plist для подписанного приложения. Если get-task-allow false, это предотвратит присоединение инструментов к процессу.

Ответ 4

Как насчет запуска инструментов изнутри XCode? Если вы используете Xcode 3, он находится в меню "Построение", а затем "Выполнить" с помощью инструментов производительности. Это запустит Инструменты и автоматически начнет запись.