Содержание

Microsoft .NET Framework 4.8 автономный установщик для Windows

Введение

О Microsoft .NET Framework 4.8

Microsoft .NET Framework 4.8 — это высоко-совместимое обновление на месте для .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 и 4.7.2. 

Автономный пакет можно использовать в ситуациях, когда установщик не может быть использован из-за отсутствия подключения к Интернету.   Этот пакет больше, чем онлайн установщик, и не включает языковые пакеты. Рекомендуется использовать онлайн установщик вместо автономного установщика для оптимальной производительности и требований к пропускной способности.

При установке этого пакета на операционную систему устанавливаются следующие пакеты или обновления:

  • В Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1), обновление для . NET Framework 4.8 (KB4503548) отображается как установленный продукт в разделе Программы и компоненты панели управления.

  • В Windows Server 2012 обновление для Microsoft Windows (KB4486081) отображается в разделе Установленные обновления на панели управления. В Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2 обновление для Microsoft Windows (KB4486105) отображается в разделе Установленные обновления на панели управления.

  • В Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2 обновление для Microsoft Windows (KB4486105) отображается в разделе Установленные обновления на панели управления.

  • В Windows 10 Anniversary Update (версия 1607), Windows 10 Creators Update (версия 1703) и Windows Server 2016 Обновление для Microsoft Windows (KB4486129) отображается в разделе Установленные обновления на панели управления.

  • В Windows 10 Falls Creator’s Update версия 1709, Windows 10 Обновление от апреля 2018 года (Версия 1803), Windows 10 Обновление от октября 2018 года (версия 1809) и Windows Server 2019, оно указано как обновление для Microsoft Windows (KB4486153) под установленными обновлениями в панели управления.

Сведения о загрузке

На сайте загрузок .NET можно загрузить указанные ниже файлы:

Скачать автономный установщик Microsoft .NET Framework 4.8.

Для Windows RT 8.1

Скачать пакет обновлений для Microsoft .NET Framework 4.8.

Дополнительные сведения о загрузке файлов поддержки Майкрософт см . в разделе Как получить файлы поддержки Майкрософт из веб-служб.

Заявление о поиске вирусов: Корпорация Майкрософт проверила этот файл на отсутствие вирусов Майкрософт использует самую свежую версию антивирусного программного обеспечения, которая доступна на момент размещения файла. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.

Проблемы, которые устраняет это обновление

В этом обновлении исправлены следующие проблемы в .NET Framework 4.8.

ASP.NET:

Формы Windows:

  • Исправлена возможность выбора редактирования текста поля ComboBox с помощью мыши вниз+move.

  • Исправлена проблема с взаимодействием между управлением пользователем WPF и хостингом приложения WinForms при обработке ввода клавиатуры.

  • Исправлена проблема с объявлением экранным диктором/NVDA о расширении и свертывании ComboBox PropertyGrid.

  • Исправлена проблема с визуализацией «…» кнопки управления PropertyGrid в режиме HC, чтобы нарисовать фон кнопки и контрастные точки.

WPF:

  • Исправлена утечка маркера во время создания приложения «Окно» в Приложениях WPF, которые проявляются для Per Monitor DPI V2 Awareness.  Эта утечка может привести к посторонней GC. Сбор вызовов, которые могут повлиять на производительность в сценариях создания окон.

  • Исправлена регрессия, вызванная исправлением ошибки, включающая привязку с недвусмысленностью DataContext на пути связывания.

Дополнительная информация

Дополнительную информацию о . NET Framework 4.8 см. в статье Известные проблемы .NET Framework 4.8.

Эта версия .NET Framework работает параллельно с .NET Framework 3.5 SP1 и более ранними версиями, но она выполняет обновление на месте для .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 и 4.7.2.

Параметры командной строки для этого обновления

Дополнительные сведения о различных параметрах командной строки, поддерживаемых этим обновлением, см. в разделе «Параметры командной строки» в руководстве по развертыванию .NET Framework для разработчиков.

Требование перезагрузки

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

Относится к

Microsoft .

NET Framework 4.8 (автономный установщик) поддерживается следующими операционными системами:

Клиентская

  • Windows 10 версии 1809

  • Windows 10 версии 1803

  • Windows 10 версии 1709

  • Windows 10 версии 1703

  • Windows 10 версии 1607

  • Windows 8.1

  • Windows 7 с пакетом обновления 1 (SP1)

Сервер

  • Windows Server 2019

  • Windows Server версия 1803

  • Windows Server, версия 1809

  • Windows Server 2016

  • Windows Server 2012 R2.

  • Windows Server 2012;

  • Windows Server 2008 R2 с пакетом обновления 1 (SP1)

Устанавливаем нужную версию .Net Framework для Обновлятора-1С

Устанавливаем нужную версию .Net Framework для Обновлятора-1С

Для своей работы программа Обновлятор-1С требует, чтобы на компьютере была установлена библиотека Microsoft .Net Framework 3.5.

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

В зависимости от версии вашей ОС есть нюансы установки, о которых я расскажу ниже.

Способ первый

Прежде всего пробуем просто запустить установленный Обновлятор-1С. Если у нас Windows 8 и выше, то операционная система сама предложит скачать и установить нужную версию . Net Framework.

Если же у нас старая версия ОС, то пробуем скачать и установить .Net Framework 3.5 самостоятельно, вот по этой ссылке на сайте Microsoft.

Способ второй

Если установка первым способом не удалась, то бьюсь об заклад — у вас или Windows 10 или Windows Server 2016 или Windows Server 2012 R2.

В этих ОС установка .Net Framework 3.5 делается несколько иначе. В них эту библиотеку нужно включить в компонентах системы и уже затем скачать через центр обновления Windows.

Windows Server 2016 (2012 R2)

Вот как это делается для Windows Server 2016 (2012 R2), но обратите внимание, что в момент установки на компьютере:

  • должна быть включена служба обновлений Windows
  • должен быть включен интернет
  • делайте несколько попыток установки; многие пишут, что получается только с 3 раза

Внимание! Если возникают ошибки при установке . net framework прочтите статью.

Windows 10

Вот как это делается для Windows 10, но обратите внимание, что в момент установки на компьютере также:

  • должна быть включена служба обновлений Windows (об этом есть в ролике ниже)
  • должен быть включен интернет

Решение проблем с установкой .NET Framework 3.5 на Windows 8 в сети с WSUS / Хабр

Иногда случаются ситуации, когда пользователю Windows 8 необходимо установить .NET Framework 3.5 — чаще всего, это необходимо для обеспечения работоспособности некоторых, относительно старых, программ. В большинстве случаев все проходит без проблем. Однако, недавно возникла ситуация — данный фреймворк отказался устанавливаться на компьютер, находящийся в доменной сети AD с настроенным локальным сервером обновлений WSUS.

Описание проблемы

В обычном случае, установка вышеупомянутого фреймворка осуществляется силами ОС и, по сути, представляет из себя лишь включение компонента, отключенного по умолчанию.

После чего ОС подключается к серверу обновлений, скачивает необходимые файлы, и устанавливает компонент.

В ряде случаев ОС не может скачать нужные файлы, а именно:

  1. Отсутствует подключение к интернету;
  2. На сервере обновлений отсутствуют необходимые файлы.

Я столкнулся, как раз, со вторым случаем. Причем, Microsoft в этом случае советует отключить использование локального сервера обновлений WSUS, установить .NET Framework 3.5, после чего опять включить использование локального WSUS. В моем случае этот вариант был малоприемлем, так как для этого нужно было либо вывести ПК из домена, либо изменить групповую политику. Сконфигурировать WSUS должным образом мне не удалось, он скачивает обновления к .NET Framework 3.5 и версиям ниже, однако установка через него все равно не проходит.

Решение проблемы

Решением проблемы является установка вышеобозначенного компонента из локальных источников. Для начала необходимо определиться с локальным хранилищем пакетов. Вообще-то, оно находится на установочном диске Windows 8, в директории \sources\sxs, но, во-первых, не всегда под рукой есть диск (или iso), во-вторых, установка с первого же попавшегося диска почему-то не прошла, но прошла с другого. Чтобы избежать этих проблем, я подготовил архив со всеми необходимыми файлами. Итак приступим.
  1. Скачиваем архив с файлами, необходимыми для установки компонента: Sources.zip (102.5 MB)
  2. Распаковываем архив, для наглядности я распаковал его в корень диска C:\
  3. Запускаем командную строку с правами администратора
  4. Выполняем код, с учетом пути к распакованным файлам из архива:
    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:C:\Sources\sxs

Это займет несколько минут, но в результате получаем успешный результат!

Этот способ можно также применять для установки .NET Framework 3.5 на компьютеры, ограниченные в подключении к интернету.

Update от 01.02.2019
Спустя годы ситуация изменилась, подробное обсуждение доступно на форуме Microsoft.
Теперь никаких локальных установок не нужно. Достаточно поставить одну галочку в GPO.
Computer Configuration > Administrative Templates > System, "Specify settings for optional component installation and component repair"

Или по-русски:
Конфигурация компьютера - Политики - Административные шаблоны - Система - Укажите параметры для установки необязательных компонентов и восстановления компонентов.

Галка "Скачайте содержимое для восстановления и дополнительные компоненты непосредственно из Центра обновлений Windows..."

Что делать, если .Net framework 4 не устанавливается на Windows 7

Благодаря «Майкрософт.Нет Фреймворк 4» возможно совместное функционирование различных типов программ, например, компьютерных игр в среде Виндовс. Однако не редки случаи возникновения сложностей у пользователей, когда не устанавливается NET Framework, и системой выводятся разные оповещения об ошибках. Ниже изложена инструкция с описанием всех этапов действий, которые необходимо выполнить, если NET Framework 4 не устанавливается на компьютере с Windows 7.

Ошибка при инсталляции

«Нет Фреймворк» является разработкой Майкрософт и инсталлируется в ПК вместе с Виндовс 7. Об этой платформе обычно пользователи ничего не знают, до момента необходимости запуска какой-нибудь несовместимой с системой программы. Но самостоятельная инсталляция четвертой версии платформы часто заканчивается неудачей.

Платформа более высокой модификации может быть установлена только при условии полной деинсталляции ранней версии, а также удаления всех «хвостов» старой программы.

«Майкрософт.Нет Фреймворк 4» уже давно не является последней модификацией, поэтому операционная система ее не воспринимает и выводит оповещения об ошибках при попытках ее установить. Обойти эту проблему можно временно деактивировав службу обновлений и полностью избавившись от старой версии платформы. Ниже приведено руководство с алгоритмом всех требуемых последовательных шагов, описывающих то, как все это правильно выполнить.

Удаление

К сожалению, не достаточна только простая деинсталляция через вкладку приложений и компонентов Виндовс в «Панели управления». Обязательно необходимо применение особых программ для очистки всех ключей и отметок в реестре ОС. Хорошо справляется с этой задачей приложение «iObit Uninstaller». Оно доступно для скачивания в интернете и обладает интуитивно понятным интерфейсом. Также отлично зарекомендовала себя программа «Dotnetfx cleanup tool». С целью применения этой утилиты следует выполнить следующие последовательные шаги:

  1. Скачать из глобальной сети архив этого ПО в формате «zip»;
  2. Затем распаковать и запустить «cleanup_tool.exe»;
  3. В отобразившемся меню щелкнуть «Да»;
  4. Дождаться появления окошка с перечнем утилит, в котором необходимо выделить «NET.Framework — все модификации»;
  5. Далее кликнуть «Очистить»;
  6. Подождать полного окончания процесса деинсталляции и перезапустить компьютер.

Процедура установки

Необходимо осуществить следующие действия:

  1. Далее в отобразившейся консоли напечатать «net stop WuAuServ»;
  2. Щелкнуть на «Ввод»;
  3. В графе поиска напечатать «cmd»;
  4. Кликнуть «Пуск»;
  5. Снова кликнуть «Ввод»;
  6. Затем через проводник войти в каталог «Windows»;
  7. Вызвать контекстное меню от папки «Software Distribution»;
  8. Кликнуть по строчке «Переименовать»;
  9. Задать новое имя «SDold» переименовываемой директории и нажать «Enter», чтобы изменения вступили в силу;
  10. Вновь запустить консоль и напечатать «net WuAuServ start»;
  11. Щелкнуть «Enter»;
  12. Теперь, после завершения всех вышеуказанных этапов, необходимо запустить установку «Net Framework 4»;

