Мое приложение monotouch отказывается компилировать для распространения с индексом массива вне диапазона - PullRequest
2 голосов
/ 16 ноября 2010

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

Если быть точным: когда я нажимаю кнопку сборки, я получаю

Обнаружение подписи ...

0 ошибок 0 предупреждений, просто Buildне удалось.Индекс массива выходит за пределы диапазона

Я предполагаю, что это проблема с подготовкой, и мне не удалось сделать что-то важное.

В Интернете есть указатели для adhoc ditribution builds, но нет полной документации по полнойКорпоративный дистрибутив.

У меня есть следующее:

Monotouch: выпуск Enterprise

Apple: членство в Enterprise, установили сертификат corp и сертификат пользователя dev и загрузили сертификаты обеспечения дляdev, adhoc & enterprise и, наконец, создали идентификатор приложения.

Я потратил 2 дня на поиски в Интернете похожих проблем, но ничего подобного не нашел.В какой-то момент я удалил все свои профили с сайта Apple Dev и снова импортировал их, и это решило некоторые другие проблемы, которые у меня были.

Наличие полных корпоративных прав / сертификата означает, что мне не нужны UDID, мне просто нужноподписать мою жизнь прочь, чтобы предотвратить незаконное распространение.Единственная вещь, кроме простого отсутствия чего-либо на фронте инициализации, заключается в том, что UDID хранятся в массиве в сертификатах, и, как я не указал ни для одной из этих сборок, это приводит к ошибкам.(Но это не обязательно так!)

Если я использую adhoc-дистрибутив, который в качестве UDID указан в нем, я могу загрузить его на свой компьютер.

Любые указатели будут в значительной степени получены

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

У меня была эта проблема при переключении между моими "тестовыми" и "релизными" сборками, которые имели разные идентификаторы приложений - я переключился на профиль обеспечения "релиз", но я забыл исправить имя приложения и приложениеидентификатор в приложении «Сборка / iPhone».Сомневаюсь, что отображаемое имя имеет значение, но идентификатор приложения определенно имеет значение.

0 голосов
/ 09 февраля 2011

У меня была похожая ситуация.

"mtouch не удалось собрать".Других сообщений нет.

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

Однако я узнал две вещи по пути, которые могут вам помочь.

a) в моем случае проблема исчезла, если я изменилсянастройка «Linker Behavior» для проекта.Проект-> [проект] Параметры -> Сборка -> Сборка iPhone -> Поведение компоновщика

Попробуйте все доступные варианты.Посмотрите, если что-то меняет.

b) На той же странице параметров сборки iPhone вы можете ввести "-v -v -v" для параметра "дополнительные аргументы". Теперь проверьте вывод сборки после компиляции. Может бытьдополнительные детали.

Наконец, я несколько дней вырывал свои волосы с ошибкой, похожей на вашу. В конце концов, это была ошибка компилятора. Novell довольно быстро обнаружила и исправила ошибку. Может быть, просто войдите в системуэто с ними и посмотрим, что произойдет.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...