2011-11-12 14 views
22

मैंने अन्य ऐप्स पर फ़ाइलों को भेजने के लिए एक UIDocumentInteractionController लागू किया। फ़ाइल एक .txt फ़ाइल है।ओपन इन मेनू के लिए UIDocumentInteractionController - काम नहीं करता

कोड यह रहा:

UIDocumentInteractionController *interactionController = [[UIDocumentInteractionController alloc] init]; 
[interactionController setURL:[NSURL fileURLWithPath:filePath]]; 
[interactionController setUTI:@"public.text"]; 
[interactionController setDelegate:self]; 
[interactionController presentOpenInMenuFromBarButtonItem:actionBarButtonItem animated:YES]; 

मेनू ठीक खोलता है, पन्ने, ड्रॉपबॉक्स, आदि जैसे एप्लिकेशन दिखा के रूप में मैं उम्मीद करते हैं। लेकिन जब मैं उनमें से एक नल, मेनू में ओपन खारिज और कोई कार्रवाई नहीं की (प्रदर्शन फ़ाइल नहीं भेज दिया जाता है और लक्ष्य आवेदन कभी नहीं खुलता है

मैं प्रतिनिधि तरीकों documentInteractionController:canPerformAction: और documentInteractionController:performAction: प्रतिलिपि ट्रिगर के लिए लागू करने की कोशिश की:। और प्रिंट :।? विकल्प मेनू का उपयोग कर (के रूप में मेनू में खुला के खिलाफ) और है कि केवल पेज सूचीबद्ध के साथ एक मेनू खिंचाई, लेकिन है कि अभी भी काम नहीं किया कॉल

यह कैसे हल किया जा सकता है

उत्तर

49

मैंने पाया उत्तर, और यह स्मृति प्रबंधन है। मैं UIDocumentInteractionController बना देता हूं और फिर इसे प्रस्तुत करता हूं, लेकिन मेरे पास इसे एक आवृत्ति चर के रूप में नहीं है। एआरसी इसे पहले से हटा देता है कुछ भी करने का अवसर के रूप में। इसमें दस्तावेज़ को बाहरी ऐप में भेजना शामिल है।

यह बग आईफोन पर नहीं दिखाई दिया, लेकिन आईपैड पर यह एक त्रुटि देता है क्योंकि पॉपओवर आर्किटेक्चर थोड़ा अलग काम करता है और इसे हटाए जाने पर इसे खींचने की कोशिश कर समाप्त होता है। यही मुझे बग को सतर्क करता है।

+0

धन्यवाद! मैं लंबे समय तक ढेर पर खोज कर रहा हूं और अंततः मुझे यह जवाब मेरे लिए काम करता है। – huoxinbird

+1

यह एआरसी परियोजनाओं का उत्तर है। आपको UIDocumentInteractionController के लिए एक संपत्ति घोषित करनी है: @property (nonatomic, strong) UIDocumentInteractionController * docController; –

+0

thnx। कुछ घंटे बिताए हैं लेकिन चाप के बारे में भूल जाओ। thnx बहुत अधिक समय। –

-4

यह निम्नलिखित कोड जोड़ने के लिए काफी है:

[interactionController retain]; 
16

इस बग भी iPhone/iPod पर दिखाई देता है। बस सेट करें:

@property (nonatomic, retain) UIDocumentInteractionController *docController; 

और यह बनाए रखा जाएगा और दस्तावेज़ नए एप्लिकेशन को पास कर दिया जाएगा।

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

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