[Cydia] FullForce — оптимизация iPhone приложений под экран iPad. Ios оптимизация размера ipa


Уменьшаем размер своего iOS приложения / Хабр

Хочу поделиться способом, который позволит сэкономить несколько мегабайт «лишнего» веса в вашем iOS приложении. Зачем это может понадобиться? Во-первых, если ваше приложение чуть больше 20 Мб, то его нельзя будет скачать по 3G, а только используя Wi-Fi или синхронизацию c iTunes (ограничение со стороны Apple). Ну, а во-вторых, если вы любите все оптимизировать или просто хотите чуть-чуть сократить время загрузки вашего апа. Все нижеперечисленные пункты я проверял и использовал в своем апе, сэкономив суммарно около 4 Мб. Кажется не очень то и много, но если, например, умножить на 5000 тысяч загрузок в день, то уже получим около 20 Гб сэкономленного трафика. Итак, приступим.
1 Компоновка элементов и нарезка дизайна
Если у вас дизайн уже полностью готов и нарезан и нет желания что-то менять, просто пропустите этот шаг. Рассмотрим абстрактный пример — дизайнером был нарисован такой прототип:

После нарезки получились следующие картинки: Фон:

неподвижный статический элемент 1:

неподвижный статический элемент 2:

и элемент 3 — кнопка:

Обычно программисты сильно не заморачиваются и делают так же — верстают фон, потом накладывают элемент 1 и 2 поверх фона, а затем и кнопку. Однако если “вшить” элементы 1 и 2 прямо в фон, то наш новый “сложный” фон:

+ кнопка, будет занимать меньше места, чем старый фон + 2 элемента + кнопка.

1.1 Использование ресурсов от iPhone 4 для iPad (для универсальных апов)
Разрешение iPhone 4 (960x640) не многим отличается от iPad (1024x768). Если это учитывать на этапе проектирование дизайна и UI, то многие элементы дизайна можно просто скопировать с дизайна под iPhone. Например, различные кнопки и прочие небольшие элементы, как правило, одинаковы для iPhone 4 и iPad, поэтому можно не делать новых картинок, а грузить их напрямую c префиксом @2x. Конечно, данный способ подходит далеко не для все приложений, но не стоит про него забыть.
2. Чаще используйте JPEG формат
Старайтесь сохранять все картинки, которые не требуют альфа-канала, в JPEG — это существенно сократит их размер. Однако, они будут распаковываться на лету, что может незначительно сказаться на производительности.
3. Прогон всех картинок через Image Catalyst
Про него уже писали на хабре (Image Catalyst 2.1) да и с использованием все просто, поэтому рассказывать тут особо нечего, просто скажу, что в результате получается минус процентов 5-10% от первоначального размера.
4. Настройки компиляции
Я использую Xcode 3, поэтому все настройки буду приводить для него. Первое, что надо сделать, это выставить компилятор LLVM 1.6. (В Xcode 4 по умолчанию компилятор LLVM 3.0, поэтому там этого делать не надо):

Затем, убрать опцию Compress PNG Files (т.к у нас все и так уже пожато после Image Catalyst):

После данных настроек финальный билд «худеет» еще на несколько мегабайт.

4.1 Компиляция только под ARMv7
Если вы не поддерживаете старые девайсы (iPhone 3G и iPod 1 и 2 поколения) + минимальная iOS 4.2, то можно компилировать только под ARMv7 архитектуру, это сэкономит еще несколько мегабайт.

Спасибо mark2b за этот способ.

5. Конвертация default.png в JPEG формат (не проверен до конца)
Данный способ я еще не проверил на всех устройствах, поэтому могут быть проблемы с совместимостью. Способ заключается в том, что бы сохранить вашу картинку загрузки (default.png) в JPEG формат, а затем переименовать в PNG. Экономия в размере может достигать до 2-3 раз, по сравнению с оригиналом. Все девайсы, на которых мне удалось проверить данный трюк, отображали картинку корректно и без проблем (скорее всего, есть автоматическая распаковка картинки, перед загрузкой в память).

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