Примечание: с первой попытки может и не установиться.

Во время установки «Нет Фреймворк 4» иногда появляется сообщение об ошибке с рекомендацией перезапуска ПК. При этом требуется согласиться и перезапустить машину.

Затем вновь запустить инсталляцию платформы.

  1. Об успешном окончании процесса будет свидетельствовать окно с сообщением «Установка завершена»;
  2. Кликнуть кнопку «Готово».

Заключение

Несмотря на всю сложность процедуры, имея подробные инструкции с пошаговым описанием действий, каждый владелец компьютера способен без посторонней помощи решить проблему с появлением ошибок при инсталляции четвертого пакета от Майкрософт. После успешной ее установки уже не составит значительного труда произвести его обновление до последней конфигурации.

Как установить NET Framework 2.0 3.0 и 3.5 в Windows 10

Если вы только что обновились до Windows 10, вы можете заметить, что некоторым программам требуется использование более ранних версий среды Microsoft . NET, которые не включены в последнюю версию Windows. Это требование не позволяет программам работать в Windows 10 по умолчанию и будет выдавать ошибки, такие как 0x800f0950, 0x800F0906, 0x800F0907, 0x800F0922, 0x800F081F. В некоторых случаях Windows может обнаружить автоматически и предложит установить версию, которая требуется, но это не всегда так. В большинстве случаев вам потребуется установить эту функцию вручную. Но не волнуйтесь — вы сможете сделать это легко с информацией, содержащейся в этой статье. 

Установка через Центр обновления Windows

Откройте панель управление и нажмите Программы «удаление программ«.


  • Нажмите слева на Включение и отключение компонентов Windows.
  • Установите флажок «NET Framework 3.5 (включая .NET 2.0 и 3.0)» и нажмите «OK». Вы можете оставить другие параметры как есть.
  • Затем Windows 10 подключится к обновлению Windows, чтобы иметь возможность устанавливать NET Framework 3. 5 на компьютер или ноутбук.
  • Для завершения установки вам может потребоваться перезагрузить компьютер.

Ручная установка через установочный носитель Windows 10

Если у вас имеется установочный носитель Windows 10, вы можете использовать его для установки более ранних версий .NET framework. Это намного быстрее и не требует подключения к Интернету. Если у вас есть сама система windows 10, но нет возможности записать ее на флешку, как установочную систему, то можете просто монтировать в виртуальный привод.

  • Вставьте установочную флешку windows 10 в свой компьютер или монтируйте образ в виртуальный привод.
  • Откройте проводник, он же «мой компьютер» и запомните под какой буквой установочная система (флешка или привод).
  • Откройте командную строку от имени администратора, написав в поиске windows слово cmd и правой кнопкой мыши, «запуск от имени админа«.
  • Далее в окно cmd введите следующую команду, где буква H это ваша установочная флешка или виртуальный привод:
  • Dism /online /enable-feature /featurename:NetFX3 /All /Source:H:\sources\sxs /LimitAccess

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

Если ничего не помогло по разным вам причинам, то скачайте официальный установщик Microsoft .NET Framework 3.5 содержащий в себе компоненты версий 2.0 и 3.0.


Загрузка комментариев

Установка NET Framework 3.5 без интернета.

Я недавно после установки Windows 10 2004 (1607, LTSB, 1803, 1809, LTSC, 1909, Win8.1) столкнулся с такой проблемой. Дело в том, что нужно было установить некоторые, скажем так, очень нужные, но чертовски дорогие программы. Так вот некоторые стали кричать и требовать NET.Framework версии 3.5, включая 3.0 и 2.0, а интернет без надежного файервола подключать нельзя. Ну слетят просто активации, сами знаете. ;))

Внимание! Статья была обновлена 20.05.2021 в связи с выходом новейших версий Windows. И будет обновляться по мере выхода новых редакций.
Для удобства общий архив был разделен на отдельные файлы по выпускам. Отдельно программа и руководство.
Так что, выбирайте своё 🙂

Перечитал кучу информации в интернете. Всё друг у друга попереписанное 100-тыщ-500 раз. Сайтов 30, наверное, перечитал. Вразумительного ответа так и не получил, но представление об установке сложилось.

Но способ нашелся, чем с вами и поделюсь. Приступим.

На верхней картинке видно, что Framework установлен. Но чисто ради понтов к поисковикам Яндекса и Гугла: если вам не удается воспользоваться модемом от МТС на редакциях Windows после версии 1803, то можете почитать очень даже полезную статью о Windows 10: МТС модем. Подключение разорвано!

Ниже — там текст для более ранних версий. Ошибки — тоже ниже. Читайте.

Мы же сейчас поговорим о новых системах Windows. Эти подружки крайне упорно не хотят устанавливать и включать функции Framework 3.5, 3.0, 2.0.
Дело в том, что они требует фреймворк ИМЕННО из своего дистрибутива. Да еще и установщик.
Вообщем, распаковал я образ и извлек папку sources, а в ней не распакованная папка sxs. Всё лишнее выбросил за ненадобностью.
Теперь перемещаем папку sources с единственной папкой внутри sxs в корень любого диска(раздела), только не системного.
У меня вот так, на разделе D:

Теперь запускаем маленькую программку (архивчик качнете ниже), выбираем свой диск(раздел). Она сама строчкой ниже определит папки.
Жмем «Install»… Ну, чего проще -то ??
Программулька замечательная. Установки никакой не требует.Вот так она выглядит:

Короче: ближе к телу, как говорил Мопассан…))

Работоспособность проверена бесчисленное количество раз.

Итак.
1. Распакуйте архив в корень любого НЕ системного диска/раздела.
2. Запустите прилагаемую программу от имени администратора.
3. В первом окошке выберите из выпадающего списка диск/раздел, куда распаковали.
4. Во втором окошке должен появиться путь и справа зеленая надпись — (Found), т.е. найдено.

Чуть не забыл. При использовании нужной папки, сотрите цифры версии, т.е. «sources 1903» оставляем только «sources»

5. Жмем Install и ждем пару минут, в зависимости от скорости вашей машинки.
Ну и собственно — всё. ))

Папки sources для редакций Windows 10 + обновления оффлайн .NET Framework_1.1_2.0_3.0_3.5_4.0_4.8 + подробная инструкция и программа установки ниже.

Скачать напрямую с Яндекс.Диска

Программа, руководство и .NET Framework_1.1_2.0_3.0_3.5_4.0_4.8

Размер: 69.4 мБ

sources 1607, LTSB

Размер: 68.6 мБ

sources 1803, 1809, LTSC

Размер: 70.8 мБ

sources 1909

Размер: 70.7 мБ

sources 2004

Размер: 69.3 мБ

sources 8.1

Размер: 66.2 мБ

sources 20h3

Размер: 69.3 мБ
———————————————————————————————-

Ниже приводится тоже актуальная запись, но для систем вышедших ранее. А также установка Framework 3. 5 для Windows 8.1

Для начала вам потребуется распакованный дистрибутив windows 8/8.1 или 10.
Скопируйте из него папку sources с вложенной в нее папкой sxs, в корень какого нибудь раздела на вашем диске. НЕ на диск С. Любой подойдет. Даже флешка. Кроме папки sxs, всё остальное выбросите в корзину. Оно не пригодится для нашей цели.

У меня эта скопированная папка на диске D. Соответственно путь до нее выглядит D:/sources/sxs

В папке sxs советуют распаковать архив microsoft-windows-netfx3-ondemand-package.cab
Я не распаковывал.

Теперь запустите командную строку от имени Администратора, скопируйте и введите команду ниже:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:d:\sources/sxs /LimitAccess

Жмем ENTER и дожидаемся результата.


(на картинке ошибочно указан диск «С». Переустанавливать, право, лень:))

ОШИБКИ

Иногда возникает ошибка: «Не удается построить цепочку сертификатов для доверенного корневого центра сертификации. »
Либо — «Цепочка сертификатов обработана, но обработка прервана на корневом сертификате…»

Значит Вы не получаете автоматически обновления ;))
Я, например, намертво блокирую любые попытки обновления из Центра мелко-туды их-нах-мягких.
Что мне нужно для системы — скачиваю и устанавливаю автономно.

Так вот.
В случае появления таких ошибок — установите сертификат MicrosoftRootCertificateAuthority2011.cer

Сейчас напишу немного мутоты, в которой сам поначалу запутался, а в конце дам ссылку на свой собственный архив с инструкцией и всем — всем необходимым, где всё это уже проделано. Давно пользуюсь. Версия обновляется по мере выхода свежей.
Вы можете устранить ошибку буквально в 2 минуты.

Ну, поехали!
(Вообще надо сразу ставить этот сертификат, т.к. он и для 4.6; 4.7, 4.7.2, 4.8 … версий Framework.)

Нужно открыть мастер импорта сертификатов одним из описанных далее способом.

1. Установка через Internet Explorer:
Запустите iexplorer. В главном меню выберите Сервис / Свойства обозревателя.

2. Откройте «Свойства обозревателя» через меню Пуск / Панель управления.
Переключитесь на вкладку «Содержание».
Откроется окно «Сертификаты». Переключитесь на вкладку «Доверенные корневые центры сертификации».
Нажмите кнопку «Импорт».
Запустите файл сертификата как программу. Появится окно «Сертификат».
Нажмите кнопку «Установить сертификат».

3. Через консоль MS Windows.

Внимание! Данный вариант — ЕДИНСТВЕННЫЙ работоспособный для Windows 7!

1. Запустите консоль mmc, для этого выполните следующие действия: Войти в «Пуск / Выполнить», в строке «Найти программы и файлы» пропишите mmc, Разрешите внести изменения — кнопка Да.

2. Появится окно консоли. В главном меню выберите Консоль(Файл) / Добавить или удалить оснастку
Появится окно «Добавить или удалить оснастку».

3. В списке оснастки выберите «Сертификаты» и нажмите «Добавить».

4. В окне «Оснастка диспетчера сертификатов» оставьте значения по умолчанию и нажмите «Готово»
(Закройте окно «Добавить изолированную оснастку» (кнопка «Закрыть»)

5. В окне «(((Добавить или удалить оснастку)))» нажмите «ОК»

В дереве консоли появится запись «Сертификаты». Раскройте ее и найдите раздел «Доверенные корневые центры сертификации», «Сертификаты»

6. На строке «Сертификаты»(слева) нажмите правую кнопку мыши и в контекстном меню выберите Все задачи / Импорт

7. На шаге «Импортируемый файл» (Шаг может быть пропущен, в зависимости от варианта запуска мастера) с помощью кнопки «Обзор…» выберите корневой сертификат и нажмите «Далее >».

8. На шаге «Хранилище сертификатов» установите опцию «Поместить все сертификаты в следующее хранилище» и нажмите кнопку «Обзор».

9. В окне выбора хранилища установите флаг «Показать физические хранилища», раскройте «ветку» (+) «Доверенные корневые центры сертификации» и выберите место хранения сертификата:
«Реестр» — для пользования корневым сертификатом только текущим пользователем под данной операционной системой.
«Локальный компьютер» — для пользования корневым сертификатом всеми пользователями операционной системы.

10. После нажатия кнопок «Ок», «Далее» и «Готово» может появиться предупреждение о безопасности (зависит от внутренних настроек операционной системы) с вопросом «Установить данный сертификат?», нажмите «Да».

Появится сообщение — «Импорт успешно выполнен», корневой сертификат добавлен в доверенные корневые центры сертификации для вашей или для всех учетных записей.

Если все сделали пошагово правильно — ошибок не будет.
Единственное, может быть потребуется взять sources из другого дистрибутива.

Папка sources для Windows 8.1 + обновление Framewoek 3.5 от 09.10.2018 + подробная инструкция и программа установки ниже.

Скачать напрямую с Яндекс.Диска

Размер: 269МБ

На этом у меня все. Не получается? Пишите в комментариях.
————————————————————————————

У некоторых не получается включить функции Framework 3.5 средствами DISM.
Причины настолько разные , что все их описать невозможно.
Может быть, не в корень диска кинули, в пути присутствует кириллица (включая название компа и Админа)…
Ой… много нюансов…

Выкладываю весь собственный архив, которым пользуюсь не один год.
Читайте, смотрите, что вам подойдет в конкретном случае.

АРХИВ

Размер: 265 мБ
ВСЕМ ДОБРА!

Можете попутно, раз уж зашли, нажать на кнопочки — Вам 2 секунды, а мне очень приятно и полезно для сайта.
Спасибо!

А теперь…
А ТЕПЕРЬ ВАУ!!! Калейдоскоп! Подвигайте мышкой по картинке… ;))
 


  

