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
Odpowiedz
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.
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
Co, jeśli nie masz projektu Xcode?Co to właściwie powoduje, że Xcode uruchamia się, gdy wywołuje narzędzie codesign? – Trejkaz
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.
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.
Też mam ten problem. – doogilasovich