upd. Потихоньку пополняется список. Спасибо всем за ваши идеи, продолжаем обсуждать, экспериментировать…

habr.com

iphone - Как уменьшить размер моего приложения iPhone?

Добавление правила сборки Xcode для сжатия PNG

Изображения в приложении iOS могут составлять большую часть этого размера. Это особенно актуально, если это универсальное приложение, требующее, чтобы у него было все изображение в трех экземплярах (iPhone Standard, iPhone Retina iPad).

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

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

Оптимизация PNGOUT

Существует несколько инструментов для оптимизации файлов PNG, но pngout представляется лучшим вариантом.

Создание правила сборки (Xcode 4)

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

  1. Добавьте макросы DEBUG и DISTRIBUTION в свои конфигурации сборки. Оптимизация PNG довольно насыщена процессором, и поэтому вы только хотите сделать это на сборках дистрибутива. Макросы предварительного процессора http://i52.tinypic.com/jtteg4.png Как вы можете видеть среди других, я добавил DEBUG_BUILD=1 и DISTRIBUTION_BUILD=1.

  2. Добавить правило сборки для файлов PNG. Правило сборки просто обрабатывает определенный файл (и/или) тип файла во время процесса сборки. Сила этого правила можно связать вместе. Правило сборки - Xcode 4 http://i56.tinypic.com/ioovut.png

  3. Нажмите кнопку "Добавить правило";

    • Задайте процесс на "Исходные файлы с совпадением имен" и его значение *.png.
    • Установить с помощью "Custom Script"

Вставьте этот код в поле script

echo "----------------------------------------------------------------" >> "${DERIVED_FILES_DIR}/pngout-log.txt" echo "${INPUT_FILE_PATH}" >> "${DERIVED_FILES_DIR}/pngout-log.txt" echo "${DERIVED_FILES_DIR}/${INPUT_FILE_NAME}" >> "${DERIVED_FILES_DIR}/pngout-log.txt" echo ${GCC_PREPROCESSOR_DEFINITIONS} >> "${DERIVED_FILES_DIR}/pngout-log.txt" BUILD=`echo ${GCC_PREPROCESSOR_DEFINITIONS} | grep -o DISTRIBUTION_BUILD` echo $BUILD >> "${DERIVED_FILES_DIR}/pngout-log.txt" if [ "${BUILD}" == "DISTRIBUTION_BUILD" ]; then echo "COMPRESS" >> "${DERIVED_FILES_DIR}/pngout-log.txt" "${PROJECT_DIR}/build-process/pngout" -y -q -force "${INPUT_FILE_PATH}" "${DERIVED_FILES_DIR}/${INPUT_FILE_NAME}" else echo "COPY" >> "${DERIVED_FILES_DIR}/pngout-log.txt" cp -f "${INPUT_FILE_PATH}" "${DERIVED_FILES_DIR}/${INPUT_FILE_NAME}" fi echo "...done." >> "${DERIVED_FILES_DIR}/pngout-log.txt"

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

Работа выполняется в этой строке:

"${PROJECT_DIR}/build-process/pngout" -y -q -force "${INPUT_FILE_PATH}" "${DERIVED_FILES_DIR}/${INPUT_FILE_NAME}"

${PROJECT_DIR} - полный путь к вашему проекту, -y перезаписывает существующие файлы, -q пределы pngout вывод и -force предотвращает pngout от выхода со статусом 2, когда файл не может оптимизироваться и вызывать ошибки сборки отчета Xcode.

Этот script просто проверяет ${GCC_PREPROCESSOR_DEFINITIONS}, чтобы увидеть, если он DISTRIBUTION_BUILD, если он использует pngout для оптимизации файла, в противном случае он копирует его в ${DERIVED_FILES_DIR}, поэтому Xcode может продолжить его обработку.