Microsoft .NET Framework 1.1–4.7 (полные установщики) / Audiophile’s Software

Дата обновления: 02 Сентября 2017

.NET Framework (Dot Net Framework) — программная платформа (софтверный фреймворк), разработанная корпорацией Microsoft в 2002 году, главным образом для операционной системы Microsoft Windows. Включает обширные библиотеки, а также предоставляет взаимную совместимость (каждый язык может использовать код, написанный на других языках) нескольких языков программирования. Программы, написанные на .NET Framework выполняются в программной среде (в противоположность аппаратной) известной как Common Language Runtime (CLR, общеязыковая исполняющая среда), представляющей собой виртуальную машину, которая обеспечивает безопасность, распределение памяти и обработку исключений. Библиотека классов и CLR вместе составляют .NET Framework.

Базовая библиотека классов .NET Framework даёт доступ к пользовательскому интерфейсу, обмену данными, к подключению баз данных, криптографии, разработке веб-приложений, вычислительным алгоритмам и сетевым подключениям. Программисты создают свои приложения путём компоновки собственного кода с библиотеками .NET Framework, а также другими библиотеками. .NET Framework предназначен для использования большей частью новых разрабатываемых приложений.

ВНИМАНИЕ: обязательно устанавливайте пакеты обновлений в таком же порядке, в каком даны ссылки на них!


.

NET Framework 1.1

.NET Framework 3.5 SP1 (включает 2.0 SP2)

 Обновления:

  Windows XP/Server 2003 32-bit:
    Обновление 1 (8,6 МиБ)
    Обновление 2 (7 МиБ)
    Обновление 3 (1,4 МиБ)

  Windows XP/Server 2003 64-bit:
    Обновление 1 (18,4 МиБ)
    Обновление 2 (16,5 МиБ)
    Обновление 3 (1,5 МиБ)

Windows Vista/Server 2008 x86:
    Обновление 1 (1,4 МиБ)
    Обновление 2 (10,5 МиБ)
    Обновление 3 (6,9 МиБ)

Windows Vista/Server 2008 64-bit:
    Обновление 1 (1,5 МиБ)
    Обновление 2 (16 МиБ)
    Обновление 3 (9,8 МиБ)

Windows Vista/Server 2008 IA-64:
    Обновление 1 (1,5 МиБ)
    Обновление 2 (14,7 МиБ)
    Обновление 3 (2,2 МиБ)


.

NET Framework 4.7 (только Windows 7 и выше)

.NET Framework 4.0 (для Windows XP SP3/Server 2003 SP2/Vista SP1/Server 2008/7)

Устранение неполадок при заблокированных установках и удалениях .NET Framework

  • 8 минут на чтение

В этой статье

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

В Windows 8 и более поздних версиях .NET Framework является компонентом операционной системы и не может быть удален независимо. Обновления .NET Framework отображаются на вкладке «Установленные обновления » приложения «Программы и компоненты панели управления». Для операционных систем, в которых .NET Framework не предустановлена, .NET Framework отображается на вкладке Удаление или изменение программы (или на вкладке «Установка и удаление программ» ) приложения «Программа и компоненты» на панели управления. .Для получения информации о версиях Windows, на которых предустановлена ​​.NET Framework, см. Системные требования.

Важно

Поскольку версии .NET Framework 4.x являются обновлениями на месте, вы не можете установить более раннюю версию .NET Framework 4.x в системе, в которой уже установлена ​​более поздняя версия. Например, в системе с Windows 10 Fall Creators Update нельзя установить .NET Framework 4.6.2, поскольку .NET Framework 4.7.1 предустановлен вместе с операционной системой.

Вы можете определить, какие версии . NET Framework установлены в системе. Дополнительные сведения см. В разделе «Как определить, какие версии .NET Framework установлены».

В этой таблице 4.5.x относится к .NET Framework 4.5 и его точечным выпускам, 4.5.1 и 4.5.2, 4.6.x относится к .NET Framework 4.6 и его точечным выпускам, 4.6.1 и 4.6. 2, 4.7.x относится к .NET Framework 4.7 и его точечным выпускам, 4.7.1 и 4.7.2, а 4.8 относится к .NET Framework 4.8.

Сообщение о блокировке Для получения дополнительной информации или решения проблемы
Удаление Microsoft.NET Framework может привести к прекращению работы некоторых приложений. Как правило, не следует удалять какие-либо версии .NET Framework, установленные на вашем компьютере, поскольку используемое вами приложение может зависеть от конкретной версии .NET Framework. Дополнительные сведения см. В разделе «.NET Framework для пользователей» в руководстве «Приступая к работе с , ».
.NET Framework 4.5.x / 4.6.x / 4.7.x (ENU) или более поздняя версия уже установлена ​​на этом компьютере. Никаких действий не требуется.

Чтобы определить, какие версии .NET Framework установлены в системе, см. Раздел Практическое руководство. Определение установленных версий .NET Framework.

Для .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 (, язык ) требуется .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8. Установите .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 из центра загрузки и повторно запустите программу установки. Перед установкой языкового пакета необходимо установить английскую версию указанного выпуска .NET Framework.Дополнительные сведения см. В разделе «Установка языковых пакетов» в руководстве по установке.
Не удается установить .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8. Другие приложения на вашем компьютере несовместимы с этой программой.

-или-

Другие приложения на вашем компьютере несовместимы с этой программой.

Наиболее вероятная причина появления этого сообщения заключается в том, что была установлена ​​предварительная версия или RC-версия .NET Framework. Удалите предварительную версию или версию RC и повторно запустите программу установки.
.NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 нельзя удалить с помощью этого пакета. Чтобы удалить .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 со своего компьютера, перейдите в панель управления , выберите Программы и компоненты , выберите Просмотреть установленные обновления , выберите Обновление для Microsoft Windows (KB2828152 ), а затем выберите Удалить . Устанавливаемый вами пакет не удаляет предварительную версию или выпуски RC .NET Framework.

Удалите предварительную версию или выпуск RC из Панели управления.

Не удается удалить .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8. Другие приложения на вашем компьютере зависят от этой программы. Как правило, вам не следует удалять какие-либо версии .NET Framework со своего компьютера, поскольку используемое вами приложение может зависеть от конкретной версии .NET Framework. Дополнительные сведения см. В разделе «.NET Framework для пользователей» в руководстве «Приступая к работе с , ».
.NET Framework 4.Распространяемый пакет 5.x / 4.6.x / 4.7.x / 4.8 не распространяется на эту операционную систему. Загрузите .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 для своей операционной системы со страницы загрузки .NET Framework. Возможно, вы пытаетесь установить .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8 на платформе, которая не поддерживается, или вы выбрали установочный пакет, который не включает компоненты для всех поддерживаемых операционных систем. Снова запустите установку с помощью автономного установщика (для версии 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7), 4.7.1, 4.7.2 или 4.8. Для получения дополнительной информации см. Руководство по установке и системные требования для поддерживаемых операционных систем.
Перед установкой этого продукта необходимо установить обновление, соответствующее KB < number >. Для установки .NET Framework необходимо установить обновление KB перед установкой .NET Framework. Установите обновление, а затем запустите.NET Framework снова.

Например, для установки обновленных версий .NET Framework в Windows 8.1, Windows RT 8.1 и Windows Server 2012 R2 необходимо установить обновление, соответствующее KB 25.

На вашем компьютере в настоящее время выполняется установка Server Core операционной системы Windows Server 2008. .NET Framework 4.5.x требует более позднего выпуска операционной системы. Установите Windows Server 2008 R2 SP1 или выше и перезапустите.NET Framework 4.5.x. .NET Framework 4.5.1 и 4.5.2 поддерживаются в роли Server Core с Windows Server 2008 R2 SP1 или более поздней версии. См. Системные требования.
У вас недостаточно прав для выполнения этой операции для всех пользователей этого компьютера. Войдите в систему как администратор и повторно запустите Setup . Для установки .NET Framework вы должны быть администратором компьютера.
Невозможно продолжить установку, поскольку предыдущая установка требует перезагрузки компьютера.Перезагрузите компьютер и перезапустите программу установки. Иногда для полного завершения установки требуется перезагрузка. Следуйте инструкциям, чтобы перезагрузить компьютер и перезапустить программу установки.

В редких случаях вас могут попросить перезагрузить систему более одного раза, если Windows обнаружила несколько отсутствующих обновлений и перезагружается для установки следующего обновления в очереди.

Установка .NET Framework не может быть запущена в режиме совместимости программ. См. Раздел «Проблемы совместимости программ» далее в этой статье.
.NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 не установлена, так как хранилище компонентов повреждено. Дополнительные сведения см. В разделе «Исправление ошибок Центра обновления Windows с помощью DISM или средства проверки готовности системы к обновлению».
Не удается запустить программу установки, поскольку на этом компьютере недоступна служба установщика Windows. См. Ошибку «Не удалось получить доступ к службе установщика Windows» при попытке установить программу в Windows 7 или Windows Vista на веб-сайте поддержки Microsoft.
Программа установки может работать некорректно, поскольку на этом компьютере недоступна служба обновления Windows. Компьютер может быть настроен для использования служб Windows Server Update Services (WSUS) вместо Microsoft Windows Update. Дополнительные сведения см. В разделе с кодом ошибки 0x800F0906 в ошибке установки .NET Framework 3.5: 0x800F0906, 0x800F081F, 0x800F0907.

См. Также раздел «Как обновить агент обновления Windows до последней версии» на веб-сайте поддержки Microsoft.

Программа установки может работать некорректно, поскольку фоновая интеллектуальная служба передачи (BITS) недоступна на этом компьютере. См. Доступно обновление для устранения сбоя фоновой интеллектуальной службы передачи (BITS) на компьютере под управлением Windows Vista на веб-сайте поддержки Microsoft.
Программа установки может работать некорректно, так как Центр обновления Windows обнаружил ошибку и отобразил код ошибки 0x80070643 или 0x643. См. Раздел Ошибка установки обновления .NET Framework: «0x80070643» или «0x643» на веб-сайте поддержки Microsoft.
.NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 уже является частью этой операционной системы. Вам не нужно устанавливать распространяемый пакет .NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8. Нет действий.

Чтобы определить, какие версии . NET Framework установлены в системе, см. Раздел Практическое руководство. Определение установленных версий .NET Framework. См. Системные требования для поддерживаемых операционных систем.

.NET Framework 4.5.x / 4.6.x / 4.7.x / 4.8 не поддерживается в этой операционной системе. См. Системные требования для поддерживаемых операционных систем.

При неудачной установке .NET Framework в Windows 7 это сообщение обычно означает, что Windows 7 SP1 не установлен. В системах Windows 7 для .NET Framework требуется Windows 7 SP1. Если вы используете Windows 7 и еще не установили пакет обновления 1, вам необходимо сделать это перед установкой .NET Framework. Для получения информации об установке пакета обновления 1 (SP1) для Windows 7 см. Раздел Узнайте, как установить пакет обновления 1 (SP1) для Windows 7.

