Kod importu Xcode Swift w ramach „celu aplikacji” kontra „element docelowy platformy” - jaka jest różnica?
Importuję dwa pliki .swift do istniejącej aplikacji ObjC.
Dokument Apple „Importowanie Swift do Objective-C” wymienia te dwie opcje, ale nie rozumiem ich różnicy.
Nie znam różnicy między „App Target” a „Framework Target”.
Utworzyłem projekt aplikacji Xcode, a nie projekt ramowy. Czy to różnica?
Odpowiedzi
Cel platformy oznacza, że projekt kompiluje kod do biblioteki, która może być następnie używana przez inne programy. Przykładami frameworków są CocoaPods.
Projekt może zawierać wiele celów. Możliwe jest zdefiniowanie w projekcie struktury i dostarczenie plików źródłowych dla tej platformy, a także skompilowanie aplikacji jako oddzielnego celu (zwykle robisz to, gdy aplikacja zużywa struktury, które tworzy)
Jeśli nie tworzysz własnych frameworków, wybierz opcję „Cel aplikacji”.
Nie udało się udzielić poprawnej odpowiedzi w tym poście. Jeśli chodzi o twoje drugie pytanie, szybkie użycie błędu centralmanager odnosi się do metody-instancji, a nie var, sugeruje, że myślę, że mylisz różnicę między biblioteką statyczną a frameworkiem. Nie zagłębiając się w różnice i sposoby ich wykorzystania, może pomóc odróżnić je od innych.
- Biblioteka statyczna może korzystać ze struktur i innych bibliotek.
- Struktury mogą korzystać z innych struktur i (innych) bibliotek.
- Aplikacja może korzystać z bibliotek statycznych i różnych struktur.

Podczas tworzenia celów w obszarze roboczym / projekcie, który widzisz dla systemu iOS, istnieją różne szablony do tworzenia kodu pomocniczego. Okno dialogowe specjalnie rozróżnia bibliotekę statyczną i strukturę.
Każdy z nich utworzyłby cel w twoim projekcie i zwykle utworzył również schemat, aby skompilować je z oddzielnymi ustawieniami docelowymi. W ustawieniu celu aplikacji możesz określić, gdzie znajdują się nagłówki, co należy połączyć i skopiować do zasobów lub znaleźć gdzie indziej, aby działało. Gdy te cele są częścią jednego projektu, możesz skorzystać z funkcji Xcodes, które pomagają skompilować zależność przed kontynuowaniem i ostatecznie skompilować samą aplikację. Po skompilowaniu (w przykładzie) frameworku Xcode zachowa go, więc nie trzeba go kompilować za każdym razem, gdy kompilujesz aplikację w zależności od tego środowiska. Jak tylko zmienisz framework, możesz (możesz) oczekiwać, że Xcode skompiluje go ponownie. Jeśli cele są oddzielone od siebie w różnych obszarach roboczych / projektach, jesteś odpowiedzialny za monitorowanie tych zależności i ich ostatniej skompilowanej wersji, która będzie używana w Twojej aplikacji.
Ponieważ - nic dziwnego - jesteś odpowiedzialny za łączenie, definiowanie zależności oraz wdrażanie / umieszczanie i deklarowanie części potrzebnych do zapewnienia działania aplikacji w czasie wykonywania.
A tutaj zrzut ekranu przedstawiający różne cele w jednym projekcie (losowe nazewnictwo) oraz ustawienia struktury, bibliotek i osadzonej zawartości dla wybranego celu aplikacji .
