2012-10-23 23 views
9

मैं आईओएस ड्रॉपबॉक्स एसडीके का उपयोग कर रहा हूं और यह जांचना चाहता हूं कि मेरा ऐप पहले से ही ड्रॉपबॉक्स खाते से जुड़ा हुआ है या नहीं। तो मुझे क्या करना:ड्रॉपबॉक्स आईओएस एसडीके हमेशा के लिए 'हाँ' लौटाता है:

if (self.isLinked) { 
    NSLog(@"linked"); 
} 

हालांकि self.isLinked हमेशा YES देता है। आईफोन सिम्युलेटर की सफाई और रीसेट करने के बाद भी।


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

सिम्युलेटर में यथार्थवादी व्यवहार प्राप्त करने के लिए ड्रॉपबॉक्स प्राथमिकताओं में अपने मैक को अनलिंक करें।

उत्तर

15

2012 के मध्य में कभी-कभी (आईओएस एसडीके संस्करण लॉग नहीं मिल सकता) ड्रॉपबॉक्स आईओएस एसडीके व्यवहार एक ऐप की अनइंस्टॉल/पुनर्स्थापित (डिवाइस पर भी) के माध्यम से 'लिंक' स्थिति को बनाए रखने के लिए बदल गया। नतीजतन, 'लिंक' कॉलबैक (जैसे मेरा) प्राप्त करने पर कुछ क्रियाएं करने वाले ऐप्स पुनर्स्थापित करने के बाद काम नहीं करेंगे।

पहला समाधान पहली बार अनलिंक करना है। ऐसा कुछ:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    if ([[NSUserDefaults standardUserDefaults] objectForKey:HAS_RUN_KEY] == nil) 
    { 
     // ensure you have a DBSession to unlink 
     if ([DBSession sharedSession] == nil) 
     { 
      DBSession* dbSession = [[[DBSession alloc] initWithAppKey:DROPBOX_KEY appSecret:DROPBOX_SECRET root:kDBRootAppFolder] autorelease]; 
      [DBSession setSharedSession:dbSession]; 
     } 

     // unlink 
     [[DBSession sharedSession] unlinkAll]; 

     // set 'has run' flag 
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:HAS_RUN_KEY]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 
} 
+1

जबकि मेरी समस्या एक और विशेष मामला था (यदि मैक जुड़ा हुआ है तो ड्रॉपबॉक्स सिम्युलेटर में लिंक रखता है) आपका समाधान किसी अन्य संभावित लिंकिंग समस्याओं पर भी लागू होता है। यह बहुत सी सिरदर्द को रोक सकता है। धन्यवाद, मैं इसे अपने ऐप में एकीकृत कर दूंगा। – codingFriend1

+0

@ कोडिंगफ्रेंड 1 आपको यह भी जवाब देना चाहिए। धन्यवाद, मैं इस पर पागल हो रहा था। – fzwo

+0

यहां पर HAS_RUN_KEY क्या है ?? उपरोक्त कोड स्निपेट में – Bhushan

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