RėmėjaiPrisijungtiPateikti

← Visi įrankiai

Entitlements paaiškinimas

Įklijuok, ką spausdina codesign, arba savo .entitlements failą. Jis skaitomas čia pat šiame puslapyje ir niekur nesiunčiamas.

Entitlements paaiškinimas

Išbandyk pavyzdį:

Ką daro

Entitlements yra leidimai, kuriais pasirašyta tavo Mac programa: ar ji veikia App Sandbox, prie kokių aplankų ir įrenginių gali prieiti, kurias hardened runtime apsaugas išjungia ir kokias Apple paslaugas naudoja. Jie yra tavo .entitlements faile ir patenka į parašą. Šis įrankis skaito tavo įklijuotą tekstą, randa kiekvieną entitlement ir jo reikšmę ir paprastais žodžiais pasako, ką jis leidžia. Pirma deda tuos, kurie sustabdys notarizaciją, paskui tuos, apie kuriuos paklaus App Review ar atidus naudotojas, paskui įprastus.

Komandos paleisti

codesign -d --entitlements - YourApp.app
codesign -d --entitlements - --xml YourApp.app

Paleisk juos su versija, kurią išleidi. Debug versija iš Xcode paprastai turi com.apple.security.get-task-allow, o Release versija neturi. Norėdamas patikrinti pagalbinį įrankį ar plėtinį, nukreipk komandą į tą paketą.

Ką reiškia kiekvienas rezultatas

ŽymaKą tai reiškia
PataisytiNotarizacija ją atmeta arba macOS nepaleis trečiosios šalies programos su ja.
IšvaizdaHardened runtime išimtis, sandbox išimtis, išjungtas sandbox arba bandymo nustatymas. Leidžiama, bet palik tik jei programai reikia.
GeraiApp Sandbox įjungtas.
PastabaĮprastas leidimas. Patikrink, ar programa tikrai jį naudoja.

Šaltiniai: Apple Developer, Entitlements, App Sandbox, Hardened Runtime ir Resolving common notarization issues, visi skaityti 2026 m. lapkričio 6 d..

Kaip tai veikia

Tai kelios paprastos teksto taisyklės, veikiančios šiame puslapyje. Jis skaito XML, kurį turi .entitlements failas ar codesign --xml, ir eilutes su skliaustuose esančiais [Key] ir [Value], kurias codesign spausdina naujesnėje macOS. Jei įklijuoji tik raktų pavadinimus, jis paaiškina juos. Jis žino įprastų entitlements: 50. Visa kita pažymi kaip nesančią sąraše, o ne spėlioja. Jis negali pasakyti, ar hardened runtime įjungtas, nes tai pasirašymo vėliavėlė, o ne entitlement: ieškok flags=0x10000(runtime) tame, ką spausdina codesign -dv.

Klausimai

Kas yra entitlements Mac?

Tai leidimai, įrašyti į programos kodo parašą. Jie nurodo, ar programa veikia App Sandbox, kokius failus, įrenginius ir Apple paslaugas gali naudoti ir kurias hardened runtime apsaugas išjungia.

Kaip pamatyti programos entitlements?

Terminale paleisk codesign -d --entitlements - ir po jo programos kelią. Pridėk --xml, kad gautum tą patį sąrašą kaip property list.

Kodėl mano programą notarizacija atmetė dėl get-task-allow?

Šis entitlement leidžia derintuvams prisijungti, o Xcode jį prideda prie Debug versijų. Archyvuok Release versiją arba pašalink jį iš entitlements, kuriais pasirašai, ir pateik iš naujo.

Ar Mac programai reikia App Sandbox?

Tik Mac App Store, kuri to reikalauja. Programa, kurią parduodi pats su Developer ID, gali veikti ir be jo, nors notarizacijai vis tiek reikia hardened runtime.

Ar tai, ką įklijuoju, kur nors siunčiama?

Ne. Tekstas skaitomas šiame puslapyje ir niekas nesiunčiama.

Susiję