2014-10-20 27 views
9

Zaktualizowałem system OS X Yosemite, a także Xcode 6.1 (pobrane z witryny programisty), od tego czasu mam problem z budynkiem, tak jak w pliku dziennika Widzę notatkę "Ostrzeżenie: reguły resocjalizacji zostały wycofane w systemie Mac OS X> = 10.10!". Czy ktoś wie, jak korzystać z wtyczki Xcode bez flagi "reguły zasobów"? Dziękuję Ci.Wtyczka Jenkins kontra Xcode - problemy z kodowaniem

+0

Też mam ten problem. – doogilasovich

Odpowiedz

14

Wszystko w porządku z wtyczką Jenkins. Tylko ustawienia produktu są nieprawidłowe.

Otwórz kartę "Ustawienia tworzenia" swojego projektu. Szukano "Ścieżki reguł podpisywania kodu", było dla mnie puste. Zmień na: $(SDKROOT)/ResourceRules.plist

kredytów idzie Adams Blair, który opisał ten problem z SDK2.2

https://stackoverflow.com/a/7919137/2124345

Aktualizacja

To rozwiązanie nie usuwa samego ostrzeżenia. Ale jestem pewien, że ostrzeżenie nie stanowi problemu. Problem polega na tym, że bez tego ustawienia pliki ResourceRules.plist nie są generowane w folderze ładunku, a proces budowania zatrzymuje się, ponieważ brakuje pliku.

I znowu, nie jest to w ogóle związane z wtyczką Jenkins. Ten sam błąd występuje z xcrun -sdk iphoneos PackageApplication. Jenkins po prostu nazywa tę linię poleceń jako krok kompilacji.

+0

Dziękuję Julius za wyjaśnienie, nigdy nie użyłem "Path Rules Rules Path", mam to pole zawsze puste. Również zostałem pomylony z uwagą techniczną Apple TN2206 - "Nie używaj flagi --resource-rules lub ResourceRules.plist, są one przestarzałe i zostaną odrzucone.", Wróciłem z powrotem do Maverick i Xcode 6.0.1, kiedy ponownie mam nowe środowisko, spróbuję rozwiązania, o którym wspomniałeś. – zskalnik

+0

Co, jeśli nie masz projektu Xcode?Co to właściwie powoduje, że Xcode uruchamia się, gdy wywołuje narzędzie codesign? – Trejkaz

1

Zgodnie z informacjami podanymi w another answer, nie można również określić certyfikatu dystrybucji, z którym należy się podpisać, a będzie on poprawnie pakowany.

2

Odpowiedź udzielona przez Juliusa Lisauskasa rozwiąże ostrzeżenie, ale w rzeczywistości jest to tylko obejście błędu, który istnieje w wtyczki Jenkins Xcode xcrun.

Jak wspomniano w Apple Technical Note TN2206:

Systems przed OS X Mavericks udokumentowane funkcję podpisu (--resource-rules), aby kontrolować, które pliki w wiązce powinny być uszczelnione podpisem kodu. Ta funkcja została przestarzała w przypadku Mavericks. Podpisy do kodu wykonane w Mavericks, a później zawsze pieczętują wszystkie pliki w pakiecie ; nie ma już potrzeby wyraźnego określania tego. Ten numer oznacza również, że ustawienie kompilacji ścieżki podpisywania zasobów Code Signing w kodzie źródłowym nie powinno być już używane i powinno być puste.

Tym samym nie można już wykluczyć części pakietu z podpisu . Pakiety powinny być traktowane jako przeznaczone tylko do odczytu, gdy zostaną podpisane pod .

Istnieje issue raised on the Jenkins Xcode plugin w odniesieniu do tego błędu, który stwierdza, że ​​błąd leży w Xcrun.