Наконец, не забудьте добавить ${DERIVED_FILES_DIR}/${INPUT_FILE_NAME} в список "Выходные файлы", так как Xcode знает, как найти файлы, которые вы обработали.

qaru.site

ios - Оптимизация размера образа IPA для ios7 +

У меня есть приложение с визуально сложным LaunchImage. Даже без добавления LaunchImages iPhone6 /6+ в финальной сжатой IPA уже есть 10Mb (!!!) PNG, что подтверждается с помощью unzip -v на IPA. Я хотел бы значительно уменьшить это.

Идеальная ситуация - это возможность предоставить единое изображение 2630x1536, которое можно масштабировать и срезать срез соответствующим образом, но такая вещь "невозможна" в мире учеников IOS HIG. Я также знаю, что под HiG запуск изображения не является всплеском, но для этого приложения (игры), как загрузочный поток разработан на всех платформах, поэтому, пожалуйста, ограничьте ответы на технические ответы.

Вещи, которые я уже обнаружил:

Существуют ли другие варианты оптимизации? Могу ли я, например, опустить изображение iPad @1x, а OS уменьшить масштаб изображения 2048x1536 (что невообразимый ужас, почти такой же ужасный, как не предоставление 5 отдельных разрешений рекламного видео в App Store!)

Кроме того, этот LaunchImage также отображается на втором всплывающем экране, показанном приложением (мы запускаем приложение с помощью launchimage плюс некоторую пользовательскую анимацию перед потоковой передачей во всех других данных.) С точки зрения пользователя они видят один непрерывный заставки, с анимация начинается с нее во время второй части нагрузки.

Я хотел бы повторно использовать "официальный" launchImage для отображения на этом экране. Есть ли надежный способ получить имя файла LaunchImage, которое было отображено на этом устройстве, которое вряд ли будет ломаться с выпуском новых устройств? В настоящее время я храню и загружаю свое собственное изображение 2630x1536, а также масштабирую и центризую его (кстати, вы не можете видеть разницу), чтобы быть в безопасности, но если бы я мог отбросить это изображение и безопасно получить имя файла запуска, используемого в этом устройство было бы здорово.

qaru.site

Размер приложения iOS является возмутительным iOS Dev

SaifDeen, я бы рекомендовал проверить ваш файл IPA самостоятельно, и вы узнаете, почему ваше приложение такое большое;)

Для этого просто помните, что IPA – это простой ZIP-файл:

unzip -lv /path/to/your/app.ipa

Проверьте эту ссылку

Обновить:

Отключение битового кода уменьшит ваш размер IPA. Однако, насколько я знаю, даже если у вас включен биткод после того, как ваше приложение находится в магазине, Apple делает некоторые оптимизации для приложения до того, как пользователь загрузит его. Результатом этого должен быть меньший размер файла.

У меня была аналогичная проблема с моим приложением, и единственный способ, которым я мог видеть, что конечный размер приложения – это не когда архивирование, когда приложение находится на серверах Apple. Лучший способ проверить это – архивировать и загрузить его в iTunes Connect, а затем установить его с помощью TestFlight.

В моем случае сначала было около 90 МБ, а затем при установке с TestFlight было всего 39 МБ.

Надеюсь это поможет

bitcode и быстрые библиотеки DID NOT не имеют ничего общего с моей проблемой …. я просто просто щелкнул и перетащил папку в мой проект xcode, который автоматически добавил все в эту папку в качестве «целей».

Однако эти файлы не возникали при поиске моих целевых зависимостей в xcode …. но они DID INDEED отображались при распаковке .ipa, как предлагал ранее @GoRoS в этом потоке.

Это была глупая ошибка, которую я, вероятно, должен был поймать раньше … но это также означает, что кто-то другой совершит ту же ошибку:)

скриншоты …

я нажал и перетащил эту папку (ios_alpha) из finder в xcode …

а затем все внутри этой папки было установлено как целевое членство, подобное этому ….

надеюсь, это поможет кому-то! glhf!

