-- resource-rules został przestarzały w mac os X>= 10.10

Próbowałem zrezygnować z pliku ipa z nowym profilem provisioning na Mac Os 10.10 z aplikacją iResign, ale dostałem Ostrzeżenie: "Warning: --resource-rules has been deprecated in Mac OS X >= 10.10".

Co mam teraz zrobić?

Author: Charlie Brumbaugh, 2014-10-20

8 answers

Znalazłem obejście : jeśli uruchomisz aplikację iResign z XCode-wtedy zrezygnujesz z aplikacji bez problemu(ostrzeżenie pojawi się w konsoli zamiast popup). Ale jeśli zamkniesz XCode i uruchomić aplikację sam-wtedy popup wróci do ciebie!

BTW: bug znaleziony :) Warunek

if (systemVersionFloat < 10.9f)

Jest złamany dla Yosemite 10.10. Zabawne.

Dzięki,

 6
Author: Sergey Kopanev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-31 15:43:53

Kliknij swój projekt > cele > Wybierz swój cel > Ustawienia budowania >

Code Signing Resource Rules Path

I dodać:

$(SDKROOT)/ResourceRules.plist

Tutaj wpisz opis obrazka

 153
Author: Danut Pralea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-01 13:25:02

Since Xcode 7 , the Code Signing Resource Rules Path ustawienie build musi być puste, w przeciwnym razie Ostrzeżenie zostanie wygenerowane.

Uwaga techniczna TN2206 podaje szczegóły:

Resource Rules

Systemy przed OS X v10. 9 funkcja podpisywania (--resource-rules) do kontrolowania plików w pakiecie powinien być zapieczętowany podpisem kodowym. Funkcja ta została przestarzała dla Mavericksów. Podpisy kodowe wykonane w Mavericks i później zawsze seal wszystkich plików w pakiecie; nie ma potrzeby jawnego określania tego więcej. Oznacza to również, że ścieżka reguł zasobu podpisywania kodu jest budowana ustawienia w Xcode nie powinny być już używane i powinny być pozostawione puste.

Nie jest więc już możliwe wykluczenie części pakietu z podpis. Pakiety powinny być traktowane jako Tylko do odczytu, gdy zostały podpisane.

 24
Author: Ricardo Sanchez-Saez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-18 13:32:57

Po Xcode 7 poprzednie rozwiązania przestały działać. Nowa została wskazana przez Rishi Goel (w https://stackoverflow.com/a/32762413/2252465 )

  1. Usuń CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  2. Znajdź skrypt /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication i zaktualizuj go.
    Znajdź linie zawierające następujący kod w skrypcie

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
                      "--sign", $opt{sign},
                      "--resource-rules=$destApp/ResourceRules.plist");
    

    Zmień na:

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
                      "--sign", $opt{sign});
    
 10
Author: Rodrigo Pinto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:46:58

Spróbuj dodać poniższe argumenty w poleceniu xcodebuild.

-sdk iphoneos CODE_SIGN_RESOURCE_RULES_PATH='$(SDKROOT)/ResourceRules.plist' 
 4
Author: Chintan Prajapati,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-19 05:20:06

Jeśli rezygnujesz z aplikacji używając terminala, możesz nawet pominąć resource-rules podczas wykonywania znaku kodu, ponieważ nie ma potrzeby zewnętrznego określania, który zasób podpisać, a który nie. Teraz obowiązkowe jest podpisanie wszystkich zasobów wewnątrz pakietu.

Aby zrezygnować z aplikacji za pomocą terminala, wykonaj poniższe kroki:

unzip MyApp.ipa

rm -rf Payload/MyApp.app/_CodeSignature/

cp ~/Desktop/MyAdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision 

codesign -f -s "iPhone Distribution: Code signing Certificate for Enterprise or Ad-hoc app" Payload/MyApp.app

zip -qr MyApp_Resigned.ipa Payload/
 2
Author: technerd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-14 12:44:39

Właśnie otworzyłem moją istniejącą aplikację na iOS w Xcode 7 GM (od Xcode 6.4) i zobaczyłem to Ostrzeżenie o deprecacji.

Interesujące jest to, że odpowiedzi i komentarze mówią, aby zaktualizować ścieżkę "Code Signing Resource Rules Path", a także odwołują się do aplikacji Mac.

W moim przypadku projekt miał ten klucz i wartość ustawioną już domyślnie (nigdy go nie ustawiałem). Ostrzeżenie dotyczy również przestarzałych reguł zasobów.

Dla mnie usunięcie wartości'Code Signing Resource Rules Path' usunięto Ostrzeżenie. Nie złożyłem nowej kompilacji w ten sposób, więc być może będę musiał wrócić i zaktualizować tę odpowiedź.

Po prostu pomyślałem, że to interesujące, że moja odpowiedź jest odwrotna do tego, co wszyscy widzieli.

 1
Author: Chad Pavliska,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-12 15:52:02

Jeśli skomentujesz dwa parametry -- resource-rules z listy argumentów, gdzie aplikacja iResign wywołuje zadanie codesign, nie musisz zmieniać ustawień budowania projektu dla projektu aplikacji.

Nie podoba mi się pomysł, aby modyfikować ustawienia budowania dla każdego projektu, z którym chcę pracować, tylko po to, aby móc z niego zrezygnować.

Przebudowałem narzędzie do rezygnacji i skopiowałem je do mojego katalogu aplikacji, dzięki czemu nie muszę go otwierać w Xcode.

 0
Author: Sheamus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-03 15:43:14