На вашем компьютере в настоящее время выполняется установка Server Core операционной системы Windows Server 2008. Для .NET Framework 4. 5.x требуется полная версия операционной системы или Server Core 2008 R2 SP1. Установите полную версию Windows Server 2008 SP2 или Windows Server 2008 R2 SP1 или Server Core 2008 R2 SP1 и повторно запустите установку .NET Framework 4.5.x. .NET Framework поддерживается в роли Server Core с Windows Server 2008 R2 SP1 или более поздней версии.См. Системные требования.
.NET Framework 4.5.x уже является частью этой операционной системы, но в настоящее время отключен (только для Windows Server 2012). Использование Включение и выключение функций Windows на панели управления для включения .NET Framework 4.5.x.
Для этой программы установки требуется компьютер x86. Его нельзя установить на компьютеры x64 или IA64. См. Системные требования.
Для этой программы установки требуется компьютер x64 или x86.Его нельзя установить на компьютеры IA64. См. Системные требования.

Проблемы совместимости программ

Установка .NET Framework 4.5 или его точечных выпусков завершается ошибкой с кодом 1603 или блокируется при работе в режиме совместимости программ Windows. Помощник по совместимости программ указывает, что платформа .NET Framework могла быть установлена ​​неправильно, и предлагает переустановить ее, используя рекомендуемый параметр (режим совместимости программ).Режим совместимости программ также мог быть установлен помощником по совместимости программ при ранее неудачных или отмененных попытках запустить установку .NET Framework.

Установщик .NET Framework не может работать в режиме совместимости программ. Чтобы решить эту проблему блокировки, необходимо использовать редактор реестра, чтобы убедиться, что параметр режима совместимости не включен для всей системы:

  1. Нажмите кнопку Start , а затем выберите Run .

  2. В диалоговом окне Выполнить введите «regedit» и выберите ОК .

  3. В редакторе реестра перейдите к следующим подразделам:

    • HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Compatibility Assistant \ Persisted

    • HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers

  4. В столбце «Имя» найдите загружаемые имена .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 или 4.7.2 в зависимости от версии. вы устанавливаете и удалите эти записи.Названия загружаемых файлов см. В статье «Установка .NET Framework для разработчиков».

  5. Перезапустите установщик .NET Framework для версий 4.5, 4.5.1, 4.5.2 или 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 или 4.7.2.

См. Также

Установите .NET Framework 3.5 в Windows 10, 8.1, 8

  • 2 минуты на чтение

В этой статье

Вам может понадобиться.NET Framework 3.5 для запуска приложения в Windows 10, Windows 8.1 и Windows 8. Эти инструкции также можно использовать для более ранних версий Windows.

Загрузите автономный установщик

Автономный установщик .NET Framework 3.5 SP1 доступен на странице загрузки .NET Framework 3.5 SP1 и доступен для версий Windows до Windows 10.

Установить .NET Framework 3.5 по запросу

Вы можете увидеть следующее диалоговое окно конфигурации, если попытаетесь запустить приложение, для которого требуется.NET Framework 3.5. Выберите Установить эту функцию , чтобы включить .NET Framework 3.5. Для этого варианта требуется подключение к Интернету.

Почему появляется это всплывающее окно?

.NET Framework создана Microsoft и предоставляет среду для запуска приложений. Доступны разные версии. Многие компании разрабатывают свои приложения для работы с .NET Framework, и эти приложения нацелены на конкретную версию. Если вы видите это всплывающее окно, вы пытаетесь запустить приложение, для которого требуется расширение.NET Framework версии 3.5, но эта версия не установлена ​​в вашей системе.

Включите .NET Framework 3.5 на панели управления

Вы можете включить .NET Framework 3.5 через панель управления Windows. Для этого варианта требуется подключение к Интернету.

  1. Нажмите клавишу Windows на клавиатуре, введите «Компоненты Windows» и нажмите Enter. Откроется диалоговое окно Включение и отключение компонентов Windows .

  2. Выберите .NET Framework 3.5 (включая .NET 2.0 и 3.0) установите флажок , выберите OK и перезагрузите компьютер, если будет предложено.

    Вам не нужно выбирать дочерние элементы для Windows Communication Foundation (WCF) HTTP-активация и Windows Communication Foundation (WCF) Non-HTTP Activation , если вы не разработчик или администратор сервера, которому требуется эта функция.

Устранение неполадок при установке .NET Framework 3.5

Во время установки может возникнуть ошибка 0x800f0906, 0x800f0907, 0x800f081f или 0x800F0922, в этом случае обратитесь к.Ошибка установки .NET Framework 3.5: 0x800f0906, 0x800f0907 или 0x800f081f, чтобы узнать, как решить эти проблемы.

Если вы по-прежнему не можете решить проблему с установкой или у вас нет подключения к Интернету, вы можете попробовать установить его с установочного носителя Windows. Дополнительные сведения см. В разделе Развертывание .NET Framework 3.5 с помощью обслуживания образов развертывания и управления ими (DISM). Если вы используете Windows 7, Windows 8.1 или последнюю версию Windows 10, но у вас нет установочного носителя, создайте обновленный установочный носитель здесь: Создайте установочный носитель для Windows.Дополнительная информация о функциях Windows 10 по запросу: функции по запросу.

Предупреждение

Если вы не полагаетесь на Центр обновления Windows как на источник для установки . NET Framework 3.5, вы должны убедиться, что строго используете источники той же соответствующей версии операционной системы Windows. Использование источников из другой версии операционной системы Windows либо установит несовместимую версию .NET Framework 3.5, либо приведет к сбою установки, оставив систему в неподдерживаемом и неработающем состоянии.

Интегрируйте модуль Flutter в свой проект iOS

  1. Документы
  2. Развитие
  3. Добавить Flutter в существующее приложение
  4. Добавление Flutter в iOS
  5. Интегрировать флаттер

Flutter можно постепенно добавлять в существующую iOS приложение как встроенные фреймворки.

Примеры см. В каталогах iOS в примерах кода add_to_app.

Системные требования

Ваша среда разработки должна соответствовать Системные требования macOS для Flutter с установленным Xcode. Flutter поддерживает iOS 8.0 и новее. Дополнительно вам понадобятся CocoaPods. версия 1.10 или новее.

Создайте модуль Flutter

Чтобы встроить Flutter в существующее приложение, сначала создайте модуль Flutter.

В командной строке запустите:

  cd some / path /
flutter create --template модуль my_flutter
  

Проект модуля Flutter создан по адресу some / path / my_flutter / .Из этого каталога вы можете запустить тот же flutter команды, которые вы бы использовали в любом другом проекте Flutter, например, flutter run --debug или flutter build ios . Вы также можете запустить модуль в Android Studio / IntelliJ или VS Code с плагины Flutter и Dart. Этот проект содержит единый пример версии вашего модуля, прежде чем он встроены в ваше существующее приложение, что полезно для постепенного тестирование частей вашего кода, предназначенных только для Flutter.

Модуль организации

Структура каталогов модуля my_flutter аналогична структуре каталогов модуля обычное приложение Flutter:

  my_flutter /
├──.ios /
│ ├── Runner.xcworkspace
│ └── Flutter / podhelper.rb
├── lib /
│ └── main.dart
├── тест /
└── pubspec.yaml
  

Добавьте свой код Dart в каталог lib / .

Добавить зависимости Flutter в my_flutter / pubspec.yaml , включая пакеты и плагины Flutter.

Скрытая подпапка .ios / содержит рабочее пространство Xcode, в котором вы можете запустить автономную версию своего модуля. Это проект-оболочка для начальной загрузки вашего кода Flutter, и содержит вспомогательные сценарии для облегчения создания фреймворков или встраивание модуля в существующее приложение с помощью CocoaPods.

Примечание: Добавьте собственный код iOS в свое собственное приложение проект или плагин, а не .ios / модуля каталог. Изменения, внесенные в ваш модуль .ios / каталог не отображается в вашем существующем проекте iOS используя модуль, и может быть перезаписан Flutter.

Не использовать исходный код для каталога .ios / , поскольку он создается автоматически. Перед сборкой модуля на новой машине запустите flutter pub и получите в каталоге my_flutter сначала для регенерации файла .ios / каталог перед сборкой проекта iOS с помощью модуля Flutter.

Вставьте модуль Flutter в свое существующее приложение

Есть два способа встроить Flutter в существующее приложение.

  1. Используйте диспетчер зависимостей CocoaPods и установите Flutter SDK. (Рекомендуется.)
  2. Создавайте фреймворки для движка Flutter, вашего скомпилированного кода Dart, и все плагины Flutter. Вставьте рамки вручную, и обновите настройки сборки вашего существующего приложения в Xcode.

Примечание: Ваше приложение не запускается на симуляторе в режиме выпуска, потому что Flutter не работает. но поддерживает вывод файлов x86 / x86_64 с опережением времени (AOT) для вашего Dart код. Вы можете работать в режиме отладки на симуляторе или на реальном устройстве, и выпустить на реальном устройстве.

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

Использование Flutter увеличивает размер вашего приложения.

Вариант А. Встраивание с помощью CocoaPods и Flutter SDK

Этот метод требует, чтобы каждый разработчик работал с вашим проект, чтобы иметь локально установленную версию Flutter SDK.Просто создайте свое приложение в Xcode, чтобы автоматически запустите скрипт, чтобы встроить ваш Dart и код плагина. Это позволяет быстро выполнять итерацию с самыми актуальными версия вашего модуля Flutter без запуска дополнительных команды вне Xcode.

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

  некоторые / путь /
├── my_flutter /
│ └──.ios /
│ └── Флаттер /
│ └── podhelper.rb
└── MyApp /
    └── Подфайл
  

Если в вашем существующем приложении ( MyApp ) нет уже есть подфайл, следуйте Руководство по началу работы с CocoaPods чтобы добавить в проект подфайл .

  1. Добавьте следующие строки в свой подфайл :

      flutter_application_path = '../my_flutter'
    загрузить File.join (flutter_application_path, '.ios', 'Flutter', 'podhelper.rb ')
      
  2. Для каждого целевого подфайла, который необходимо встроить Flutter, вызвать install_all_flutter_pods (flutter_application_path) .

      цель "MyApp" сделать
      install_all_flutter_pods (flutter_application_path)
    конец
      
  3. Запустить pod install .

    Примечание: Когда вы меняете зависимости плагина Flutter в my_flutter / pubspec.yaml , запустите flutter pub получите в каталоге модуля Flutter, чтобы обновить список плагинов, читаемых подхелпером .rb скрипт. Затем снова запустите pod install из ваше приложение по адресу some / path / MyApp .

Скрипт podhelper.rb встраивает ваши плагины, Flutter.framework и App.framework в свой проект.

Встраивание конфигураций сборки для отладки и выпуска вашего приложения режимы сборки Debug или Release Flutter соответственно. Добавить конфигурацию сборки профиля в ваше приложение для тестирования в режиме профиля.

Наконечник: Флаттер.framework — это комплект для движка Flutter, и App.framework — это скомпилированный код Dart для этого проекта.

Откройте MyApp.xcworkspace в Xcode. Теперь вы можете собрать проект, используя ⌘B .

Вариант B — встроить фреймворки в Xcode

В качестве альтернативы вы можете сгенерировать необходимые фреймворки. и вставьте их в свое приложение, отредактировав вручную ваш существующий проект Xcode. Вы можете сделать это, если члены вашего команда не может локально установить Flutter SDK и CocoaPods, или если вы не хотите использовать CocoaPods в качестве диспетчера зависимостей в ваших существующих приложениях.Вы должны запустить flutter build ios-framework каждый раз, когда вы вносите изменения в код в своем модуле Flutter.

Если вы используете предыдущий Встроить с помощью инструментов CocoaPods и Flutter, вы можете пропустить эти инструкции.

В следующем примере предполагается, что вы хотите сгенерировать frameworks до some / path / MyApp / Flutter / .

  flutter build ios-framework --xcframework --no-universal --output = some / path / MyApp / Flutter /
  
  некоторые / путь / MyApp /