iosdev.bilee.com

Как высвободить до 5 гигабайт на iPhone и iPad, ничего не удаляя

Внимательные читатели помнят одну из фишек iOS 9, которая была на слуху во время релиза новой мобильной ОС. Речь о функции автоочистки — система самостоятельно удаляла с накопителя различный мусор и даже приложения, если не хватало свободного места для загрузки файла обновления.

Эта полумагическая фича позволяет освободить до 5 гигабайт свободного места в зависимости от объёма накопителя и количества установленных приложений. Досадный недостаток заключается в том, что инициировать автоочистку может только сама система, пользователь на это повлиять никак не может. Однако есть одна хитрость…

iOS удалит мусор из памяти iPhone или iPad, когда понадобится место для чего-то важного, например для покупки контента в iTunes Store. Музыка и игры не подходят из-за небольшого размера, остаются фильмы. Не бойтесь, покупать ничего не придётся, обойдёмся без этого.

Заходим в «Настройки» → «Основные» → «Использование хранилища и iCloud» и проверяем количество свободного места. На моём iPad его почти нет, доступно всего 300 с небольшим мегабайт.

Открываем iTunes Store и переходим в раздел «Фильмы». Выбираем какой-нибудь длинный-предлинный фильм. Например, «Властелин колец».

Убеждаемся, что выбранный фильм имеет гораздо больший объём, чем доступное свободное место (в моём случае — 6,75 ГБ при доступных 313 МБ), нажимаем на «Прокат».

iOS выдаст предупреждение о нехватке свободного места и предложит удалить что-нибудь через настройки. Жмём «ОК».

Ждём около минуты и проверяем количество свободного места. У меня освободилось 1,2 ГБ. Волшебство? Можно сказать и так.

Теперь о нюансах. Деньги со счёта могут списаться лишь в том случае, если у вас есть достаточная сумма и хватает свободного места. А количество освободившихся гигабайт зависит от того, как много приложений установлено. Чем больше приложений, тем больше кэша и временных файлов сможет удалить iOS. На 16-гигабайтном iPhone у меня появилось около 2 ГБ, это средний показатель, но он может достигать и 5 ГБ. Если же у вас совсем пустой iPhone и мало приложений, результат будет не таким внушительным — около 300–500 МБ.

Хвастайтесь в комментариях, сколько места удалось освободить вам!

lifehacker.ru

[Cydia] FullForce - оптимизация iPhone приложений под экран iPad

Твик FullForce позволит запускать неадаптированные приложения с iPhone на iPad не просто растягивая их на весь экран, а подстраивая интерфейс под новое разрешение.

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

Изменённый таким способом внешний вид хуже полностью переработанного специально для большого дисплея. Но даже так он однозначно выглядит красивее, чем растянутые вдвое "пикселезированные" элементы интерфейса для смартфона.

Правда с играми такой трюк не проходит и в основном они работают некорректно.

Скачать FullForce можно из репозитория BigBoss абсолютно бесплатно.

httpv://youtu.be/lxIIZMQqMwU

Чтобы установить твики из Cydia, ваш аппарат должен быть джейлбрейкнут. Вы можете обратиться к нашим пошаговым руководствам для джейлбрейка:

Как сделать непривязанный джейлбрейк iOS 5.1.1 на iPad, iPhone, iPod (Mac OS X)

Как сделать непривязанный джейлбрейк iOS 5.1.1 на iPad, iPhone, iPod (Windows)

Пользователи iPhone 4, 3GS, iPad 1, iPod touch и Appl TV 2G могут использовать утилиту Sn0wBreeze для создания костомой прошивки iOS 5.1.1.

Следите за нами в твиттере, подписывайтесь на ленту новостей RSS, становитесь подписчиком ВКонтактеили FaceBook, что бы не пропускать обзоры полезных твиков из Cydia.

uip.me

Поддержка IPA в Xamarin.iOS - Xamarin

В этой статье

