تسجيل الدخول من Twitter في iPhone باستخدام مكتبة Oauth+MgTwitterEngine

StackOverflow https://stackoverflow.com/questions/4067837

سؤال

لقد قمت بتطبيق Twitter باستخدام مكتبة Oauth و MgTwitterEngine. مرحلة تسجيل الدخول تعمل بشكل جيد ولكني أواجه مشكلة في تسجيل الدخول. لقد أحالت كل منشورات تسجيل الدخول إلى OAUTH لكنها لا تعمل. هل يمكن لأي شخص اقتراح الطريقة المثالية لتسجيل الخروج من Twitter ...؟ أو ما هي التغييرات التي يجب علي إجراؤها في ملف المكتبة للتسجيل .. !!

هل كانت مفيدة؟

المحلول

لا يوجد تسجيل من Twitter Oauth/Xauth ... تحتاج إلى تنفيذ حل جانب العميل:

  1. قم بتخزين رمز الوصول باستمرار في سلسلة المفاتيح أو Coredata (لا ينتهي أبدًا ما لم يلغي المستخدم تطبيقك من حسابه/حسابه) عند تسجيل الدخول واستخدامه في المكالمات اللاحقة إلى Twitter و "إبقاء المستخدم موقّعًا".
  2. عند التوقيع على حذف أي بيانات ذات صلة مخزنة (في هذه الحالة ، رمز الوصول)

أتمنى أن يساعد ذلك

نصائح أخرى

هل وجد أي شخص الحل لهذا؟ إذا كان الأمر كذلك ، يرجى النشر!

تحديث: لقد اكتشفت ذلك. في mgtwitterengine.m ، ابحث عن _clearcookies في طريقة initWithDelegate. تم تعيين هذا حاليًا إلى لا ، قم بتغييره إلى نعم. في طريقة الإجراء الخاصة بك لتسجيل الخروج من المستخدم الحالي ، اتصل [_Engine ClearAccessToken]. الآن قم بتشغيله ، وفويلا ، إنه يعمل!

أنا لا أعرف كيفية تسجيل الخروج. ولكن إذا كنت تريد شاشة تسجيل الدخول في كل مرة ، فقم بعمل شيء واحد (لا أعرف أن هذا هو الطريق الصحيح) ، احذف بيانات تسجيل الدخول المحددة التي يحفظها المحرك في userDefaults.

لا أراها معلنة بشكل صريح هنا ، لكنني استخدمت وظيفة "ClearAccessToken" في SA_OAUTHTWITTENGINE "لتسجيل الخروج" للمستخدم الحالي.

قد يكون نوعًا من الغباء ، لكن يبدو أن هذا يعمل

- (IBAction)logout:(id)sender {
    [_engine dealloc];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults removeObjectForKey:@"authData"];
    [defaults synchronize];

    [self presentLoginView];
    }

أستخدم هذا البرنامج التعليمي لإنتاج Twitter إلى تطبيق iOS حلقة الوصل

للتسجيل ، أستخدم التالي:

[_engine clearAccessToken];

_Engine - هذا هو مثيل من فئة SA_OAUTHTWITTENGINE.

يمكنك استدعاء هذه الطريقة على طريقة iBacte الخاصة بك.

تحتاج أيضا هذه الطريقة

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults removeObjectForKey:@"authData"];
    [defaults synchronize];

يجب عليك حذف حسابك في تطبيق Twitter الموجود في قائمة الإعدادات لجهاز iPhone الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top