2012-03-15 18 views
11

Tak, mam problemy z używaniem bibliotek w moim obszarze roboczym XCode. Pomysł polega na tym, że mam główny projekt (MyApp) i dwie biblioteki (lib1 i lib2), które zostały dodane do obszaru roboczego po sfinalizowaniu kodu.XCode 4.2 i korzystanie z biblioteki statycznej powodującej problemy

Dla tła, lib1 jest zależny od biblioteki lib2, ponieważ istnieje kilka protokołów, które należy wdrożyć, aby móc korzystać z lib2. MyApp jest zależny od obu. Próbowałem podążać za przewodnikami Apple, co sugeruje, że to, co chciałbym, jest proste. Później śledziłem prawie każdy post tutaj na SO, który pojawił się w moich poszukiwaniach (2 dniowe Googling), oraz wiele innych blogów i postów, które twierdzą, że mają rozwiązania, z których wiele jest specyficznych dla XCode 3.

Jednak mój projekt nie jest budowany. Używam Xcode 4.2 na OS 10.6 (uaktualnienie do Lion nie jest opcją). Czy jest prosty samouczek do naśladowania, jak utworzyć projekt biblioteki i korzystać z tej biblioteki w aplikacji.

Natknąłem się na this answer podczas pisania tego pytania (gdzie pytanie miało ten sam błąd, jaki miałem), na który się natknę, ale doszedłem do punktu kopiowania plików źródłowych tylko po to, aby uruchomić demo.

UPDATE:

Oto lista problemów, które pojawią się. Dodam jeszcze, kiedy się pojawiają:

  • **directory not found for option '-L/Users/myhomedir/iphoneprojects/MyApp/../BLProfile/build/Release-iphoneos'**
+0

Nie wyjaśniłeś, jaki błąd pojawia się lub co nie działa. – sch

+0

@sch Spróbuję napisać kilka błędów, ale przy próbie rozwiązania pojawią się nowe błędy. Ale pytanie pozostaje bez błędów, jest prosty zestaw instrukcji gdzieś na temat tworzenia projektu biblioteki i faktycznie go używać. –

Odpowiedz

23

Oto jak stworzyć statyczną bibliotekę i projektu, które go używają.

Krok 1: utworzyć obszar roboczy: Plik> Nowy> Workspace. Nie jest to obowiązkowe, ale pomaga w organizacji projektów.

Krok 2: Tworzenie projektu biblioteki statycznej: Plik> Nowy> Projekt> Ramy i Biblioteka> Cocoa Touch Static Library. Nazwijmy to MyLib.

Krok 3: Tworzenie projektu aplikacji: Plik> Nowy> Projekt> Aplikacja> Empty Application, lub dowolny inny szablon aplikacji. Nazwijmy ten projekt MyApp. Jeśli umieścisz projekty w różnych folderach, być może będziesz musiał użyć innej ścieżki.

Teraz masz następujące Projekty w obszarze roboczym.

Project structure

Krok 4: skonfigurować aplikację tak, że znajdzie .h pliki biblioteki. Aby to zrobić, dodaj folder nadrzędny "../" i zaznacz pole wyboru rekursywne.

Header Search Path

Krok 5: link aplikacja do biblioteki.

enter image description here

+0

Krok, w którym ustawiam ścieżkę wyszukiwania nagłówka, nie otrzymuję wyskakującego okienka z opcją rekursywną. –

+1

@MikeD - Kliknij dwukrotnie wiersz ** Ścieżki wyszukiwania nagłówka użytkownika ** lub po prostu naciśnij klawisz Enter i wpisz ** ../\ * \ ***. – sch

+0

Rozumiem. Dzięki. –

0
  1. Otwórz główny projekt, w którym chcesz dodać bibliotekę statyczną.
  2. Zapisz jako obszar roboczy.
  3. Dodaj pakiet projektu biblioteki. Nie trzeba sprawdzać kopii podczas dodawania pakietu projektu.
  4. Zaktualizuj lokalizację preferencji Xcode do niestandardowego stosunku do obszaru roboczego. Produkty jak 'Build/produkty' i półproduktów jako Build/pośrednich
  5. w głównym projekcie -> cel -> budować ustawienia, dodać nagłówek i Biblioteka Search Path jako $ (BUILD_PRODUCTS_DIR)
  6. Budowanie Library Project. Tak więc nowa biblioteka zostanie utworzona we wspomnianej ścieżce budowania.
  7. Usuń istniejącą bibliotekę z Build Phases i przejdź do kosza. Open Build Phases -> Połącz bibliotekę z bibliotekami i dodaj nowo utworzoną bibliotekę z katalogu build.
Powiązane problemy