Làm cách nào để tìm ra những quyền lợi mà ứng dụng có?


28

Các ứng dụng hộp cát phải khai báo quyền lợi của họ. Tất nhiên, điều đó không giúp ích gì cho tôi nếu tôi không thể nói những quyền lợi mà nó tuyên bố. Một trình soạn thảo văn bản có các quyền đối với Vị trí lõi, Máy chủ mạng và Sổ địa chỉ của tôi, mà tôi không biết, có thể tồi tệ hơn nhiều so với một ứng dụng chưa được đóng hộp.

Làm cách nào tôi có thể thấy những quyền lợi mà ứng dụng có?

Câu trả lời:


35

Sau khi tìm kiếm thêm, tôi tìm thấy một câu trả lời dòng lệnh:

codesign -d --entitlements :- /Applications/Whatever.app/

Điều này sẽ in ra một chuỗi XML với các giá trị như:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>

Để biết thêm thông tin, hãy xem https://developer.apple.com/lvern/archive/qa/qa1798/_index.html#//apple_Vf/doc/uid/DTS40014167-CH1-IOS_STEPS

Tuy nhiên, nếu bất cứ ai biết một cách dễ dàng hơn / đẹp hơn, tôi rất muốn nghe nó.


1
Ngoài ra còn có thêm tài liệu về điều đó: developer.apple.com/l

Trên Mojave 10.14.4, lệnh trên in thêm 8 byte khi bắt đầu : fade7171000000fb, làm cho XML không hợp lệ. Bất cứ cách nào để tránh điều đó hoặc tước nó đi?
luckman212

codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" Có thể có một giải pháp khác, nhưng đó là cách tôi loại bỏ các byte đó. Nhưng tôi không nghĩ nó cần thiết: bạn có thể codesignmột ứng dụng bằng cách chỉ vào quyền lợi xml và macOS sẽ bỏ qua các byte đó.
JayB

Thêm dấu hai chấm để bỏ qua các byte đó:codesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.