2011-07-26 14 views
8

Firma Apple ogłosiła, że ​​wszystkie aplikacje przesłane do sklepu Mac App Store muszą być odłożone w piaskownicy od listopada.Howto "sandbox" moja aplikacja Lion?

OK, ale jak mogę "piaskować" moją aplikację?

Znalazłem oficjalny przewodnik Apple'a Code Signing And Application Sandboxing Guide.

Dokument wymienia następujące kroki:

1) "Włącz Piaskownica dla danej aplikacji." Ok, proste: trzeba otworzyć Xcode 4, wybierz projekt, wybrać cel, przejdź do karty Podsumowanie i sprawdzić:

  • "Włącz Uprawnień"
  • "Włącz aplikację Piaskownica"
  • .. i każde jedno uprawnienie, które mnie interesuje.

2) Następnie: "Po utworzeniu podstawowego profilu uprawnień, należy podpisać swoją aplikację". W skrócie, przewodnik mówi, aby uruchomić polecenie "codesign" na .app.

Ale na którym .app?

Muszę to zrobić za każdym razem, gdy kompiluję?

Xcode nie robi tego automatycznie?

Odpowiedz

9

Po włączeniu piaskownicy w aplikacji Xcode automatycznie podpiszę zbudowany produkt za pomocą narzędzia codesign.

Musisz ręcznie uruchomić narzędzie codesign, jeśli chcesz dostosować zachowanie podpisywania kodu.

+1

Dziękuję Rob. Myślałem również, że Xcode automatycznie podpisuje kompilację przy użyciu codesign. Jednak po uruchomieniu aplikacji i uruchomieniu Monitora aktywności widzę Nie w kolumnie Sandbox. Czy to jest poprawne? Jest sposób na lepsze zrozumienie tego, co dzieje się za kulisami? – Dev

+1

Powinno "po prostu działać". Czy masz certyfikat programisty podpisujący kod zainstalowany w pęku kluczy? Czy Xcode generuje ostrzeżenia podczas procesu budowania? Czy próbowałeś wykonać "czysty" projekt? –

+1

Masz rację! Mój problem wynikał z faktu, że po uruchomieniu aplikacji używana jest konfiguracja kompilacji debugowania. A w moim przypadku Kod Podpisywania Tożsamości do Debugowania to "Nie koduj znaku". Dziękuję Ci! – Dev

Powiązane problemy