В этой статье описано, как создать файл IPA, который можно использовать для развертывания приложения при прямом распространении, для тестирования или собственной разработки внутренних приложений.This article covers how to create an IPA file that can be used to deploy an application using Ad Hoc distribution, either for testing, or for In-House distribution of internal applications.

Кроме выпуска приложения для продажи через iTunes App Store, его можно развернуть для следующих целей:In addition to releasing an application for sale through the iTunes App Store, it can be deployed for the following uses:

В любом случае нужно создать пакет IPA (специальный тип ZIP-файла) и подписать цифровым образом с помощью подходящего профиля подготовки к распространению.In either case, an IPA package (a special type of zip file) must be created and digitally signed with the correct Distribution Provisioning Profile. Эта статья описывает действия, необходимые для сборки пакета IPA и его установки на устройстве iOS с помощью iTunes, на Mac или компьютере с Windows.This article covers the steps required to build the IPA package and install the package on an iOS device using iTunes on a Mac or Windows PC.

При создании приложения в iTunes Connect (для продажи или для бесплатного распространения через iTunes App Store) разработчик может указать сведения, такие как жанр приложения, поджанр, уведомление об авторских правах, поддерживаемые устройства iOS и требуемые параметры устройства.When an iOS application is created in iTunes Connect (either for sale or free release from the iTunes App Store), the developer can specify information such as the application's genre, sub genre, copyright notice, supported iOS devices and required device capabilities.

Приложения iOS, доставляемые посредством прямого или внутреннего распространения, должны каким-либо образом поддерживать эти сведения, чтобы их можно было отобразить в iTunes и на устройстве пользователя.iOS applications that are delivered either via Ad Hoc or In-House distribution, need to have some way to support this information so that it can be visible on iTunes and the user's device. По умолчанию при каждой сборке проекта создается небольшой файл iTunesMetadata.plist, который сохраняется в каталоге проекта.By default, a small iTunesMetadata.plist file is created every time you build your project and is stored in the project directory.

Настраиваемый iTunesMetadata.plist также можно создать, чтобы предоставить дополнительные сведения для распространения.A custom iTunesMetadata.plist can also be created to supply the additional information to a distribution. Для получения дополнительных сведений о содержимом этого файла и способе его создания см. нашу документацию по содержимому файла iTunesMetadata.plist и созданию файла iTunesMetadata.plist.To find out more about the content of this file and how to create it, please see our The iTunesMetadata.plist Contents and Creating an iTunesMetadata.plist File documentation.

Иллюстрации iTunesiTunes Artwork

При доставке приложения средствами, отличными от App Store, нужно также включить изображение 512 x 512 и 1024 x 1024, которое будет использоваться для представления приложения в iTunes.When delivering your app through non-App Store means, you also need to include a 512x512 and a 1024x1024 image that will be used to represent your application in iTunes.

Чтобы указать иллюстрации iTunes, сделайте следующее:To specify the iTunes Artwork, do the following:

  1. В обозревателе решений дважды щелкните файл Info.plist, чтобы открыть его для редактирования.Double-click the Info.plist file in the Solution Explorer to open it for editing.
  2. Прокрутите до пункта Иллюстрации iTunes в редакторе.Scroll to the iTunes Artwork section of the editor.
  3. При отсутствии изображения щелкните эскиз в редакторе, выберите файл изображения с требуемой иллюстрацией iTunes в диалоговом окне Открыть файл, а затем нажмите кнопку ОК или кнопку Открыть.For any missing image, click on the thumbnail in the editor, select the image file for the desired iTunes artwork from the Open File dialog box and click the OK or Open button.
  4. Повторите этот шаг, пока не укажете все нужные образы для приложения.Repeat this step until all needed images have been specified for your application.

Дополнительные сведения см. в документации по иллюстрациям iTunes.Please see the iTunes Artwork documentation for more details.

Создание IPACreating an IPA