└── Флаттер /
    ├── Отладка /
    │ ├── Флаттер.xcframework
    │ ├── App.xcframework
    │ ├── FlutterPluginRegistrant.xcframework (только если у вас есть плагины с кодом платформы iOS)
    │ └── example_plugin.xcframework (каждый плагин - это отдельный фреймворк)
    ├── Профиль /
    │ ├── Flutter.xcframework
    │ ├── App.xcframework
    │ ├── FlutterPluginRegistrant.xcframework
    │ └── example_plugin.xcframework
    └── Релиз /
        ├── Flutter.xcframework
        ├── App.xcframework
        ├── FlutterPluginRegistrant.xcframework
        └── example_plugin.xcframework
  

Предупреждение: Всегда используйте Flutter.xcframework и App.xcframework из того же каталога. Смешивание импорта .xcframework из разных каталогов (например, Profile / Flutter.xcframework с Debug / App.xcframework ) вызывает сбои во время выполнения.

Вставьте и свяжите сгенерированные фреймворки в существующие приложение в Xcode. Есть несколько способов сделать this — используйте метод, который лучше всего подходит для вашего проекта.

Ссылка на рамки

Например, можно перетащить рамки из some / path / MyApp / Flutter / Release / в Finder в сборку вашей цели Настройки> Этапы сборки> Связать двоичный файл с библиотеками .

В настройках целевой сборки добавьте $ (PROJECT_DIR) / Flutter / Release / в пути поиска Framework ( FRAMEWORK_SEARCH_PATHS ).

Вложить каркасы

Сгенерированные динамические каркасы должны быть встроены в ваше приложение для загрузки во время выполнения.

Важно: Плагины могут создавать статические или динамические фреймворки. Статические фреймворки должны быть связаны, но никогда не встраиваться. Если вы встраиваете статический фреймворк в свое приложение, ваше приложение не может быть опубликовано в App Store и терпит неудачу с Обнаружен непредвиденный код заголовка Mach-O. Ошибка архива .

Например, можно перетащить фреймворк (кроме FlutterPluginRegistrant и любых других static frameworks) из группы Frameworks вашего приложения в настройки вашей цели Build Settings> Build Phases> Встроить фреймворки .Затем выберите Встроить и подписать из раскрывающегося списка.

Теперь у вас должна быть возможность построить проект в Xcode, используя 37B .

