Деніел Кеннет - Видалення небажаних архітектур з динамічних бібліотек у Xcode

Розробник какао, будівельник Lego, власник моделі залізниці.

iKenndac щодо більшості послуг, про які ви хотіли б згадати.

8 лютого 2015 року

Видалення небажаних архітектур із динамічних бібліотек у Xcode

З моменту анонсу iOS 8 розробники змогли скористатися перевагами динамічних бібліотек для розробки iOS.

Для загального розвитку чудово мати єдину динамічну бібліотеку для всіх необхідних архітектур, щоб ви могли працювати на всіх своїх пристроях та iOS Simulator, не змінюючи нічого.

У своєму проекті та його різноманітних розширеннях я використовую Reactive Cocoa і маю його у своєму проекті як попередньо скомпільовану динамічну бібліотеку зі зрізами i386 та x86_64 для симулятора та armv7 та arm64 для пристроїв.

Однак у цього підходу є один недолік - оскільки вони пов’язані під час виконання, коли динамічна бібліотека компілюється окремо від програми, в якій вона потрапляє, неможливо визначити, які архітектури насправді будуть потрібні. Таким чином, Xcode просто копіює все це у ваш пакет додатків під час компіляції. Окрім втраченого простору на диску, теоретично цього немає реального недоліку. Однак на практиці iTunes Connect не любить, як ми додаємо невикористані двійкові фрагменти:

деніел

Отже, як нам обійти це?

Натомість ми могли б використовувати статичні бібліотеки. Однак з кількома цілями та розширеннями в моєму проекті здається безглуздим роздувати всі мої виконувані файли копіями одних і тих же бібліотек.