Создание IPA теперь встроено в новый рабочий процесс публикации.Creating an IPA is now built into the new publishing workflow. Для этого следуйте инструкциям ниже, чтобы заархивировать приложение, подписать его и сохранить ваш IPA.To do this, follow the instructions below to archive your app, sign it, and save your IPA.

Прежде чем создавать IPA для кроссплатформенного решения, выберите проект iOS в качестве запускаемого:Before starting to create an IPA for a cross-platform solution, ensure that you have selected the iOS project as your startup project:

Построение архиваBuild your Archive

Чтобы выполнить сборку IPA, нужно создать архив для сборки выпуска приложения.To build an IPA, an archive of a release build of our application needs to be created. Этот архив содержит наше приложение и идентифицирующие сведения о нем.This Archive contains our app and identifying information about it.

  1. Выберите конфигурацию Выпуск | Устройство в Visual Studio для Mac: !Select the Release | Device configuration in Visual Studio for Mac: !

  2. В меню Сборка выберите Архивировать для публикации:From the Build menu, select Archive for Publishing:

  3. После создания архива появится представление Архивы:Once the archive has been created, the Archives view will be displayed:

Подписывание и распространение приложенияSign and Distribute your App

Каждый раз при сборке приложения для архивирования автоматически открывается представление Архивы, где отображаются все заархивированные проекты, сгруппированные по решениям.Each time you build your application for Archive, it will automatically open the Archives View, displaying all archived projects; grouped by solution. По умолчанию в этом представлении отображается только открытое сейчас решение.By default, this view only shows the current, open solution. Чтобы просмотреть все решения с архивами, выберите параметр Показать все архивы.To see all solutions that have archives, click on the Show all archives option.

Рекомендуется хранить архивы, которые были развернуты для клиентов (прямые или внутренние развертывания), чтобы при необходимости впоследствии отображать любую получаемую отладочную информацию.It is recommended that archives deployed to customers (either Ad-Hoc or In-House deployments) be kept, so that any debug information that is generated can be symbolized at a later date.

Обратите внимание, что для сборок, не относящихся к App Store, файл iTunesMetadata.plist и набор иллюстраций iTunes будут автоматически включены в IPA при обнаружении их в архиве.Note that for non-App Store builds the iTunesMetadata.plist file, and iTunes artwork set will automatically be included in your IPA if they are found in the archive.

Чтобы подписать приложение и подготовить его к распространению, выполните следующие действия:To sign your app and prepare it for distribution:

  1. Нажмите кнопку Подписать и распространить..., как показано ниже:Select the Sign and Distribute... button, illustrated below:

  2. Откроется мастер публикации.This will open the publishing wizard. Выберите канал распространения Специальный или Корпоративный (Внутренний), чтобы создать пакет:Select the Ad-Hoc or Enterprise(In-House) distribution channel to create a package:

  3. На экране профиля подготовки выберите удостоверение для подписывания и соответствующий профиль подготовки или подпишите повторно другим удостоверением:On the Provisioning Profile screen, select your signing identity and corresponding provisioning profile, or re-sign with another identity:

  4. Проверьте сведения о пакете и затем нажмите кнопку Опубликовать:Verify the details of your package, and click Publish:

  5. Наконец, сохраните свой IPA на компьютере:Finally, save your IPA to your machine:

Сборка из командной строки (на Mac)Building via the Command Line (On Mac)

