Mam tę bazę kodu, która jest Objective C i Swift mix. Niektóre miejsca Swift używa Objective i vice versa. Muszę stworzyć framework teraz oparty na tej bazie kodu, ale nie chcę włączać wszystkich obiektywnych plików c do nagłówka mojego parasola. Oto mój problem:Publiczny i prywatny nagłówek parasola w Objective C
Wewnątrz mojego szkieletu nadal potrzebuję móc używać Swift z objc i vice versa; ale nie chcemy ujawniać wszystkich tych plików objc, które są używane wewnętrznie przez szybkie klasy. Nagłówek Bridging nie jest dozwolony w frameworkach, więc wszystkie nagłówki potrzebne do szybkiego pojawiania się w nagłówku parasola.
Zastanawiam się, czy możliwe jest posiadanie wszystkich nagłówków objc, wymaganych przez wewnętrzny kod SWIFT, w pliku, który byłby moim prywatnym nagłówkiem parasolowym, a wszystkie pliki, które muszę ujawnić, zostałyby umieszczone w nagłówku parasola publicznego.
Wszelkie sugestie?
Witam, @ puru020, znalazłeś rozwiązanie problemu? Mam dokładnie ten sam problem i nie mogę znaleźć rozwiązania. Dzięki. – Daniel
Nie mam. Wydaje się, że nie ma rozwiązania. Postanowiliśmy zachować dwie sekcje w nagłówku parasola dla publicznych i prywatnych plików .h. Po zbudowaniu architektury uruchamiamy skrypt, który wykonuje i usuwa prywatną sekcję nagłówka parasolowego. – puru020
Wczoraj szukałem godziny, aby znaleźć rozwiązanie tego problemu. Głównym problemem jest ograniczenie możliwości korzystania z nagłówka pomostowego w frameworkach. W przypadku "prywatnego objc-nagłówka w Swift" natknąłem się na definicję prywatnego modułu, funkcji CLANG. Ale niestety wydaje się, że chodzi tutaj o wystawianie prywatnych nagłówków na inne frameworki, zamiast używania prywatnych nagłówków objc w Swift. Chociaż uważam, że istnieje powód problemów, ponieważ interoperacyjność wydaje się być ważna dla Apple. Byłbym wdzięczny za wyjaśnienie. –