मुझे कैसे पता चलेगा कि ऐप के पास क्या एंटाइटेलमेंट है?


28

सैंडबॉक्स वाले ऐप्स को अपनी पात्रता घोषित करनी होगी। बेशक, अगर मुझे कोई अच्छा नहीं लगता है तो मैं यह नहीं बता सकता कि वह क्या घोषणा करता है। एक टेक्स्ट एडिटर जिसके पास कोर लोकेशन, नेटवर्क सर्वर और मेरी पता पुस्तिका है, मेरी जानकारी के बिना, एक अनकॉन्डबॉक्स एप्लिकेशन की तुलना में बहुत खराब हो सकता है।

मैं कैसे देख सकता हूं कि किसी एप्लिकेशन के पास क्या एंटाइटेलमेंट हैं?

जवाबों:


35

कुछ और खोज के बाद, मुझे एक कमांड-लाइन उत्तर मिला:

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

यह एक्सएमएल प्लिस्ट को प्रिंट करेगा जैसे कि मान:

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

अधिक जानकारी के लिए देखें

अगर किसी को एक आसान / अच्छा तरीका पता है, हालांकि, मुझे यह सुनना अच्छा लगेगा।


1
इसके बारे में और भी दस्तावेज़: developer.apple.com/library/content/documentation/Security/…

Mojave 10.14.4 पर, ऊपर की कमांड शुरू में एक अतिरिक्त 8 बाइट्स प्रिंट करती है:, fade7171000000fbXML को अमान्य बना देता है। किसी भी तरह से बचने के लिए या इसे दूर पट्टी?
luckman212

codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" शायद वहाँ एक और समाधान है, लेकिन है कि मैं कैसे उन बाइट्स पट्टी। लेकिन मुझे नहीं लगता कि यह आवश्यक है: आप codesignएक एंटाइटेलमेंट xml की ओर इशारा करके एक ऐप बना सकते हैं , और macOS वैसे भी उन बाइट्स को अनदेखा कर देंगे।
JayB

उन बाइट्स को छोड़ने के लिए एक बृहदान्त्र जोड़ें:codesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.