Wiem, że zostało to zadane kilka razy, ale głównie dla Xcode 3.x. Dla iPad, mam dwa projekty zarówno żyjących we wspólnym obszarze roboczymXcode 4: Jak dodać zależność docelowej biblioteki statycznej do projektu
- Foo, aplikacja widok oparte i
- Foolib statyczny biblioteki
były w zależności od Cocoa Touch drugi. Wydaje mi się, że nie jestem w stanie obliczyć, jak dodać tę zależność. To nie jest dobrze wyjaśnione w dokumentacji, więc próbowałem następujące:
- Kliknij projektu Foo w obszarze nawigacji po lewej stronie,
- wybrać Build etapach aż górna i rozwinąć sekcję docelowa Zależności
- Kliknij przycisk plusa, ale wynikowa lista jest pusta.
Próbowałem również przeciągnąć/upuścić plik .a do tej sekcji, z niewielkim sukcesem. Ponadto dokumentacja wskazuje
Jeśli produkt budowy jednego projektu w obszarze roboczym jest zależna od produktu kompilacji innego projektu w przestrzeni roboczej (na przykład, jeśli jeden projekt buduje bibliotekę używany przez inny projekt), Xcode odkrywa takie niejawne zależności i buduje we właściwej kolejności.
Zastanawiam się, jak Xcode odkrywa te zależności. Czy Apple twierdzi, że wcale nie muszę dodawać tej zależności docelowej? Ale w jaki sposób Xcode odkryłby, że jeden używa drugiego?
Wreszcie, muszę jakoś zdobyć pliki .h od Foolib po Foo. Jaki jest zalecany sposób robienia tego? Oczywiście, nie chcę po prostu ich kopiować. W przypadku frameworku dołączane są pliki nagłówkowe, ale co zwykle robią ludzie podczas pracy z bibliotekami statycznymi, które same tworzą równolegle.
Przyciągnięcie w dobrym kierunku byłoby bardzo cenne. Dziękuję Ci.
Dziękuję za to. Dodanie celu do schematu sprawia, że Xcode tworzy Foolib przed Foo, prawda? Ale wydaje mi się, że muszę w jakiś sposób dostać libFoolib.a do mojego projektu Foo, w przeciwnym razie dostanę błędy linkera, prawda?W tej chwili nie mogę nawet zmusić Fooliba do zbudowania; Cóż, pomyślnie się buduje, ale potem libFoolib.a w grupie Products pozostaje czerwony. Masz pojęcie, co się tam dzieje? – McKrassy
Mam problemy z architekturą AMR lub i386 w zależności od działania na urządzeniu lub emulatorze. Może to jest Twój problem (podczas kompilacji biblioteki statycznej na jednej architekturze projekt przy użyciu tej biblioteki stara się połączyć z biblioteki z inną architekturą ...) –
@MPenades yup) rzeczywiście trzeba czytać o uniwersalnych bibliotek ** ** sprawdź ten tutorial. http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial – Resty