Почему инструменты не выполняют мое приложение Monotouch? - PullRequest
13 голосов
/ 26 марта 2011

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

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

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

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

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

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

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

Ответы [ 4 ]

17 голосов
/ 01 апреля 2011

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

3 голосов
/ 06 июля 2011

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

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

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

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

2 голосов
/ 30 марта 2011

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

0 голосов
/ 29 марта 2011

Как насчет запуска Инструментов изнутри XCode?Если вы используете Xcode 3, это в меню Build, а затем запустить с инструментами производительности.Это запустит инструменты и автоматически начнет запись.

...