2011-09-26 12 views
10

Chciałbym dodać kilka plików do fazy kompilacji źródeł kompilacji przy użyciu skryptu w XCode, który pobiera z niektórych odniesień do folderów. Do tej pory nie udało mi się znaleźć dużej dokumentacji.Samouczek lub przewodnik po skryptach Tworzenie XCode

  1. Gdzie znajduje się ogólna dokumentacja (lub dobry samouczek) do tworzenia skryptów w XCode?
  2. Jak mogę dodać pliki do fazy Kompilacja źródeł?
  3. Jak mogę znaleźć informacje na temat projektu i zawartych w nim odniesień do folderów?
  4. Czy są jakieś specjalne uwagi, jeśli chcę skryptować w Rubim lub Pythonie w porównaniu do skryptów bash?
+0

Próbuję zrobić to samo, czy udało ci się uzyskać skrypt, który to zrobił? Mój problem polega na tym, że modyfikuję projekt.pbxproj podczas kompilacji, więc Xcode nie odświeża źródeł kompilacji podczas tej samej kompilacji, tylko dla następnej kompilacji. –

Odpowiedz

20

Aby dodać pliki do fazy kompilacji Compile Sources przy użyciu skryptu, należy programowo zmodyfikować plik projektu project.pbxproj.

Zasadniczo można to osiągnąć, analizując plik project.pbxproj w strukturze danych w pamięci, manipulując tą strukturą danych za pomocą interfejsu programowego, a następnie zapisując strukturę danych do nowego pliku project.pbxproj.

Istnieje kilka projektów, które obecnie nie mogą potencjalnie pomóc to zrobić, nie próbowałem żadnej z nich:

A oto seria blogów z ogólnymi informacjami na temat zawartości i formatu plików XCode project.pbxproj.

Wreszcie, może warto zauważyć, że dla bardzo prostych manipulacji, szczególnie jeśli nie jesteś zaniepokojony kosmetyki pliku project.pbxproj coraz pomieszane w górę, możesz postępować zgodnie z sugestią pod numerem this Stack Overflow answer, aby przeanalizować plik project.pbxproj w wierszu poleceń, tak jak:

plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj

Happy parsing!

+0

Chociaż byłoby to więcej niż możliwe do zrealizowania w ten sposób, byłoby to przestępstwem, które należałoby zapłacić za godzinę. – ctpenrose

+0

Nie polegaj na "plutil", aby wykonać zadanie, miałem tylko przypadki, w których tworzył on uszkodzone dane, nie pokazując nawet ostrzeżenia. – jcayzac

+2

Oto kolejny interfejs Xcode API: https://github.com/jasperblues/XcodeEditor –

Powiązane problemy