Muszę przyznać, że wraz z wydaniem iOS 8 jestem trochę zdezorientowany co do dynamicznych i statycznych frameworków w iOS.
Szukam sposobu na dystrybucję utworzonej przeze mnie biblioteki i potrzebuję obsługi systemu iOS 7 i nowszych. (Uwaga: to będzie zastrzeżona struktura. Nie mogę używać strąków kakao, a także nie mogę rozpowszechniać źródła). Oto co już wiem:
- iOS 8 wprowadził „embedded frameworks” na iOS, ale, jak rozumiem, nie działają one na iOS 7, tylko na iOS 8 i nowsze.
- Mam możliwość dystrybucji mojej biblioteki jako biblioteki statycznej (plik .a), a także rozpowszechniania nagłówków. Wiem, że jest to powszechny sposób radzenia sobie z tą sytuacją, ale chciałbym znaleźć coś prostszego (a także, jeśli to możliwe, dołączyć do tego trochę zasobów).
- Odkryłem również, że iOS 7 nie obsługuje dynamicznych bibliotek .framework (tylko statyczne), ponieważ nie obsługuje dynamicznego łączenia. Ale iOS 8 tak samo jak statyczne linkowanie.
A oto moje pytania dotyczące tych informacji:
- Widziałem, że mogę utworzyć cel .framework i uczynić go statycznym, zmieniając typ Mach-O na "bibliotekę statyczną. Czy to wystarczy, aby bez problemu obsługiwać iOS 7, a także dystrybuować moją bibliotekę jako Pakiet .framework? Jeśli tak, dlaczego „wbudowane frameworki” w iOS 8 są aż tak wielkim problemem, jak sugeruje wiele zasobów w Internecie? Czy czegoś mi brakuje?
- Czy konieczne jest kodowanie .framework tak samo, jak w przypadku każdej innej aplikacji, którą tworzę?
- Co się stanie, jeśli muszę dołączyć inne zasoby (takie jak dane podstawowe lub obrazy) do mojego pliku .framework? Czy muszę w tym celu utworzyć osobny plik .bundle?