Tenho que admitir que, com o lançamento do iOS 8, estou um pouco confuso sobre os frameworks dinâmicos e estáticos no iOS.
Estou procurando uma maneira de distribuir uma biblioteca que criei e preciso oferecer suporte ao iOS 7 e superior. (Observação: esta será uma estrutura proprietária. Não posso usar cápsulas de cacau e também não posso distribuir a fonte). Aqui está o que eu já sei:
- O iOS 8 introduziu "estruturas incorporadas" para iOS, mas, pelo que entendi, elas não funcionam para iOS 7, apenas para iOS 8 e superior.
- Tenho a opção de distribuir minha biblioteca como uma biblioteca estática (arquivo .a) e também distribuir os cabeçalhos. Sei que essa é uma maneira comum de lidar com a situação, mas gostaria de encontrar algo mais simples do que isso (e também agrupar alguns recursos com isso, se possível).
- Também descobri que o iOS 7 não oferece suporte a bibliotecas .framework dinâmicas (apenas estáticas) porque não oferece suporte a links dinâmicos. Mas o iOS 8 sim, assim como links estáticos.
E aqui estão minhas perguntas sobre essas informações:
- Eu vi que posso criar um alvo .framework, e torná-lo estático, mudando o tipo Mach-O para "biblioteca estática. Isso seria o suficiente para suportar iOS 7 sem problemas, e também para distribuir minha biblioteca como um Pacote .framework? Em caso afirmativo, por que os "frameworks incorporados" no iOS 8 são tão importantes, como muitos recursos na internet estão sugerindo? Estou perdendo alguma coisa?
- É necessário codificar o .framework da mesma forma que faço com qualquer outro aplicativo que eu fizer?
- E se eu precisar incluir outros recursos (como Core Data ou Images) com meu arquivo .framework? Vou precisar fazer um arquivo .bundle separado para isso?