ड्रॉपबॉक्स एसडीके आपके ऐपडिलेगेट को कॉलबैक रिसीवर के रूप में उपयोग करता है। तो जब आपने [[DBSession sharedSession] linkFromController:self];
कहा है तो ड्रॉपबॉक्स एसडीके किसी भी मामले में आपकी ऐपडिलेगेट की – application:openURL:sourceApplication:annotation:
विधि कॉल करेगा।
तो ऐपडिलेगेट के भीतर आप लॉगिन सफल होने के बाद [[DBSession sharedSession] isLinked]
द्वारा देख सकते हैं। दुर्भाग्य से आपके व्यू कंट्रोलर के लिए कॉलबैक नहीं है, इसलिए आपको इसे अन्य माध्यमों से सूचित करना होगा (प्रत्यक्ष संदर्भ या अधिसूचना पोस्ट करें)।
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
// At this point you can start making API Calls. Login was successful
[self doSomething];
} else {
// Login was canceled/failed.
}
return YES;
}
// Add whatever other url handling code your app requires here
return NO;
}
ऐप्पल की नीतियों के साथ किसी समस्या के कारण ऐप को वापस कॉल करने का यह अजीब तरीका ड्रॉपबॉक्स द्वारा पेश किया गया था। एसडीके के पुराने संस्करणों में लॉगिन करने के लिए एक बाहरी सफारी पृष्ठ खोला गया होगा। कुछ समय पर ऐप्पल ऐसे ऐप्स स्वीकार नहीं करेगा। तो ड्रॉपबॉक्स लोगों ने आंतरिक दृश्य नियंत्रक लॉगिन शुरू किया, लेकिन ऐपडिलेगेट को परिणामों के प्राप्तकर्ता के रूप में रखा। यदि उपयोगकर्ता के पास अपने डिवाइस पर ड्रॉपबॉक्स ऐप इंस्टॉल है, तो लॉगिन ड्रॉपबॉक्स ऐप पर निर्देशित किया जाएगा, साथ ही ऐपडिलेगेट को बदले में बुलाया जाएगा।
यह अच्छी तरह से काम किया है ... धन्यवाद! – orafaelreis
धन्यवाद श्रीमान, मैंने इस तरह कुछ खोजने के लिए घंटों खो दिए! –
धन्यवाद सर, यह मेरे लिए काम करता है! –