मैं वर्तमान में सैंडबॉक्स वाला ऐप विकसित कर रहा हूं। यह एक मूल पाठ संपादक के रूप में कार्य करता है। हाल ही में, मैं परीक्षण करना चाहता था कि जब मैं अपने ऐप में एक फ़ाइल खोलता हूं और एक ही ऐप एक ही समय में करता हूं, तो एक ऐप में अपडेट करें, फिर दूसरे में अपडेट देखें। मैं अपने वैकल्पिक संपादकों के रूप में Coda
या BBEdit
का उपयोग कर रहा हूं। अगर मैं सैंडबॉक्सिंग बंद कर देता हूं - तो यह समस्या मौजूद नहीं है। हालांकि, चूंकि ऐप्स को 1 मार्च तक सैंडबॉक्स किया जाना आवश्यक है, इसलिए मैं प्रतीक्षा करने और देखने के बजाए समाधान लागू करना चाहता हूं।मैक सैंडबॉक्सेड ऐप अन्य ऐप्स को फ़ाइल अनुमतियां खो देता है
जब मैं दोनों फाइलें खोलता हूं और अपने ऐप में एक संपादन करता हूं और फिर दूसरे ऐप पर स्विच करता हूं, तो बदलाव प्रतिबिंबित होते हैं ताकि उन संपादकों के संस्करण को मेरे ऐप से बचाया जा सके। हालांकि, अगर मैं अपने ऐप से बचत करने के लिए बातचीत करता हूं और फिर मेरा जाता हूं - कोई खुशी नहीं। किसी भी कार्रवाई के बिना, कंसोल दो विशिष्ट त्रुटियों की रिपोर्ट करता है: deny file-issue-extension
और deny file-write-data
। ऐप दस्तावेज़ को संपादित करने के लिए विशेषाधिकार खो रहा प्रतीत होता है क्योंकि दस्तावेज़ मेरे ऐप में खोले जाने के बाद बाहरी संपादक द्वारा बदला गया था। अगर मैं अपने ऐप में फ़ाइल को सहेजने का प्रयास करता हूं, तो यह दस्तावेज़ को डुप्लिकेट करने के लिए कहता है क्योंकि यह मूल दस्तावेज़ तक पहुंच खो गया है। यह दूसरी तरफ नहीं होता है क्योंकि उन ऐप्स को सैंडबॉक्स नहीं किया गया है और इसके लिए मेरे ऐप की अनुमति नहीं है। यह भी प्रकट नहीं होता है कि यदि आप इस व्यवहार को नहीं चाहते हैं तो आप अन्य ऐप को परिवर्तन करने से रोक सकते हैं।
developer.apple.com पर प्रलेखन इस प्रकार की स्थिति का कुछ भी उल्लेख नहीं करता है। मुझे यकीन नहीं है कि यह इरादा व्यवहार है या नहीं। यदि ऐसा है, तो मैं बस अपने उपयोगकर्ता को बता सकता हूं कि दस्तावेज़ अनुमतियां खो गई हैं और उन्हें या तो एक नया संस्करण सहेजना चाहिए या फ़ाइल को फिर से खोलना चाहिए। यदि यह इरादा व्यवहार नहीं है, तो NSDocument API में कौन सी विधि खो जाने के बाद फ़ाइल को अनुमति देगी? मुझे लगता है कि जवाब पूर्व है, यह इरादा है, लेकिन क्या कोई पुष्टि कर सकता है और दस्तावेज है?
मैं इस मुद्दे के आसपास कोडिंग समाप्त कर दिया। यदि ऐप फ़ाइल को अनुमति खो देता है, तो मैं उपयोगकर्ता को अपने दस्तावेज़ को एक नई फ़ाइल या बंद करने के लिए कहता हूं। लेकिन, ऐसा लगता है कि एक ऐप किसी अन्य से अनुमतियों को "चोरी" करने में सक्षम होना चाहिए। मुझे लगता है कि यह वह कीमत है जिसे आप एक सैंडबॉक्स के लिए भुगतान करते हैं। –
मुझे ऐप्पल का डिफ़ॉल्ट संदेश मिला कि दस्तावेज़ को ऐप के बाहर संपादित किया गया था। ऐसा लगता है कि यह इरादा है। –
कृपया एक रडार फ़ाइल करें (और शायद इसे [ओपनराडर] पर दस्तावेज करें (http://openradar.appspot.com/)) - इसके वर्तमान रूप में सैंडबॉक्सिंग के साथ कई समस्याएं हैं, और ऐप्पल की अधिक बग रिपोर्ट जितनी अधिक हो सकती है, उतनी अधिक संभावना वे sandboxing को ठीक/स्थगित/वापस लेना है। – fzwo