В некоторых случаях, например в среде непрерывной интеграции, может потребоваться создать IPA из командной строки.In certain cases, such as in a CI environment, it may be necessary to build you IPA via the command line. Для этого выполните следующие действия:Follow the steps below to achieve this:

  1. Убедитесь, что выбраны параметры Параметры проекта > Параметры IPA iOS > Включить изображения iTunesArtwork и Выполнить сборку произвольного или корпоративного пакета (IPA):Ensure Project Options > iOS IPA Options > Include iTunesArtwork images is checked and Build ad-hoc/enterprise package (IPA) is checked:

    При необходимости вместо этого можно изменить файл CSPROJ в текстовом редакторе и вручную добавить два соответствующих свойства в PropertyGroup для конфигурации, которая будет использоваться для сборки приложения:If you prefer, you can instead edit the .csproj file in a text editor and manually add the two corresponding properties to the PropertyGroup for the configuration that will be used to build the app:

    <BuildIpa>true</BuildIpa> <IpaIncludeArtwork>false</IpaIncludeArtwork>
  2. Если вы включаете необязательный файл iTunesMetadata.plist, нажмите кнопку ..., выберите его в списке и нажмите кнопку ОК:If you are including an optional iTunesMetadata.plist file, click the ... button, select it from the list and click the OK button:

  3. Вызовите msbuild напрямую и передайте это свойство в командной строке.Call msbuild directly and pass this property on the command line:

    /Library/Frameworks/Mono.framework/Commands/msbuild YourSolution.sln /p:Configuration=Ad-Hoc /p:Platform=iPhone /p:BuildIpa=true

Когда профиль подготовки создан и выбран, создан необязательный файл iTunesMetadata.plist, а также заданы иллюстрации iTunes в Visual Studio, вы можете выполнить сборку IPA для распространения.Once the provisioning profile has been created and selected, the optional iTunesMetadata.plist file has been created and the iTunes Artwork set in Visual Studio, you can build an IPA for distribution. После этого нужно настроить проект.Next, you'll need to configure your project. Выполните следующие действия:Do the following:

  1. В обозревателе решений щелкните имя проекта Xamarin.iOS правой кнопкой мыши и выберите Свойства, чтобы открыть его для редактирования:In the Solution Explorer, right-click the Xamarin.iOS project name and select Properties to open them for editing:

  2. Выберите Параметры IPA iOS и затем пункт Специальный в раскрывающемся списке Конфигурация:Select iOS IPA Options and select Ad-Hoc from the Configuration dropdown list:

    Примечание

    Конфигурация "Специальный" может быть недоступна для более новых проектов Xamarin.iOS.An Ad-Hoc configuration may not be available for newer Xamarin.iOS projects. Если она недоступна, выберите конфигурацию Выпуск.If it's not available, select the Release configuration.

  3. Если вы включаете необязательный файл iTunesMetadata.plist, нажмите кнопку ..., выберите его в списке и нажмите кнопку Открыть:If you are including an option iTunesMetadata.plist file, click the ... button, select it from the list and click the Open button:

  4. При необходимости заполните поле Имя пакета для IPA-файла, иначе оно будет совпадать с именем проекта Xamarin.iOS.You can optionally specify a Package Name for the IPA, if not specified it will have the same name as the Xamarin.iOS project.

  5. Сохраните изменения в свойствах проекта.Save your changes to the Project Properties.

  6. Выберите пункт Специальный в раскрывающемся списке Конфигурация сборки, если он доступен.Select Ad Hoc from the Build Configuration dropdown if it is available. В противном случае выберите Выпуск:Otherwise select Release:

  7. Выполните сборку проекта для создания пакета IPA.Build the project to create the IPA package.

  8. Пакет IPA будет создан в папке Bin > iOS Device > Ad Hoc (или Release):The IPA will be build in the Bin > iOS Device > Ad Hoc (or Release) folder:

Настройка расположения файла IPACustomizing the IPA Location

Новое свойство MSBuild IpaPackageDir позволяет упростить настройку расположения для вывода файла IPA.A new MSBuild property IpaPackageDir has been added to make it easy to customize the .ipa file output location. Если в параметре IpaPackageDir задано настраиваемое расположение, файл IPA будет помещен в указанную папку, а не в установленный по умолчанию подкаталог с меткой времени.If IpaPackageDir is set to a custom location, the .ipa file will be placed in that location instead of the default timestamped subdirectory. Это может быть полезно при создании автоматизированных сборок, для работы которых требуется конкретный путь к каталогу (например, это могут быть сборки непрерывной интеграции).This can be useful when creating automated builds that rely on a specific directory path to work correctly, such as those used for Continuous Integration (CI) builds.

