За допомогою Xcode 6 ми отримуємо можливість створювати власні Dynamic Cocoa Frameworks
.
Тому що:
Симулятор досі користується
32-bit
бібліотекою-
Починаючи з 1 червня 2015 року оновлення додатків, що надсилаються в App Store, повинні включати 64-бітну підтримку та створювати її за допомогою iK 8 SDK ( developer.apple.com )
Ми повинні створити жирову бібліотеку для запуску проекту на пристроях та тренажерах. тобто підтримують як 32, так і 64 біт у Frameworks.
Але я не знайшов ніяких посібників, як експортувати універсальний жировий фреймворк для подальшої інтеграції з іншими проектами (і ділитися цією бібліотекою з кимось).
Ось мої кроки до відтворення:
Встановити
ONLY_ACTIVE_ARCH=NO
вBuild Settings
Додати підтримку
armv7 armv7s arm64 i386 x86_64
вArchitectures
(обов'язково)
- Створіть Framework і відкрийте його в Finder:
- Додайте цю рамку до іншого проекту
Фактичний результат:
Але врешті-решт у мене все ще виникає проблема із запуском проекту з цією рамкою на пристроях та симуляторі.
якщо я беру фреймворк з
Debug-iphoneos
папки - він працює на пристроях і отримує помилку на тренажерах:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
Архітектури файлу жиру: CoreActionSheetPicker: armv7 armv7s arm64
якщо я беру фреймворк з
Debug-iphonesimulator
папки - він працює на тренажерах. і у мене є помилка на пристрої:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
Архітектури файлу жиру: CoreActionSheetPicker: i386 x86_64
Отже, як створити динамічну рамку, яка працює на пристроях та тренажерах?
Ця відповідь стосувалася Xcode 6 iOS Створення фреймворку Cocoa Touch - проблеми з архітектурою, але це не дублікат.
Оновлення:
Я знайшов "брудний злом" для цієї справи. Дивіться мою відповідь нижче . Якщо хтось знає більш зручний спосіб - будь ласка, дайте мені знати!