Po pierwsze, niektóre ogólne definicje (specyficzne dla systemu iOS):
biblioteka statyczna - jednostka powiązana kodu w czasie kompilacji, która nie ulega zmianie.
Jednak biblioteki statyczne iOS to , a nie mogą zawierać obrazy/zasoby (tylko kod). Możesz obejść to wyzwanie, korzystając z zestawu Media Bundle.
Lepszą, bardziej formalną definicję można znaleźć na Wikipedii here.
biblioteki dynamicznej - jednostka kodu i/lub aktywów związany w czasie wykonywania, że może zmian.
Jednak tylko Apple może tworzyć dynamiczne biblioteki dla iOS. Nie możesz ich tworzyć, ponieważ spowoduje to odrzucenie Twojej aplikacji. (Zobacz this inne stanowisko SO dla potwierdzenia i uzasadnienia na takich).
Software Framework - skompilowany zestaw kodu, który realizuje zadania ... stąd, można rzeczywiście mieć statycznej ram lub dynamiczne ramy, które są zwykle tylko skompilowane wersje powyższych.
Aby uzyskać więcej informacji, zobacz numer Wiki on Software Framework. Dlatego w systemie iOS jedyną opcją jest użycie statycznej biblioteki lub statycznego frameworka (główną różnicą jest to, że statyczna struktura jest najczęściej rozprowadzana jako skompilowany plik .a
, podczas gdy statyczna biblioteka może być po prostu włączona jako Podprojekt - możesz zobaczyć cały kod - który jest skompilowany jako pierwszy, a jego wynikowy plik .a
jest używany jako zależność od projektu).
Po uzyskaniu jasności na tych warunkach konfigurowanie biblioteki statycznej i obsługiwanie pakietu multimedialnego dla systemu iOS nie jest zbyt trudne, a istnieje wiele tutoriali, jak to zrobić.Ja osobiście polecam ten:
https://github.com/jverkoey/iOS-Framework
Jest to dość prosta przewodnikiem i nie mają tę wadę, że do czynienia z „fałszywych statycznych bibliotek” ... to sprawdzić, aby uzyskać więcej informacji ..
Po utworzeniu biblioteki statycznej, jest ona tak łatwa, jak włączenie jej jako modułu submodule w Git do użytku w różnych projektach.
Powodzenia.
EDIT
dotycząca podprojektu ramach projektu, o ile mi wiadomo, aby uzyskać to do pracy/skompilować poprawnie, mają zasadniczo założyć łańcuch kompilacji gdzie podprojektem jest skompilowany pierwszy , który tworzy statyczny plik struktury .a
, który jest używany jako zależność projektu.
Oto kolejny użyteczny poradnik, który mówi o tym:
http://www.cocoanetics.com/2011/12/sub-projects-in-xcode/
EDIT 2
Jako iOS 8, Apple pozwala teraz deweloperom tworzenie ram dynamiczne! (Uwaga: Twoja aplikacja musi mieć minimalny cel systemu iOS 8, aby zawierała dynamiczną strukturę ... cofanie wstecz jest niedozwolone.)
Zostało to dodane jako nowy szablon projektu. W Xcode 6.1, można znaleźć na stronie:
New Project -> iOS -> Framework & Library -> Cocoa Touch Framework
Można utworzyć strukturę parasola, która jest podobna do 'framework in framework' http://stackoverflow.com/a/27638841/1582217 –
możliwym duplikatem [Jak utworzyć framework parasolowy w iOS sdk?] (Http: // /stackoverflow.com/questions/27484997/how-to-create-an-umbrella-framework-in-ios-sdk) –