Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Приложения iPhone поставляются в виде пакетов приложений. Это каталоги с расширением .app, содержащие код и данные приложения, файлы конфигурации и манифест, из которых iPhone сможет получить сведения о приложении.
Преобразование исполняемого файла .NET в приложение выполняется в основном с помощью команды mtouch. При этом интегрируется множество действий, необходимых для создания пакета приложения. Это средство также позволяет запустить приложение в симуляторе и развернуть программное обеспечение на настоящем устройстве iPhone или iPod Touch.
Подробные инструкции
Изучите страницу руководства по mtouch(1), где описаны все варианты использования этого средства.
Установка
На компьютере Mac Xamarin.iOS входит в пакет mtouch. Расширение можно найти в следующей папке:
/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin.
Для удобства использования mtouch добавьте родительский каталог в переменную среды PATH для своей системы.
Например, в Bash добавьте в конец файла ~/.bash_profile следующую строку:
export PATH=$PATH:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin
Предупреждение
Для работы с mtouch не следует оставлять /Developer/MonoTouch/usr/bin. Это символическая ссылка, которая указывает на /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin. Она используется, только чтобы обеспечить совместимость более ранних выпусков MonoTouch, которые не установлены в /Library/Frameworks/... . Возможно, в следующем выпуске ссылка будет удалена.
Здание
Команда mtouch позволяет компилировать код тремя разными способами:
- компиляция для тестирования на симуляторе;
- компиляция для развертывания на устройстве;
- развертывание исполняемого файла на устройстве.
Компиляция для симулятора
Самый распространенный и часто используемый сценарий на начальных этапах работы — это проверка приложений в симуляторе. Для нее вам нужно скомпилировать код в пакет для симулятора с помощью mtouch -sim. Это выполняется следующим образом:
$ mtouch -sim Hello.app hello.exe
Компиляция для устройства
Чтобы создать пакет программного обеспечения для устройства, скомпилируйте приложения с параметром mtouch -dev, указав также имя сертификата для подписи этого приложения. Ниже показано, как скомпилировать приложение для устройства:
$ mtouch -dev -c "iPhone Developer: Miguel de Icaza" foo.exe
В этом примере мы используем для подписи приложения сертификат разработчика iPhone с именем Мигель де Иказа (Miguel de Icaza). Это очень важный шаг, без него физические устройства не будут загружать приложение.
Запуск приложения
Запуск в симуляторе
После создания пакета приложения запуск в симуляторе выполняется очень просто:
$ mtouch --sdkroot /Applications/Xcode.app -launchsim Hello.app
Если не задан флаг --sdkroot, для него по умолчанию будет установлено значение пути xcode-select, что приведет к появлению следующего предупреждения:
eg: warning MT0061: No Xcode.app specified (using --sdkroot), using the system Xcode as reported by 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer (предупреждение MT0061: не указан параметр Xcode.app с помощью ключа --sdkroot, используется системное значение Xcode, возвращаемое командой 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer).
Приведенная выше командная строка даст примерно следующий результат:
Launching application
Application launched
PID: 98460
Press enter to terminate the application
Настоятельно рекомендуем сохранять в файлах стандартные потоки вывода и ошибок, которые наверняка пригодятся при отладке. Выходные данные Console.WriteLine направляются в stdout, а выходные данные Console.Error.WriteLine и все остальные сообщения среды выполнения направляются в stderr.
Чтобы сохранить их, установите флаги --stdout и --stderr.
../../tools/mtouch/mtouch --launchsim=Hello.app --stdout=output --stderr=error
Теперь в случае сбоя приложения вы сможете проверить выходные данные и сообщения об ошибках для диагностики проблемы.
Развертывание на устройстве
Для развертывания на устройстве необходимо подготовить его в соответствии с описанием в документе компании Apple об управлении устройствами. Подготовив устройство, разверните на нем скомпилированные APP-файлы с помощью команды mtouch. Для этого ее нужно выполнить следующим образом:
$ mtouch —sdkroot /Applications/Xcode.app -installdev=MyApp.app
Если не задан флаг --sdkroot, для него по умолчанию будет установлено значение пути xcode-select, что приведет к появлению следующего предупреждения:
eg: warning MT0061: No Xcode.app specified (using --sdkroot), using the system Xcode as reported by 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer (предупреждение MT0061: не указан параметр Xcode.app с помощью ключа --sdkroot, используется системное значение Xcode, возвращаемое командой 'xcode-select --print-path': /Applications/Xcode.app/Contents/Developer).
Эти действия обычно выполняются с помощью Visual Studio для Mac.
Справочные материалы
Сведения о других параметрах командной строки см. на странице документации по команде mtouch(1).