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