TL; DRCzy flaga -ObjC może być selektywnie stosowana do bibliotek statycznych?
Jak mogę dokonać łącznik flag -ObjC
ukierunkowana na konkretną bibliotekę statyczną i nie wszystko statyczne biblioteki Jestem łączące przed, w celu uniknięcia niepotrzebnych plików z obiektów są połączone w moim app?
Zbyt długo; Czytałem
Tworzysz nową aplikację na iOS i dodajesz własną bibliotekę statyczną "objcutil", która zawiera wiele użytecznych klas Objective-C (nie zaimplementowanych jako kategorie) do robienia różnych rzeczy, które były przydatne w przeszłości. Do tej pory, tak dobrze, i tylko te pliki obiektów, które są przywoływane w bibliotece narzędzi, są połączone z aplikacją.
Potem zdecydujesz się zintegrować Google Maps SDK który chce, aby korzystać z -ObjC
inne flagi Linker i nagle zależnościami w bibliotece użytkowego nie zostać rozwiązany, bo nie skonfigurowano Xcode do odwołują się do tych bibliotek .
OK Mogę łatwo rozwiązać brakujące zależności, ale teraz masz nieużywane pliki obiektów i zależności bibliotek, których nie potrzebujesz i chcesz być trochę bardziej porządny.
Jak uniknąć przeciążenia OCD?
Niektóre odniesienia z
ld
manpage:
-ObjC Obciążenia wszyscy członkowie statycznych bibliotek archiwalnych, które definiują sposób obiektywny klasy C lub kategorię. Ta opcja nie dotyczy bibliotek współużytkowanych .
- Xcode Wersja: 5.1.1
- OSX Wersja: 10.9.4