Iphone - Створіть статичну бібліотеку жиру (симулятор пристрою) за допомогою Xcode та SDK 4 - Переповнення стека
Здається, ми можемо - теоретично - створити єдину статичну бібліотеку, яка включає як симулятор, так і iPhone та iPad.
Однак Apple не має жодної документації з цього приводу, яку я можу знайти, і шаблони Xcode за замовчуванням НЕ налаштовані для цього.
Я шукаю просту, портативну, повторно використовувану техніку, яку можна зробити всередині Xcode.
- У 2008 році ми мали змогу створювати одинарні статичні бібліотеки, які включали як sim, так і пристрій. Apple вимкнула це.
- Протягом 2009 року ми створили пари статичних бібліотек - одну для sim, одну для пристрою. Apple відключила і це.
Це чудова ідея, це чудовий підхід, але він не працює: http://www.drobnik.com/touch/2010/04/universal-static-libraries/
- У його сценарії є деякі помилки, що означає, що це працює лише на його машині - він повинен використовувати BUILT_PRODUCTS_DIR та/або BUILD_DIR замість того, щоб "вгадувати" їх)
- Останній Xcode від Apple заважає робити те, що він робив - він просто не працюватиме через (документовану) зміну способу обробки цілей Xcode)
Інший запитувач SO запитав, як це зробити БЕЗ xcode та з відповідями, які зосереджувались на частині arm6 проти arm7 - але ігнорував частину i386: Як скомпілювати статичну бібліотеку (жир) для armv6, armv7 та i386
- Оскільки останні зміни Apple, частина Simulator вже не така, як різниця arm6/arm7 - це інша проблема, див. Вище)

10 відповідей 10
Просте копіювання/вставлення останньої версії (але інструкції з встановлення можуть змінитися - див. Нижче!)
Бібліотека Карла вимагає набагато більше зусиль для налаштування, але набагато приємніше довгострокове рішення (вона перетворює вашу бібліотеку у фреймворк).
Використовуйте це, а потім налаштуйте його, щоб додати підтримку для збірок архіву - c.f. Коментар @ Frederik нижче про зміни, які він використовує, щоб зробити цю роботу приємно в режимі архіву.
НОВІ ЗМІНИ: 1. Додана підтримка iOS 10.x (при збереженні підтримки для старих платформ)
Інформація про те, як використовувати цей скрипт із вбудованим в проект іншим проектом (хоча я настійно рекомендую цього НЕ робити - коли-небудь - Apple має кілька помилок шоу-пробок у Xcode, якщо ви вбудовуєте проекти один в одного, з Xcode 3.x до Xcode 4.6.x)
Бонусний сценарій, який дозволяє автоматично включати набори (тобто включати файли PNG, файли PLIST тощо з вашої бібліотеки!) - див. Нижче (прокрутіть унизу)