iOS9, биткод в корпоративном приложении

Пожалуйста подтвердите:

Биткод — это промежуточное представление скомпилированной программы. Приложения, которые вы загружаете в iTunes Connect и которые содержат биткод, будут скомпилированы и связаны в App Store.

Из Биткод (iOS, watchOS).

Именно App Store компилирует и связывает приложения, так как насчет корпоративного приложения?

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

Это нормально для корпоративного приложения с включенным Bitcode? Если да, то кто будет отвечать за компиляцию и компоновку?


person Itachi    schedule 10.10.2015    source источник
comment
Итачи, я также столкнулся с этой проблемой, связанной с распространением корпоративных приложений.   -  person Siddh    schedule 20.12.2017
comment
Вы нашли какое-либо решение для этого   -  person Siddh    schedule 20.12.2017
comment
@Siddh Я рекомендую вам отключить функцию битового кода для корпоративного приложения.   -  person Itachi    schedule 20.12.2017
comment
Размер приложения слишком велик, а также истончение приложения с сервером Xcode не может применить то же самое на моем собственном сервере, на который я загружаю этот файл IPA.   -  person Siddh    schedule 20.12.2017


Ответы (1)


Совершенно нормально, если ваше приложение содержит биткод, даже если вы не распространяете его через AppStore, однако приложение становится больше — оно содержит фрагменты с объектным кодом и биткодом для каждой архитектуры ЦП (подробнее об этом тему можно найти здесь: Демистификация биткода).

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

Если вы все еще хотите достичь этой цели (меньший размер приложения), то вы можете эмулировать App Thinning самостоятельно: создайте несколько версий вашего приложения — по одной для каждой архитектуры ЦП, загрузите на свой сервер и поставьте какой-нибудь умный сервис перед сервер, который проверит устройство пользователя (через User-Agent) и перенаправит на правильный бинарник.

Я не пробовал этот вариант, но он должен работать, единственная дополнительная вещь, которая вам нужна, - таблица/сопоставление между версией устройства и процессором.

person AlexDenisov    schedule 24.10.2015