Я должен признать, что с выпуском iOS 8 я немного запутался по поводу динамических и статических фреймворков в iOS.
Я ищу способ распространения созданной мной библиотеки, и мне нужно поддерживать iOS 7 и выше. (Примечание: это будет частная структура. Я не могу использовать cocoa-стручки и не могу распространять источник). Вот что я уже знаю:
- iOS 8 представила "встроенные фреймворки" для iOS, но, как я понимаю, они не работают для iOS 7, только для iOS 8 и выше.
- У меня есть возможность распространять мою библиотеку как статическую библиотеку (файл .a), а также распределять заголовки. Я знаю, что это обычный способ справиться с ситуацией, но я хотел бы найти что-то более простое, чем это (а также связать с ним некоторые ресурсы, если это возможно).
- Я также обнаружил, что iOS 7 не поддерживает динамические библиотеки .framework (только статические), поскольку не поддерживает динамическое связывание. Но iOS 8, так же как и статические ссылки.
И вот мои вопросы относительно этой информации:
- Я увидел, что могу создать цель .framework и сделать ее статической, изменив тип Mach-O на "статическую библиотеку". Этого будет достаточно для поддержки iOS 7 без проблем, а также для распространения моей библиотеки как .framework bundle? Если так, почему "встроенные фреймворки" в iOS 8 так важны, как предлагают многие ресурсы в Интернете? Я что-то упустил?
- Необходимо ли кодировать .framework так же, как я делаю это с любым другим приложением, которое я создаю?
- Что, если мне нужно включить другие ресурсы (такие как Core Data или Images) в мой файл .framework? Нужно ли для этого создать отдельный файл .bundle?