मैं संभवतः कोको एप्लिकेशन (मैक, आईफोन नहीं) के लिए एक प्लगइन सिस्टम लिख रहा हूं।उद्देश्य-सी प्लगइन आर्किटेक्चर सुरक्षा (मैक, आईफोन नहीं)
प्रत्येक प्लगइन को एक बंडल बनाने का एक आम तरीका है, फिर मुख्य एप्लिकेशन में बंडल इंजेक्ट करें। मैं ऐसा करने के सुरक्षा निहितार्थ से चिंतित हूं, क्योंकि बंडल को उद्देश्य-सी रनटाइम तक पूर्ण पहुंच होगी। मैं विशेष रूप से एक प्लगइन से संबंधित हूं जिसमें पंजीकरण और सीरियल कुंजी को संभालने वाले कोड तक पहुंच है।
एक अन्य प्लगइन सिस्टम जिसे हम विचार कर रहे हैं वह वितरित अधिसूचनाओं पर आधारित है। असल में, प्रत्येक प्लगइन एक अलग प्रक्रिया होगी, और वे केवल वितरित अधिसूचनाओं के माध्यम से संवाद करेंगे।
क्या बंडलों को सुरक्षित रूप से लोड करने का कोई तरीका है (उदा। सैंडबॉक्सिंग)? यदि नहीं, तो क्या आप वितरित अधिसूचनाओं का उपयोग करने में कोई समस्या देखते हैं? क्या कोई अन्य प्लगइन आर्किटेक्चर है जो बेहतर होगा?
सैंडबॉक्सिंग लिंक के लिए धन्यवाद। मैं वास्तव में 'NSDistributedNotificationCenter' के बारे में बात कर रहा था, लेकिन वितरित वस्तुओं पर मुझे बेहतर नजर आएगी। बंडलों के साथ मेरी चिंता यह है कि प्लगइन डेवलपर्स 'objc_getClassList' का उपयोग करेंगे और स्विजलिंग/कॉलिंग विधियों को शुरू करेंगे जिन्हें वे स्पर्श नहीं करना चाहिए, चाहे वह क्रैकिंग उद्देश्यों के लिए है या नहीं। ऐसा लगता है कि एक अलग प्रक्रिया निश्चित रूप से जाने का तरीका है। –