2011-12-05 10 views
6

एक्सकोड के बिना सैंडबॉक्स किए गए ऐप का निर्माण कैसे करें? मेरा मतलब है कि मैं जीसीसी का उपयोग कर रहा हूं ऐप बंडलों को बनाने के लिए अपने अनुप्रयोगों और स्वयं के सिस्टम का निर्माण करना। लेकिन मैं एक्सकोड का उपयोग किए बिना सैंडबॉक्स को कैसे सक्षम कर सकता हूं और इसका सैंडबॉक्स विकल्प विकल्प चुन सकता हूं?एक्सकोड के बिना सैंडबॉक्स किए गए ऐप का निर्माण कैसे करें?

टुट XCode बिना सैंडबॉक्स के बारे में नहीं है, लेकिन मैं कहीं भी जानकारियां सैंडबॉक्स सक्षम करने के बारे नहीं मिल रहा है, लेकिन अभी भी कोई एस.बी. के बारे में .. किसी को भी मदद कर सकते हैं? http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxQuickStart/AppSandboxQuickStart.html#//apple_ref/doc/uid/TP40011183-CH2

+0

क्या आपके ऐप में Info.plist फ़ाइल है? –

उत्तर

8

एक्सकोड के बाहर अपने आवेदन को कोड-साइन करना बहुत आसान है। ,

<?xml version="1.0" encoding="utf-8"?> 
<plist version="1.0"> 
    <dict> 
     <key>com.apple.security.app-sandbox</key> 
     <true/> 
    </dict> 
</plist> 

एक बार तुम्हारे पास है, बस करने के लिए अपने एप्लिकेशन बंडल कोड-हस्ताक्षर और सैंडबॉक्सिंग सक्षम इस आदेश जारी यह हकों का हिस्सा बनाकर:: बस इस तरह एक अलग plist फ़ाइल में अपने हकों बनाने

codesign -s - -f --entitlements /path/to/entitlement.plist /path/to/YourApp.app/ 

आप एक प्रमाण पत्र के साथ पहले से ही कोड हस्ताक्षर, बस की जगह यदि '-s -' के साथ ऊपर '-s "3 पार्टी लबादा डेवलपर ..." और अपने डेवलपर प्रमाण पत्र का उपयोग करें।

+0

क्या होगा यदि मैं नहीं चाहता कि मेरा ऐप सैंडबॉक्स हो? जिस ऐप को मैं लिख रहा हूं वह शायद ऐप स्टोर पर कभी वितरित नहीं किया जाएगा, क्योंकि यह एक विशेष हार्डवेयर उत्पाद के लिए विशिष्ट है; इसके अलावा इसमें सेवाओं/क्षमताओं की आवश्यकता होती है जो संभवतः सैंडबॉक्स के भीतर से उपलब्ध नहीं हैं। क्या मैं किसी भी एंटाइटेलमेंट्स, सैंडबॉक्सिंग इत्यादि को निर्दिष्ट किए बिना अपने डेवलपर आईडी के साथ एक ऐप को कोडिन कर सकता हूं? इसके लिए "--entitlements

+1

हां। लेकिन यह सवाल एक सैंडबॉक्स ऐप के बारे में था! – Philippe

+0

एक-ऑफ/टेंगेंशियल प्रश्न पूछ रहा है जैसा मैंने किया था जिस तरह से मैंने कोशेर नहीं किया था? क्या मुझे इसके लिए एक नया विषय खोलने की ज़रूरत है? –

संबंधित मुद्दे