2013-03-19 16 views

Odpowiedz

75

spędziłem godzin szukając w internecie, aby znaleźć informacje na temat tego robić. Nie jest tak trudno skonfigurować szablony projektów dla Xcode4.5, ale trudno jest znaleźć informacje w sieci, które je wszystkie razem składają! Mam nadzieję, że poniższe kroki pomogą Ci stworzyć własne.

Konfigurowanie

  1. Zacznijmy poprzez uzyskanie kopii istniejącego szablonu projektu Xcode do wykorzystania jako baza. Otwórz wyszukiwarkę, przejdź do aplikacji i kliknij prawym przyciskiem myszy Xcode, aby wyświetlić zawartość paczki. Przejdź do Contents/Developer/platform/iPhoneOS.platform/Developer/Library/Xcode/templates/Szablony projektu/application/

[EDIT] W Xcode 5 ścieżka jest w następujący sposób: ~/Library/Developer/Xcode/Templates/Application/Project Templates. Jeśli Szablony/Aplikacja/Szablony projektów nie istnieją, powinieneś również je utworzyć. Podziękowania dla seufagner w komentarzach poniżej do aktualizacji, chociaż sam tego nie próbowałem. [/ Edycja]

  1. kopiowania (nie/wkleić!) Jednym z wymienionych szablonów.
  2. Otwórz kolejne okno wyszukiwarki i przejdź do następującego katalogu (aby odkryć folder z biblioteką wpisz ten cmd w terminalu: chflags nohidden ~/Library/lub wybierz klawisz alt/option po kliknięciu Finder/Go)/Library/Developer/Xcode/Templates (może być konieczne utworzenie tego folderu, jeśli jeszcze go nie ma)/Szablony projektów/
  3. Utwórz tutaj folder. Nazwij to, co chcesz, sugestia to nazwa Twojej firmy. Ta nazwa pojawia się w menu po lewej stronie nowego dialogu projektu w Xcode. na przykład na załączonym obrazku nazwałem mój Appscore, jest tam jeszcze jeden dla cocoas2d. enter image description here
  4. Wklej tutaj szablon projektu i zmień jego nazwę na dowolne, np. MySuperProjectTemplate.xctemplate. Jeszcze nie skończyliśmy, ponieważ musimy zmienić identyfikator szablonu. W przeciwnym razie nie pojawi się w oknie dialogowym nowego projektu Xcode.
  5. Otwórz plik TemplateInfo.plist w aplikacji TextEdit. Wyszukaj klucz identyfikacyjny. Powinieneś zobaczyć wartość ciągu podobną do "com.apple.dt.unit.XXXXXX". Zastąp to czymkolwiek chcesz, o ile jest wyjątkowy. Ponownie sugeruję dodanie nazwy firmy i nazwy opisującej szablon.
  6. Jeśli otworzysz Xcode, powinieneś zobaczyć szablon projektu pojawiający się pod nazwą Twojej firmy w nowym oknie projektu.

Dostosowywanie

W tej chwili masz kopię istniejącego szablonu projektu, który nie jest bardzo przydatna. Zgaduję, że masz kilka klas, które są ponownie wykorzystywane w prawie wszystkich twoich projektach?A może dołączymy je do tego szablonu?

  1. skopiować pliki, które chcesz i wkleić je do nowego szablonu projektu tj przejdź do/templates Library/Developer/Xcode/templates/Project // MySuperProjectTemplate.xctemplate/
  2. Otwórz plik TemplateInfo.plist ponownie w TextEdit. Pierwszą rzeczą, którą musimy zrobić, to wskazać szablon projektu, aby uwzględnić nowe pliki, aby wyszukać klucz o nazwie "Węzły" z tablicą wartości. Dodać dwie następujące linie:

    < ciąg > _VARIABLE_classPrefix: identifier_ .h </string > < ciąg > _VARIABLE_classPrefix: identifier_ .m </string >

Na przykład, jeśli twój kontroler o nazwie BaseViewController, linie wyglądałyby następująco:

< ciąg > ___ VARIABLE_classPrefix: identyfikator ___ BaseViewController.h </string > < ciąg > ___ VARIABLE_classPrefix: identyfikator ___ BaseViewController.m </string >

Step 2

  1. Następny znaleźć klucz Definicje i powinieneś zobaczyć słownik jako jego wartość. W tym miejscu musimy dodać odniesienie do załączonych plików. Utwórz nowy klucz i nazwij go ___ VARIABLE_classPrefix: identyfikator ___ BaseViewController.h (ponownie biorąc przykład BaseViewController).

Step 3

  1. Wartość tego klucza jest ponownie słownikiem. Zawiera klucz o nazwie Path i wartość ciągu, który jest nazwą pliku, np. BaseViewController.h
  2. Dołączyłem następujące obrazy, aby pokazać, co mam na myśli, ponieważ moim zdaniem mój opis nie spełnia oczekiwań. Możesz zauważyć, że jest tam klucz o nazwie "Grupa", to, jak można się domyślać, pozwala tworzyć grupy i pliki wejściowe bezpośrednio: D

Mam nadzieję, że to komuś przyda się naprawdę :) Wszelkie uwagi na komentarz poniżej i zrobię co w mojej mocy, aby odpowiedzieć. Zrobiłem to kilka tygodni temu, więc moja pamięć jest trochę mglista.

+0

Zgadzam się z Foram. To wyjaśnienie, jak stworzyć własny projekt niestandardowy, jest świetne. –

+0

Czy istnieje sposób na dodanie biblioteki statycznej? –

+0

@PhongLe Nie sądzę, ale tak naprawdę nie patrzyłem w to, więc mam nadzieję, że się nie mylę :) – bennythemink

1

@bennythemink Twoja odpowiedź jest naprawdę bardzo pomocni, ale chcę dodać jeszcze kilka rzeczy w swojej odpowiedzi. Kiedy kopia Xcode szablon predefine niż ten klucz zawiera

<key>Ancestors</key> 
<array> 
<string>com.apple.dt.unit.storyboardApplication</string> 
</array> 

tej wartości. Kiedy użyjemy tej wartości kluczowej w szablonie niestandardowym xcode, domyślnie utworzy ona klasę AppDelegate. Które nie możemy przenieść do folderu tylko możemy przenieść go do grupy. więc proponuję dodać to:

<key>Ancestors</key> 
<array> 
<string>com.apple.dt.unit.objectiveCApplication</string> 
<string>com.apple.dt.unit.iPhoneBase</string> 
<string>com.apple.dt.unit.prefixable</string> 
</array> 

wartość w szablonie niestandardowym tak, że będziemy mieli w pełni pusty szablon, w którym możemy zrobić dowolną niestandardową rzeczy.

5

Można również dowiedzieć się wiele z kontroli istniejące szablony projektów, które można znaleźć w:

/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/ 

dla Mac i

/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/ 

dla iOS.

Istnieje kilka przykładowych szablonów również na GitHub przez Reid Głównego a drugi przez Acani. Istnieją również szablony AFNetworking, utworzone przez Mattt Thompson. Zobacz wszystkie przykłady, w tym te stworzone przez Apple, a następnie możesz zacząć tworzyć własne.

+0

Dzięki za komentarz Legoless! Wszystko, co robi Mattt Thompson, to świetna jakość, więc sprawdzę jego szablony! – bennythemink