/ / Aplikacja Mac OS, piaskownica z narzędziem wiersza poleceń? - macos, sandbox, narzędzie wiersza poleceń

Mac OS, piaskownica z narzędziem wiersza poleceń? - makra, sandbox, narzędzie wiersza poleceń

Stworzyłem aplikację, która zawiera narzędzie wiersza polecenia. Włączyłem piaskownicę aplikacji i przetestowałem, czy działa. Mam również podpisaną kodem aplikację i narzędzie wiersza poleceń.

Ale kiedy przesyłam aplikację do iTunes, otrzymałem wiadomość e-mail z informacją: „Nie włączono piaskownicy aplikacji”.

Najwyraźniej muszę ustawić plik uprawnień klucza com.apple.security.app-sandbox z true wartość i wypisz pliki wykonywalne: /Contents/MacOS/myApp i /contents/Frameworks/x86/myCommandLineTool.

Jestem pewien, że włączyłem piaskownicę w Xcode, więc pomyślałem, że problem dotyczy narzędzia wiersza poleceń.

Jak mogę włączyć piaskownicę dla narzędzia wiersza poleceń? Czy jest jakiś konkretny folder, w którym powinienem umieścić narzędzie? Wszelkie sugestie mile widziane - martwiłem się tym przez kilka dni.

Odpowiedzi:

22 dla odpowiedzi nr 1

Miałem ten sam problem i po kilku wyszukiwaniach, próbach i błędach działało to dla mnie:

  1. utwórz plik uprawnień - dla mnie to po prostu com.apple.security.inherit ustawione na TAK. Utworzyłem ten plik w samym xcode.

  2. Teraz podpisz to narzędzie wiersza polecenia, używając polecenia:

    codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool
    
  3. Dla pewności sprawdź za pomocą tego polecenia:

    codesign --display --entitlements - ./commandlinetool
    
  4. To narzędzie zostało już uwzględnione w projekcie. Po prostu skompiluj, zarchiwizuj i prześlij

Status „oczekuje na sprawdzenie”.