Наконечник: Чтобы встроить отладочную версию фреймворков Flutter в свой Конфигурация сборки отладки и версия выпуска в вашем Конфигурация выпуска в вашем MyApp.xcodeproj / project.pbxproj , попробуйте заменить path = Flutter / Release / example.xcframework; с path = "Flutter / $ (CONFIGURATION) / example.xcframework "; для всех добавленных фреймворков. (Обратите внимание на добавленные ".)

Вы также должны добавить $ (PROJECT_DIR) / Flutter / $ (CONFIGURATION) к поисковым путям Framework ( FRAMEWORK_SEARCH_PATHS ) настройка сборки.

Вариант C — встраивание фреймворков приложений и плагинов в Xcode и фреймворк Flutter с помощью CocoaPods

Как вариант, вместо распространения большого Flutter.xcframework другим разработчикам, машинам или системам непрерывной интеграции, вместо этого вы можете сгенерировать Flutter как подспек CocoaPods, добавив Флаг -cocoapods .Это дает Flutter.podspec вместо движка Flutter.xcframework. Созданы фреймворки App.xcframework и плагинов. как описано в Варианте B.

  flutter build ios-framework --cocoapods --xcframework --no-universal --output = some / path / MyApp / Flutter /
  
  некоторые / путь / MyApp /
└── Флаттер /
    ├── Отладка /
    │ ├── Flutter.podspec
    │ ├── App.xcframework
    │ ├── FlutterPluginRegistrant.xcframework
    │ └── example_plugin.xcframework (каждый плагин с кодом платформы iOS представляет собой отдельный фреймворк)
    ├── Профиль /
    │ ├── Flutter.podspec
    │ ├── App.xcframework
    │ ├── FlutterPluginRegistrant.xcframework
    │ └── example_plugin.xcframework
    └── Релиз /
        ├── Flutter.podspec
        ├── App.xcframework
        ├── FlutterPluginRegistrant.xcframework
        └── example_plugin.xcframework
  

Хост-приложения, использующие CocoaPods, могут добавлять Flutter в свой Podfile:

  pod 'Flutter',: podspec => 'some / path / MyApp / Flutter / [режим сборки] / Flutter.podspec '
  

Вставьте и свяжите созданный файл App.xcframework, FlutterPluginRegistrant.xcframework, и любые плагины в существующее приложение как описано в Варианте B.

Разрешения конфиденциальности локальной сети

На iOS 14 и выше включите многоадресный DNS Dart. сервис в отладочной версии вашего приложения для добавления функций отладки, таких как горячая перезагрузка и DevTools через флаттер прикрепите .

Предупреждение: Эта служба не должна быть включена в версии Release . версии вашего приложения, или вы можете столкнуться с отклонениями в App Store.

Один из способов сделать это — сохранить отдельную копию Info.plist вашего приложения в соответствии с конфигурация сборки. Следующие инструкции предполагают по умолчанию Debug и Release . При необходимости измените имена в зависимости от конфигурации сборки вашего приложения.

  1. Переименуйте свое приложение Info.plist в Info-Debug.plist . Сделайте копию под названием Info-Release.plist и добавьте ее в свой проект Xcode.

  2. В Info-Debug.plist только добавить ключ NSBonjourServices и установите значение в массив со строкой _dartobservatory._tcp . Примечание. Xcode отобразит это как «Службы Bonjour».

    При желании добавьте ключ NSLocalNetworkUsageDescription в свой желаемый настраиваемый текст диалогового окна разрешений.

  3. В настройках целевой сборки измените файл Info.plist ( INFOPLIST_FILE ) установка пути от путь / до / Info.plist от до путь / к / Info - $ (КОНФИГУРАЦИЯ) .plist .

    Это разрешит путь Info-Debug.plist в Debug и Info-Release.plist в версии .

    В качестве альтернативы вы можете явно указать путь Debug к Info-Debug.plist и путь Release к Info-Release.plist .

  4. Если Info-Release.Копия plist находится в настройках сборки целевой> Этапы сборки> Копировать пакет Фаза создания ресурсов, удалите ее.

    Первый экран Flutter, загруженный вашим приложением Debug, теперь будет запрашивать для разрешения локальной сети. Разрешение также можно разрешить, включив Настройки> Конфиденциальность> Локальная сеть> Ваше приложение .

Apple Silicon (

arm64 Mac)

Flutter еще не поддерживает симуляторы iOS arm64 .Чтобы запустить хост-приложение на Apple Silicon Mac, исключите arm64 из архитектур симулятора.

В целевом приложении хоста найдите параметр сборки Excluded Architectures ( EXCLUDED_ARCHS ). Щелкните значок индикатора раскрытия со стрелкой вправо, чтобы развернуть доступные конфигурации сборки. Наведите указатель мыши на Debug и щелкните значок плюса. Измените Any SDK на Any iOS Simulator SDK . Добавьте arm64 к значению настроек сборки.

Если все сделано правильно, Xcode добавит «EXCLUDED_ARCHS [sdk = iphonesimulator *]» = arm64; в файл project.pbxproj .

Повторите эти действия для любых целей модульного тестирования iOS.

Развитие

Теперь вы можете добавить экран Flutter к существующему приложению.

Carthage / Carthage: простой децентрализованный менеджер зависимостей для Какао

Carthage предназначен для простейшего способа добавления фреймворков в ваше приложение Какао.

Carthage создает ваши зависимости и предоставляет вам двоичные фреймворки, но вы сохраняете полный контроль над структурой и настройкой своего проекта. Carthage не изменяет автоматически файлы проекта или настройки сборки.

Быстрый старт

  1. Получите Carthage, запустив brew install carthage или выбрав другой метод установки

  2. Создайте файл корзины в том же каталоге, где находится ваш .xcodeproj или .xcworkspace — это

  3. Перечислите желаемые зависимости в Cartfile, например:

      github "Alamofire / Alamofire" ~> 4.7.2
      
  4. Запуск обновления carthage --use-xcframeworks

  5. Файл Cartfile.resolved и каталог Carthage появятся в том же каталоге, где ваш .xcodeproj или .xcworkspace — это

  6. Перетащите построенный .xcframework объединяет из Carthage / Build в раздел «Frameworks and Libraries» проекта Xcode вашего приложения.

  7. Если вы используете Carthage для приложения, выберите «Встроить и подписать», в противном случае — «Не встраивать».

Подробное руководство см. В разделе Добавление фреймворков в приложение

Установка Карфагена

Есть несколько вариантов установки Carthage:

  • Установщик: Загрузите и запустите Carthage.pkg для последней версии, затем следуйте инструкциям на экране. Если вы устанавливаете pkg через CLI, вам может потребоваться сначала запустить sudo chown -R $ (whoami) / usr / local .

  • Homebrew: Вы можете использовать Homebrew и установить инструмент carthage в своей системе, просто запустив brew update и brew install carthage . (примечание: если вы ранее устанавливали двоичную версию Carthage, вам следует удалить / Library / Frameworks / CarthageKit.каркас ).

  • MacPorts: Вы можете использовать MacPorts и установить инструмент carthage в своей системе, просто запустив sudo port selfupdate и sudo port install carthage . (примечание: если вы ранее установили двоичную версию Carthage, вам следует удалить /Library/Frameworks/CarthageKit.framework ).

  • Из источника: Если вы хотите запустить последнюю версию для разработки (которая может быть очень нестабильной или несовместимой), просто клонируйте основную ветку репозитория , затем запустите make install .Требуется Xcode 10.0 (Swift 4.2).

Добавление фреймворков в приложение

После того, как вы установили Carthage, вы можете начать добавлять фреймворки в свой проект. Обратите внимание, что Carthage поддерживает только динамические фреймворки, которые доступны только в iOS 8 или более поздней версии (или любой версии OS X).

Начало работы

Создание независимой от платформы XCFrameworks (Xcode 12 и выше)
  1. Создайте файл корзины, в котором перечислены фреймворки, которые вы хотите использовать в своем проекте.
  2. Запустить обновление carthage --use-xcframeworks . Это позволит получить зависимости в папку Carthage / Checkouts и построить каждую из них или загрузить предварительно скомпилированный XCFramework.
  3. На вкладке приложения Общие настройки в разделе Frameworks, Libraries и Embedded Content перетащите каждую XCFramework, которую вы хотите использовать, из папки Carthage / Build на диске.
Перенос проекта из пакетов фреймворка в XCFrameworks

Мы рекомендуем использовать XCFrameworks начиная с версии 0.37.0 (январь 2021 г.) и требует XCFrameworks при сборке на Apple Silicon Mac. Для перехода с дискретных пакетов фреймворка на XCFrameworks необходимо внести несколько изменений в ваш проект:

Шаги миграции
  1. Удалите папку Carthage / Build , чтобы удалить все существующие пакеты фреймворка.
  2. Создайте новый XCFrameworks, запустив carthage build --use-xcframeworks . Любые другие аргументы, которые вы используете, могут быть представлены как обычно.
  3. Удалите ссылки на старые фреймворки в каждой из ваших целей:
    • Удалите ссылки на платформы Carthage из целевого раздела Frameworks, Libraries и Embedded Content и / или его Link Binary with Libraries build phase.
    • Удалите ссылки на фреймворки Carthage из любых файлов копий .
    • Удалите целевую фазу сборки carthage copy-frameworks , если она есть.
  4. Добавьте ссылки на XCFrameworks в каждую из ваших целей:
    • Для целевого приложения: на вкладке Общие настройки в разделе Frameworks, Libraries and Embedded Content перетащите каждую XCFramework, которую вы используете, из папки Carthage / Build на диске.
    • Для целевой платформы: на вкладке Build Phases на этапе Link Binary with Libraries перетащите каждый XCFramework, который вы используете, из папки Carthage / Build на диске.
Создание пакетов фреймворка для конкретной платформы (по умолчанию для Xcode 11 и ниже)

Несовместимость с Xcode 12+ : многоархитектурные платформы не поддерживаются при создании пакетов фреймворка в Xcode 12 и выше. Предпочитайте сборку с XCFrameworks.Если вам нужно создать отдельные пакеты фреймворка, используйте файл xcconfig обходного пути.

Если вы разрабатываете для macOS
Инструкции для macOS
  1. Создайте файл корзины, в котором перечислены фреймворки, которые вы хотите использовать в своем проекте.
  2. Запустите обновление carthage - платформа macOS . Это позволит получить зависимости в папку Carthage / Checkouts и построить каждую из них или загрузить предварительно скомпилированный фреймворк.
  3. На вкладке настроек приложения General в разделе Embedded Binaries перетащите каждую платформу, которую вы хотите использовать, из папки Carthage / Build на диске.

Кроме того, вам необходимо скопировать символы отладки для отладки и отчетов о сбоях в OS X.

  1. На вкладке настроек цели Build Phases щелкните значок + и выберите New Copy Files Phase .
  2. Щелкните раскрывающееся меню Назначение и выберите Каталог продуктов .
  3. Для каждого используемого фреймворка перетащите соответствующий файл dSYM.
Если вы разрабатываете для iOS, tvOS или watchOS
Инструкции для конкретных платформ
  1. Создайте файл корзины, в котором перечислены фреймворки, которые вы хотите использовать в своем проекте.

  2. Запустить обновление carthage . Это позволит получить зависимости в папку Carthage / Checkouts, а затем построить каждую из них или загрузить предварительно скомпилированный фреймворк.

  3. Откройте вкладку настроек General вашего приложения. Для Xcode 11.0 и выше в разделе «Платформы, библиотеки и встроенное содержимое» перетащите каждую платформу, которую вы хотите использовать, из папки Carthage / Build на диске. Затем в разделе «Встраивание» выберите «Не встраивать» в раскрывающемся меню для каждого добавленного элемента.Для Xcode 10.x и ниже в разделе «Связанные платформы и библиотеки» перетащите каждую структуру, которую вы хотите использовать, из папки Carthage / Build на диске.

  4. На вкладке настроек приложения Build Phases щелкните значок + и выберите New Run Script Phase . Создайте сценарий выполнения, в котором вы указываете свою оболочку (например: / bin / sh ), добавьте следующее содержимое в область сценария под оболочкой:

     / usr / local / bin / carthage copy-frameworks 
  5. Создайте файл с именем input.xcfilelist и файл с именем output.xcfilelist

  6. Добавьте пути к фреймворкам, которые вы хотите использовать, в свой input.xcfilelist . Например:

      $ (SRCROOT) /Carthage/Build/iOS/Result.framework
    $ (SRCROOT) /Carthage/Build/iOS/ReactiveSwift.framework
    $ (SRCROOT) /Carthage/Build/iOS/ReactiveCocoa.framework
      
  7. Добавьте пути к скопированным фреймворкам в файл output.xcfilelist . Например:

      $ (BUILT_PRODUCTS_DIR) / $ (FRAMEWORKS_FOLDER_PATH) / Результат.фреймворк
    $ (BUILT_PRODUCTS_DIR) / $ (FRAMEWORKS_FOLDER_PATH) /ReactiveSwift.framework
    $ (BUILT_PRODUCTS_DIR) / $ (FRAMEWORKS_FOLDER_PATH) /ReactiveCocoa.framework
      

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

  8. Добавьте input.xcfilelist в раздел «Списки входных файлов» этапа сценария запуска Carthage

  9. Добавьте вывод .xcfilelist в раздел «Списки выходных файлов» этапа

    сценария запуска Carthage.

Этот сценарий работает с ошибкой отправки в App Store, вызванной универсальными двоичными файлами, и обеспечивает копирование необходимых файлов, связанных с битовым кодом, и dSYM при архивировании.

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

При архивировании вашего приложения для отправки в App Store или TestFlight Xcode также скопирует эти файлы в подкаталог dSYMs пакета .xcarchive вашего приложения.

Для всех платформ

По пути Карфаген создаст несколько артефактов. Самым важным из них является файл Cartfile.resolved, в котором перечислены версии, фактически созданные для каждого фреймворка. Обязательно зафиксируйте свой Cartfile.resolved , потому что всем, кто использует проект, этот файл понадобится для создания тех же версий фреймворка.

(Необязательно) Добавьте этап сборки, чтобы предупредить об устаревших зависимостях

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

  1. На вкладке настроек приложения Build Phases щелкните значок + и выберите New Run Script Phase . Создайте сценарий выполнения, в котором вы указываете свою оболочку (например: / bin / sh ), добавьте следующее содержимое в область сценария под оболочкой:
 / usr / local / bin / carthage outdated --xcode-warnings 2> / dev / null 
Совместимость загрузки двоичного фреймворка Swift

Carthage проверит, что загруженные фреймворки Swift (и смешанные Objective-C / Swift) были собраны с той же версией Swift, которая используется локально.Если есть несоответствие версий, Carthage продолжит сборку фреймворка из исходников. Если фреймворк не может быть построен из исходного кода, Carthage выйдет из строя.

Поскольку Carthage использует вывод команды xcrun swift --version для определения локальной версии Swift, обязательно запускайте команды Carthage с той цепочкой инструментов Swift, которую вы собираетесь использовать. Для многих случаев использования ничего дополнительного не требуется. Однако, например, если вы создаете проект Swift 2.3 с использованием Xcode 8.x, один из подходов к определению вашего swift по умолчанию для carthage bootstrap заключается в использовании следующей команды:

  ИНСТРУМЕНТЫ = ком.apple.dt.toolchain.Swift_2_3 загрузочный файл carthage
  

Запуск проекта, использующего Carthage

После того, как вы выполнили описанные выше шаги и разместили свои изменения, другим пользователям проекта нужно только загрузить репозиторий и запустить carthage bootstrap , чтобы начать работу с добавленными вами фреймворками.

Добавление фреймворков в модульные тесты или фреймворк

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

Поскольку в целевых объектах модульного тестирования отсутствует раздел Linked Frameworks и Libraries на вкладке настроек General , вместо этого вы должны перетащить построенные платформы на этап сборки Link Binaries With Libraries .

В тестовой цели на вкладке Build Settings добавьте @ loader_path / Frameworks к Runpath Search Paths , если он еще не присутствует.

В редких случаях вам может потребоваться скопировать каждую зависимость в продукт сборки (например, чтобы встроить зависимости во внешнюю структуру или убедиться, что зависимости присутствуют в тестовом пакете). Для этого создайте новую фазу сборки Copy Files с местом назначения Frameworks , а затем добавьте туда ссылку на платформу. Вы не должны использовать команду carthage copy-frameworks , поскольку тестовые пакеты не нуждаются в разделении фреймворков, а одновременный запуск экземпляров copy-frameworks (с включенными параллельными сборками) не поддерживается.

Модернизация фреймворков

Если вы изменили свой Cartfile или хотите обновиться до новейших версий каждого фреймворка (в соответствии с указанными вами требованиями), просто снова запустите команду carthage update .

Если вы хотите обновить только одну или определенные зависимости, передайте их в виде списка, разделенного пробелами, команде update . например

или

  Carthage update Box Результат
  
Экспериментальный резольвер

Переписана логика обновления фреймворков с целью увеличения скорости и уменьшения использования памяти.В настоящее время это дополнительная функция. Его можно использовать, передав --new-resolver команде обновления, например,

  обновление carthage - коробка нового резолвера
  

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

Вложенные зависимости

Если фреймворк, который вы хотите добавить в свой проект, имеет зависимости, явно перечисленные в Cartfile, Carthage автоматически получит их для вас. Затем вам нужно будет самостоятельно перетащить их в свой проект из папки Carthage / Build.

Если встроенная структура в вашем проекте имеет зависимости от других платформ, вы должны связать их с целью приложения (даже если цель приложения не зависит от этих структур и никогда их не использует).

Использование подмодулей для зависимостей

По умолчанию Carthage будет напрямую извлекать исходные файлы зависимостей в папку вашего проекта, позволяя вам фиксировать или игнорировать их по вашему выбору. Если вместо этого вы хотите, чтобы зависимости были доступны в виде подмодулей Git (возможно, чтобы вы могли фиксировать и отправлять изменения в них), вы можете запустить carthage update или carthage checkout с флагом --use-submodules .

При запуске таким образом Carthage будет записывать в файлы .gitmodules и .git / config вашего репозитория и автоматически обновлять подмодули при изменении версий зависимостей.

Автоматическое восстановление зависимостей

Если вы хотите работать со своими зависимостями во время разработки и хотите, чтобы они автоматически перестраивались при сборке родительского проекта, вы можете добавить этап сборки Run Script, который вызывает Carthage следующим образом:

 / usr / local / bin / carthage build --platform "$ PLATFORM_NAME" --project-directory "$ SRCROOT" 

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

Кэширование сборок

По умолчанию Carthage будет перестраивать зависимость независимо от того, имеет ли она ту же разрешенную версию, что и раньше. Передача --cache-builds заставит carthage избежать восстановления зависимости, если это возможно. См. Информацию о файлах версий для получения подробной информации о том, как Carthage выполняет это кеширование.

Примечание: в настоящее время --cache-builds несовместим с --use-submodules . Использование обоих приведет к неправильной перестройке рабочей копии и зафиксированных изменений в зависимости вашего подмодуля.См. # 1785 для подробностей.

Баш / Зш / Рыбная доработка

Автоматическое завершение команд и параметров Carthage доступно, как описано в Bash / Zsh / Fish Completion.

Поддержка Carthage для вашего фреймворка

Carthage официально поддерживает только динамические рамки . Динамические фреймворки можно использовать в любой версии OS X, но только в iOS 8 или более поздней версии . Кроме того, начиная с версии 0.30.0 Carthage поддерживает статических фреймворков .

Поскольку в Carthage нет централизованного списка пакетов и формата спецификации проекта, большинство фреймворков должны автоматически создавать .

Конкретные требования любого рамочного проекта перечислены ниже.

Поделитесь своими схемами Xcode

Carthage будет строить только схемы Xcode, которые используются совместно с вашим .xcodeproj . Вы можете убедиться, что все ваши намеченные схемы успешно построены, запустив carthage build --no-skip-current , а затем проверив папку Carthage / Build.

Если при запуске этой команды не создается важная схема, откройте Xcode и убедитесь, что схема помечена как Shared , чтобы Carthage мог ее обнаружить.

Устранение сбоев сборки

Если вы столкнулись с ошибками сборки в carthage build --no-skip-current , попробуйте запустить xcodebuild -scheme SCHEME -workspace WORKSPACE build или xcodebuild -scheme SCHEME -project PROJECT build (с фактическими значениями) и посмотрите если там произойдет такая же неисправность. Мы надеемся, что это даст достаточно информации для решения проблемы.

Если у вас установлено несколько версий инструментов разработчика Apple (например, бета-версия Xcode), используйте xcode-select , чтобы изменить версию, которую использует Carthage.

Если вы все еще не можете создать свой фреймворк с помощью Carthage, задайте вопрос, и мы будем рады помочь!

Стабильные выпуски тегов

Carthage определяет, какие версии вашей платформы доступны, путем поиска по тегам, опубликованным в репозитории, и попытки интерпретировать каждое имя тега как семантическую версию. Например, в теге v1.2 семантическая версия — 1.2.0.

Теги без номера версии или с любыми символами после номера версии (например,g., 1.2-alpha-1 ) в настоящее время не поддерживаются и будут проигнорированы.

Архивировать готовые фреймворки в zip-файлы

Carthage может автоматически использовать готовые фреймворки вместо создания с нуля, если они прикреплены к выпуску GitHub в репозитории вашего проекта или через двоичный файл определения проекта.

Чтобы предложить готовые каркасы для определенного тега, двоичные файлы для всех поддерживаемых платформ должны быть заархивированы вместе в один архив , и этот архив должен быть прикреплен к опубликованному выпуску, соответствующему этому тегу.Вложение должно содержать .framework в своем имени (например, ReactiveCocoa.framework.zip ), чтобы указать Carthage, что он содержит двоичные файлы. Структура каталогов архива произвольная, но фреймворки должны появляться в архиве только один раз, поскольку они будут скопированы. на Carthage / Build / на основе их имени (например, ReactiveCocoa.framework ).

Чтобы предложить готовый XCFrameworks, выполните сборку с --use-xcframeworks и выполните тот же процесс, чтобы заархивировать все XCFrameworks в один архив.Включите .xcframework в имя вложения. Начиная с версии 0.38.0, Carthage предпочитает загружать .xcframework вложений, если передано --use-xcframeworks .

Вы можете выполнить операцию архивирования с самим carthage, используя:

 -carthage build --no-skip-current
-картинка архива YourFrameworkName 

или, альтернативно,

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

Используйте travis-ci для загрузки помеченных готовых фреймворков

Можно использовать travis-ci для создания и загрузки помеченных релизов.

  1. Установить travis CLI с gem install travis

  2. Настройка travis-ci для вашего репозитория (шаги 1 и 2)

  3. Создайте файл .travis.yml в корне вашего репозитория на основе этого шаблона. Установите правильное значение для FRAMEWORK_NAME .

    Заменить PROJECT_PLACEHOLDER и SCHEME_PLACEHOLDER

    Если вы используете рабочее пространство вместо проекта удалите строку xcode_project и раскомментируйте строку xcode_workspace.

    Проект должен быть в формате: MyProject.xcodeproj

    Рабочее пространство должно быть в формате: MyWorkspace.xcworkspace

    Не стесняйтесь обновить значение xcode_sdk до другого SDK, обратите внимание, что для тестирования на iphoneos SDK вам потребуется загрузить идентификатор подписи кода

    Для получения дополнительной информации посетите travis docs для проектов objective-c

     язык: objective-c
    osx_image: xcode7.3
    xcode_project: 
    # xcode_workspace: 
    xcode_scheme: 
    xcode_sdk: iphonesimulator9.3
    env:
      Глобальный:
        - FRAMEWORK_NAME = 
    before_install:
      - заварить обновление
      - варить устаревший патрон || варить апгрейд карфаген
    before_script:
      # загружаем зависимости для проекта
      # вы можете удалить, если у вас нет зависимостей
      - бутстрап carthage
    before_deploy:
      - сборка карфагена - no-skip-current
      - архив carthage $ FRAMEWORK_NAME 
  4. Запустите Travis Setup Release , следуйте документации здесь

    Эта команда закодирует ваши учетные данные GitHub в файл .файл travis.yml , чтобы позволить Трэвису загрузить релиз на GitHub.com Когда будет предложено загрузить файл, введите $ FRAMEWORK_NAME.framework.zip

    .
  5. Обновите раздел развертывания для работы с тегами:

    В .travis.yml найдите:

    И добавьте теги : true и skip_cleanup: true :

     skip_cleanup: true
    на:
      репо: репо / репо
      Теги: правда 

    Это позволит Трэвису знать, что нужно создать развертывание, когда будет добавлен новый тег, и не позволит Трэвису очистить сгенерированный zip-файл.

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

Если вы встраиваете в свое приложение много динамических фреймворков, время его предварительного запуска может быть довольно медленным.Carthage может помочь смягчить это, создав вместо этого ваши динамические фреймворки как статические. Статические фреймворки можно напрямую связать с вашим приложением или объединить в более крупный динамический фреймворк с несколькими простыми модификациями рабочего процесса, что может привести к значительному сокращению времени предварительного запуска.

Carthage 0.30.0 или выше

Начиная с версии 0.30.0 проект Carthage развертывает поддержку статически связанных фреймворков, написанных на Swift или Objective-C, поддержка которых была введена в Xcode 9.4. Обратите внимание, однако, что в нем конкретно говорится о фреймворках , поэтому Darwin связывает с расширением .framework и статически связанными архивами объектов внутри. Carthage в настоящее время не поддерживает статические схемы библиотеки и не планирует вводить их поддержку в будущем.

Рабочий процесс практически не отличается:

  • Вам все равно нужно отметить схемы вашего проекта, совместимые с Carthage, как общий в Продукт> Схема> Управление схемами… , как и с динамическими двоичными файлами
  • Вам по-прежнему необходимо связать статический .frameworks в Build Phases вашего проекта так же, как с динамическими двоичными файлами

Однако:

  • В вашем проекте, совместимом с Carthage, в качестве цели Cocoa Framework Build Settings , Linking section установите Mach-O Type на Static Library
  • Ваши статически связанные фреймворки будут построены на ./ Carthage / Build / $ (PLATFORM_NAME) / Static
  • Вы не должны добавлять какие-либо статические фреймворки в качестве файлов ввода / вывода в carthage copy-frameworks Build Phase
Карфаген 0,29,0 или ниже

Подробности см. В документации StaticFrameworks.

Обратите внимание, что к этому подходу следует сделать несколько предостережений:

  • Статические фреймворки Swift официально не поддерживаются Apple
  • Это расширенный рабочий процесс, который не встроен в Carthage, YMMV

Заявите о своей совместимости

Хотите рекламировать, что ваш проект можно использовать с Carthage? Вы можете добавить значок совместимости:

… в свой README , просто вставив следующую Markdown:

 [! [Совместимость с Карфагеном] (https: // img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat) безусловно (https://github.com/Carthage/Carthage) 

Известные проблемы

Проблема символа DWARF

Предварительно созданная структура не может быть отлажена с использованием пошагового выполнения на другом компьютере, кроме того, на котором была построена платформа. Просто carthage bootstrap / build / update --no-use-binaries должен исправить это, но для более автоматизированного обходного пути см. # 924. Dupe rdar: // 23551273, если вы хотите, чтобы Apple устранила основную причину этой проблемы.

CarthageKit

Большая часть функциональных возможностей инструмента командной строки carthage фактически инкапсулирована во фреймворке под названием CarthageKit.

Если вы заинтересованы в использовании Carthage как части другого инструмента или, возможно, в расширении функциональности Carthage, взгляните на исходный код CarthageKit, чтобы узнать, соответствует ли API вашим потребностям.

Различия между Carthage и CocoaPods

CocoaPods — это давний менеджер зависимостей для Какао.Так зачем был создан Карфаген?

Во-первых, CocoaPods (по умолчанию) автоматически создает и обновляет рабочее пространство Xcode для вашего приложения и всех зависимостей. Carthage создает двоичные файлы фреймворка, используя xcodebuild , но оставляет ответственность за их интеграцию пользователю. Подход CocoaPods проще в использовании, а подход Carthage гибкий и ненавязчивый.

Цель CocoaPods указана в README следующим образом:

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

В отличие от этого, Carthage был создан как децентрализованный менеджер зависимостей . Нет централизованного списка проектов, что сокращает объем работ по техническому обслуживанию и позволяет избежать возникновения центральной точки отказа. Однако найти проект сложнее — пользователи должны прибегать к страницам «Тенденции» GitHub или другим подобным материалам.

Проекты CocoaPods также должны иметь так называемый файл podspec, который включает метаданные о проекте и определяет, как он должен быть построен. Carthage использует xcodebuild для построения зависимостей, вместо того, чтобы интегрировать их в единую рабочую область, у него нет аналогичного файла спецификации, но ваши зависимости должны включать собственный проект Xcode, который описывает, как создавать свои продукты.

В конечном итоге мы создали Carthage, потому что нам нужен был простейший инструмент — диспетчер зависимостей, который выполняет свою работу, не принимая на себя ответственность Xcode и не создавая дополнительной работы для авторов фреймворка. CocoaPods предлагает множество удивительных функций, которых у Carthage никогда не будет, за счет дополнительной сложности.

Лицензия

Carthage выпущен под лицензией MIT.

Фотография фона заголовка выпущена под лицензией CC BY-NC-SA 2.0 лицензия. Оригинальное фото Ричарда Мортеля.

macos — Как установить фреймворк (из файла pkg) в нестандартное место?

Вкратце мой вопрос такой:

Как я могу установить фреймворк из файла & ast; .pkg где-нибудь, кроме / Library / Frameworks (или / System / Library / Frameworks )?


Фон

Я хочу установить версию Python 2.7.3, который находится под $ HOME / Library / Frameworks / Python.framework и $ HOME / python .

Моя цель здесь — получить версию Python, максимально независимую от Python, поставляемого с OS X Lion. В частности, я хочу иметь установку Python, которая, насколько это возможно, не подвергалась бы изменению «за моей спиной» обновлениями системы или другими обновлениями программного обеспечения. Вот почему я хочу, чтобы эта установка была как можно более чистой от «стандартных» для них мест.

Среди проблем, которых я пытаюсь избежать, это ошибочная структура Tk, которая поставляется с последними версиями OS X.

Следовательно, ключевой подцелью здесь является установка новых фреймворков Tcl и Tk, отдельно от поставляемых системой. Те, которые я хочу установить, поступают из ActiveState («Mac OS X (10.5+, x86_64 / x86)») в виде файла * .pkg.

Когда я нажимаю на этот файл, я получаю обычную последовательность шагов, подобную «мастеру» («Введение», «Лицензия» и т. Д.). Ни в какой момент во время этой последовательности мне не предлагается возможность выбрать другое место для установки этих фреймворков, прежде чем я выберу кнопку УСТАНОВИТЬ . 1

Я подозреваю, что если я нажму на эту кнопку, установленные файлы попадут в папку / Library / Frameworks (или, возможно, в папку / System / Library / Frameworks ), чего я пытаюсь избежать. (Действительно, когда я нажимаю УСТАНОВИТЬ , мне сразу же открывается диалоговое окно ввода пароля, что является довольно хорошим признаком того, что установка поместит файлы где-то в / Библиотека или / Система .)

Поэтому я ищу альтернативный способ выполнить эту установку, который позволит мне явно указать папку назначения для установленных файлов.

1 Да, установщик позволяет мне выбрать другой том для установки, но не позволяет мне указать, например, $ HOME / Library / Frameworks в качестве места назначения для установленных файлов.

Как установить .NET Framework 3.5 на Windows Server 2016 и новее

Многие приложения требуют.NET Framework 3.5, установленной на вашем Windows Server 2016 и более поздних версиях. По умолчанию .NET Framework 3.5 не устанавливается в этих операционных системах и должен быть установлен вручную администратором. Вы можете установить .NET Framework 3.5 также на Windows Server 2022, выполнив действия, описанные в этом сообщении блога.

Существует несколько способов установить компонент .NET Framework 3.5 в Windows Server 2016 и более поздних версиях:

  • С помощью мастера « Добавить роли и компоненты » в Windows Server Manager
  • С помощью PowerShell
  • С помощью инструмента DISM
  • С помощью параметра групповой политики по запросу

В этом сообщении блога я остановлюсь только на двух из них: установке с помощью Windows Server Manager и установке с помощью Windows PowerShell.

Если вы используете Windows 10, Windows Server 2016 или Windows Server 2019, Microsoft рекомендует установить .NET Framework 3.5 через панель управления или методами, перечисленными выше.

Дополнительную информацию об этой установке можно найти в официальной документации, опубликованной Microsoft: Microsoft .NET Framework 3.5 «Вопросы развертывания».

Чтобы установить .NET Framework в вашей системе под управлением Windows Server 2016 и более поздних версий, вам понадобится установочный носитель Windows Server, который использовался для установки сервера.В этом сообщении в блоге нам понадобится содержимое подпапки [ISO]: \ Sources \ SxS на установочном носителе.

Если вы используете установочный ISO-образ Windows Server, вы можете просто смонтировать ISO-файл на своем сервере или извлечь содержимое [ISO]: \ Sources \ SxS в локальный каталог, например D: \ Sources \ SxS . Чтобы смонтировать файл ISO с помощью проводника Windows, просто выберите Mount в контекстном меню файла ISO:

Смонтируйте файл ISO с помощью проводника Windows

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

Сначала вы должны открыть диспетчер сервера в системе, в которой вы хотите установить .NET Framework 3.5.

  1. В диспетчере сервера откройте мастер добавления ролей и компонентов, щелкнув Управление -> Добавить роли и компоненты .
  2. Перейдите к Тип установки и выберите Ролевую или функциональную установку .
  3. Убедитесь, что вы выбрали правильный сервер на шаге Выбор сервера .
  4. Перейдите к шагу Выберите компоненты и выберите (Под) компонент .NET Framework 3.5 (включает .NET 2.0 и 3.0) .
  5. На шаге «Подтверждение » необходимо указать альтернативный исходный путь. В нижней части экрана Подтвердить выбор установки щелкните Укажите альтернативный путь к источнику . В новом диалоговом окне Укажите альтернативный путь к источнику введите путь к [ISO]: \ Sources \ SxS на установочном носителе или в локальном каталоге, в который вы скопировали файлы.В этом примере файлы были скопированы в D: \ Sources \ SxS . Закройте диалоговое окно, нажав ОК, и начните установку компонента, щелкнув Установить на экране Подтвердить выбор установки .

Выберите тип установки

Выберите целевой сервер

Выберите функцию «.NET Framework 3.5 (включает .NET 2.0 и 3.0)».

Укажите альтернативный путь к источнику

Укажите альтернативный путь к источнику

Следующие команды должны выполняться в PowerShell, запущенном от имени администратора.

Вы можете проверить, установлена ​​ли уже .NET Framework 3.5, выполнив следующую команду PowerShell:

 PS> Get-WindowsFeature -Name "NET-Framework-Core" 

Если .NET Framework 3.5 не установлен, вы получите следующий результат:

 Отображаемое имя Имя Состояние установки

------------ ---- -------------

[].NET Framework 3.5 (включает .NET 2.0 и 3.0) NET-Framework-Core удалено
 

Чтобы установить компонент .NET Framework 3.5 Windows, необходимо выполнить следующую команду:

 PS> Install-WindowsFeature -Name "NET-Framework-Core" -Source "D: \ Sources \ SxS" 

После завершения команды вы получите следующий результат:

 Успешный перезапуск необходим код выхода Результат функции

------- -------------- --------- --------------

True No Success {.NET Framework 3.5 (включает .NET 2.0 и ... 

Если вы снова запустите следующую команду, в столбце Состояние установки должно отображаться Установлено для .NET Framework 3.5 (включает .NET 2.0 и 3.0) :

 PS> Get-WindowsFeature -Name "NET-Framework-Core"

Отображаемое имя Имя Состояние установки

------------ ---- -------------

[ИКС] .NET Framework 3.5 (включает .NET 2.0 и 3.0) NET-Framework-Core Установлено 

Некоторые конфигурации системы несовместимы с описанными в этом сообщении в блоге вариантами установки и приводят к странным ошибкам.

Например, мы наблюдали такие проблемы в системах, которые были обновлены с Windows Server 2008 (R2) до Windows Server 2012 (R2) до Windows Server 2016 и Windows Server 2019 с помощью обновления Windows на месте.

Чтобы получить установку.NET Framework 3.5, работающую на таких системах, мы рекомендуем дополнительно изучить информацию в Интернете или обратиться в службу поддержки Microsoft.

Тем не менее, в этом случае вы можете попробовать установить .NET Framework 3.5 с помощью автономного установщика, предоставляемого Microsoft.

В этом сообщении блога описываются два способа установки компонента .NET Framework 3.5 в Windows Server 2016 и более поздних версиях. Эти два способа должны работать на большинстве ваших серверов.

Однако есть некоторые конфигурации системы, которые нарушают описанные варианты установки и требуют ручной работы, чтобы установка работала.В этом сообщении блога не предлагаются решения для этих систем!

Установка

для разработки с помощью Cast Application Framework (CAF) для iOS

Фреймворк Cast поддерживает iOS 10 и новее и входит в обе версии. статические и динамические рамки.

См. API Google Cast для iOS Ссылка для описания всех классов и методов.

Обратите внимание, что устройства Cast нового поколения поддерживают гостевой режим для iOS, но более старые устройств поколения нет. Подробнее см. Гостевой режим — Поддерживаемые устройства Cast.

Настройка Xcode

iOS 14

iOS 14 Предупреждение : изменения в iOS 14 разрешения доступа к локальной сети повлияли на SDK Google Cast для iOS в номер способов. Пожалуйста, посмотрите iOS 14 Изменения документ, чтобы узнать, как это повлияет на ваше приложение.
  1. Добавьте Cast iOS SDK 4.6.0 в свой проект

    Если вы используете Cocoapods, используйте pod update , чтобы добавить 4.6.0 SDK в ваш проект.

    В противном случае втяните SDK вручную.

    Примечание : если вы создали настраиваемое средство выбора устройств в своем app, то вам нужно будет явно вызвать метод startDiscovery на Класс GCKDiscoveryManager для запуска обнаружения устройства. Автоматическое сканирование был отключен по умолчанию, начиная с версии v4.Версия 5.0 пакета SDK для Cast.
  2. Добавьте NSBonjourServices в свой Info.plist

    Укажите NSBonjourServices в своем Info.plist , чтобы разрешить локальную сеть открытие для успеха на iOS 14.

    Вам нужно будет добавить как _googlecast._tcp , так и _ ._googlecast._tcp как службы для обнаружения устройств для работы должным образом.

    AppID — это ваш ReceiverID, который является тем же идентификатором, который определен в вашем GCKDiscoveryCriteria .

    Обновите следующий пример определения NSBonjourServices и замените «ABCD1234» с вашим appID.

     NSBonjourServices 
    <массив>
       _googlecast._tcp 
       _ABCD1234._googlecast._tcp 
     
  3. Добавьте NSLocalNetworkUsageDescription в свой Info.plist

    Мы настоятельно рекомендуем вам настроить сообщение, отображаемое в приглашении локальной сети, с помощью добавление строки разрешения для конкретного приложения в Info вашего приложения.файл plist для NSLocalNetworkUsageDescription , например, для описания обнаружения Cast и других службы обнаружения, такие как DIAL.

     NSLocalNetworkUsageDescription 
     $ {PRODUCT_NAME} использует локальную сеть для обнаружения устройств с поддержкой Cast в вашей сети Wi-Fi.
    сеть.  

    Это сообщение появится как часть диалогового окна «Доступ к локальной сети iOS», как показано в макете.

  4. Перепубликуйте свое приложение в Apple App Store

    Мы рекомендуем вам также перевыпустить ваше приложение, используя 4.6.0 как можно скорее.

iOS 13

iOS 13 Предупреждение : Apple изменения разрешений для iOS 13 и Xcode 11 повлияли на Google Cast iOS SDK несколькими способами. Пожалуйста, посмотрите Изменения в iOS 13 документ, чтобы увидеть, как это повлияет на ваше приложение.

iOS 12

iOS 12 Предупреждение : При разработке с использованием Xcode 10 и таргетингом на устройства iOS под управлением iOS 12 или более поздней версии, «Доступ Информация о Wi-Fi «требуется для обнаружения и подключения к Транслируйте устройства.

Убедитесь, что коммутатор Access WiFi Information в Capabilities раздел цели установлен на «Вкл.».

Кроме того, ваш профиль подготовки должен поддерживать Доступ к информации Wi-Fi возможность. Это можно добавить в Портал разработчиков Apple.

Настройка CocoaPods

Рекомендуемый способ интеграции Google Cast — использование google-cast-sdk CocoaPods или google-cast-sdk-no-bluetooth CocoaPods, если вашему приложению не требуется гостевой режим или вы не хотите требовать Bluetooth® разрешение.

Для начала следуйте руководство по началу работы.

После настройки CocoaPods следуйте используя руководство по CocoaPods чтобы создать ваш Podfile и подготовить проект к использованию с Google Cast SDK.

Вот пример google-cast-sdk Cocoapod в Podfile:

  use_frameworks!

платформа: iOS, '10 .0 '

def target_pods
  pod 'google-cast-sdk'
конец

цель 'CastVideos-objc' сделать
  target_pods
конец
target 'CastVideos-swift' делать
  target_pods
конец
  

Вот пример google-cast-sdk-no-bluetooth Cocoapod в Podfile:

  use_frameworks!

платформа: iOS, '10.0 '

def target_pods
  pod 'google-cast-sdk-no-bluetooth'
конец

цель 'CastVideos-objc' сделать
  target_pods
конец
target 'CastVideos-swift' делать
  target_pods
конец
  

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

В этом примере версия 4.6.0 и версии до Разрешены 5.0, не включая 5.0 и выше:

  pod 'google-cast-sdk', '~> 4.6.0'
  

Ручная настройка

Следующие инструкции предназначены для добавления фреймворка в проект вручную.

Примечание: Если вы вручную добавляете статический фреймворк в свой проект, вы должны установите зависимость библиотеки Protobuf, следуя инструкциям на Репозиторий Protobuf GitHub.В этом нет необходимости при использовании динамической структуры.

v3.13 — это минимальная версия библиотеки Protobuf для iOS SDK.

Библиотеки без гостевого режима были предоставлены для ситуаций если вашему приложению не требуется эта функция или вы не хотите требовать разрешения Bluetooth®, которые были представлены в iOS 13. См. iOS 13 Изменяет документ для получения дополнительной информации.

Загрузите библиотеки Cast 4.6.0 iOS Sender API:

Статический с гостевым режимом Статический без гостевого режима

Динамический с гостевым режимом Динамический без гостевого режима

Ключевой момент: Начиная с версии 4.3.1, CocoaPods использует статические библиотеки, чтобы избежать предупреждений о повторяющихся символах, вызванных зависимостью общей библиотеки Protobuf, когда используя SDK Firebase и Cast вместе. Хотя это изменение приведет к увеличению загрузки, окончательный размер приложения не увеличится.

Если разница в размере вызывает беспокойство в вашей ситуации, загрузите динамическую библиотеку, чтобы получить размер аналогично версиям библиотеки CocoaPods до 4.3.1.

В вашем проекте Xcode установите Other Linker Flags в Build Settings на: -ObjC -lc ++ .

В свой проект Xcode добавьте следующие библиотеки фреймворка (связанные, а не встроенный):

  • Accelerate.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreBluetooth.framework
  • CoreData.framework
  • CoreGraphics.framework
  • CoreMedia.framework
  • CoreText.фреймворк
  • Foundation.framework
  • GoogleCast.framework
  • MediaAccessibility.framework
  • MediaPlayer.framework
  • QuartzCore.framework
  • Security.framework
  • SystemConfiguration.framework
  • UIKit.framework

Библиотеки отображаются в вашем проекте следующим образом:

Затем добавьте GoogleCast.фреймворк для встроенных двоичных файлов вкладки Общие в настройках цели. Не удаляйте GoogleCast.framework из раздела Linked Frameworks and Libraries ; он тоже должен быть там.

Убедитесь, что параметр Runpath Search Paths в настройках сборки в настройках проекта установлено значение «@ исполняемый_путь / Frameworks».

Убедитесь, что настройки в разделе Embed Frameworks раздела Build Phases перечисляет GoogleCast.фреймворк.

Настройка Mac Catalyst

Для приложений, поддерживающих Mac Catalyst, используйте динамическую библиотеку Cast SDK. Следуйте инструкциям по настройке вручную, чтобы добавить фреймворк в свой проект. потом условно исключить Cast SDK из целевой системы Mac, как указано в Документация Apple. Статические библиотеки предварительно скомпилированы для архитектуры iOS, что вызывает ошибку компоновщика при сборке с целью Mac.

Публикация приложения в App Store

Перед публикацией приложения в App Store необходимо запустить сценарий оболочки. strip_unused_archs.sh , чтобы удалить неиспользуемые архитектуры из пакета приложений. Этот скрипт входит в состав Cast SDK для iOS.

.