Использовать новое свойство можно несколькими способами:There are several possible ways to use the new property:

Например, чтобы выводить файл IPA в старый каталог по умолчанию (как в Xamarin.iOS 9.6 и более ранних версиях), задайте для свойства IpaPackageDir значение $(OutputPath) одним из следующих способов.For example, to output the .ipa file to the old default directory (as in Xamarin.iOS 9.6 and lower), you can set the IpaPackageDir property to $(OutputPath) using one of the following approaches. Оба подхода совместимы со всеми сборками Unified API Xamarin.iOS, включая сборки интегрированной среды разработки и сборки командной строки, которые используют msbuild, xbuild или mdtool.Both approaches are compatible with all Unified API Xamarin.iOS builds, including IDE builds as well as command-line builds that use msbuild, xbuild, or mdtool:

Альтернативный способ для сборки командной строки msbuild или xbuild заключается в добавлении аргумента /p: для установки свойства IpaPackageDir.An alternate technique for msbuild or xbuild command-line builds is to add a /p: argument to set the IpaPackageDir property. В этом случае обратите внимание, что msbuild не развертывает выражения $(), передаваемые в командную строку, поэтому использовать синтаксис $(OutputPath) невозможно.In this case note that msbuild does not expand $() expressions passed in on the command line, so it is not possible to use the $(OutputPath) syntax. Вместо этого необходимо предоставить полный путь.You must instead provide a full path name. Команда Mono xbuild раскрывает выражения $(), однако по-прежнему рекомендуется использовать полный путь к файлу, так как вместо xbuild рекомендуется использовать кроссплатформенную версию msbuild.Mono's xbuild command does expand $() expressions, but it is still preferable to use a full path name because xbuild has been deprecated in favor of the cross-platform version of msbuild.

Полный пример, в котором используется этот подход, в ОС Windows может выглядеть следующим образом:A complete example that uses this approach might look similar to the following on Windows:

msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:ServerAddress="192.168.1.3" /p:ServerUser="macuser" /p:IpaPackageDir="%USERPROFILE%\Builds" /t:Build SingleViewIphone1.sln

В Mac он будет иметь следующий вид:Or the following on Mac:

msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:IpaPackageDir="$HOME/Builds" /t:Build SingleViewIphone1.sln

Установка IPA с помощью iTunesInstalling an IPA using iTunes

Полученный пакет IPA можно доставить вашим тестовым пользователям для установки на устройствах iOS или передать для корпоративного развертывания.The resulting IPA Package can be delivered to your test users for installing on their iOS devices or shipped for Enterprise deployment. Независимо от выбранного метода конечный пользователь установит пакет в своем приложении iTunes на Mac или компьютере с Windows, дважды щелкнув файл IPA (или перетащив его в открытое окно iTunes).No matter which method is chosen, the end user will install the package in their iTunes application on their Mac or Windows PC by double-clicking the IPA file (or dragging it onto the open iTunes window).

Новое приложение iOS будет отображаться в разделе Мои приложения, где его можно щелкнуть правой кнопкой мыши и получить сведения о приложении:The new iOS application will be shown in the My Apps section, where you can right-click on it and get information about the application:

Пользователь теперь может синхронизировать iTunes со своим устройством, чтобы установить новое приложение iOS.The user can now sync iTunes with their device to install the new iOS application.

СводкаSummary

Эта статья описывает настройку, необходимую для подготовки приложения Xamarin.iOS к сборке, отличной от App Store.This article covered the setup required to prepare a Xamarin.iOS application for a non-App Store build. В ней показано, как создать пакет IPA и установить полученное приложение iOS на устройстве iOS конечного пользователя для тестирования или внутреннего распространения.It showed how to create an IPA Package and has how to install the resulting iOS application on the end user's iOS device for testing or In-House Distribution.

docs.microsoft.com


Prostoy-Site | Все права защищены © 2018 | Карта сайта