ইউআইবিউবভিউয়ের সমস্ত কুকিজ কীভাবে মুছবেন?


91

আমার অ্যাপ্লিকেশনটিতে, আমার কাছে UIWebviewলগইন করার জন্য লিঙ্কডইন এথ পৃষ্ঠাটি লোড হয়। যখন ব্যবহারকারী লগ ইন করে, কুকিজ অ্যাপ্লিকেশনটিতে সংরক্ষণ করে।

আমার অ্যাপ্লিকেশনটিতে একটি লগআউট বোতাম রয়েছে যা লিংকডিন লগইনের সাথে সম্পর্কিত নয়। সুতরাং ব্যবহারকারী যখন এই বোতামটিতে ক্লিক করেন, তখন তিনি অ্যাপ থেকে লগ ইন করেন। আমি চাই যে এই লগ অফটি তার লিঙ্কডিং কুকিগুলি অ্যাপ্লিকেশন থেকেও সাফ করবে, যাতে ব্যবহারকারী সম্পূর্ণরূপে লগ আউট করে।

উত্তর:


209

এই প্রশ্ন অনুসারে , আপনি "কুকি জার" এর প্রতিটি কুকির মধ্য দিয়ে যেতে পারেন এবং এগুলি মুছতে পারেন:

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
   [storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];

@ ফিলিপ একটি অস্থায়ী উপায় খুঁজে পেয়েছে, আপনি শেষ বার লগআউট করলে অ্যাপ লোডে কুকিজ মুছতে হবে।
uশু

@ ইশু ভাল, হ্যাঁ, আমি এখন যা করছি ঠিক তেমনই, তবে কীভাবে কুকিজকে চিরতরে মুছে ফেলা যায় এবং কেবল বর্তমান অধিবেশনেই নয়, এই প্রশ্নের উত্তর আসলেই দেয় না
ফিলিপ ব্রহ্ম

এটি স্থায়ীভাবে কুকিজ মুছে দেয়। এর পরে করা সমস্ত অনুরোধ কুকিজ পুনরায় তৈরি হতে পারে। এছাড়াও, যদি আপনি কেবল কুকিগুলি মুছে ফেলতে চান যেখানে কোনও ব্যবহারকারী লগ আউট করছেন তবে আমি কেবলমাত্র সেশন কুকিজ মুছে ফেলার পরামর্শ দেব, কারণ লগ আউট করা সত্যই সেশনটির সমাপ্তি। অন্যথায় আপনি সম্ভাব্য সেটিংস হারাবেন যা ব্যবহারকারীরা অধিবেশন জুড়েই থাকতে চান।
ডিসিংটন

19
পরিবর্তনগুলি ডিস্কে সংরক্ষিত হয়েছে তা নিশ্চিত করার জন্য [[NSUserDefaults স্ট্যান্ডার্ডUserDephaults] সিঙ্ক্রোনাইজ] কল করতে ভুলবেন না। @ ফিলিপ এই কারণেই আপনি কুকিগুলি পরবর্তী রানগুলিতে ফিরে আসতে দেখছেন।
ইত্তানথোরজোশ

আমি এটি চেষ্টা করেছি কিন্তু স্টোরেজ 0 গণনা ফিরে আসে, আমি এটি iOS 8 সিমুলেটারে পরীক্ষা করি test সুতরাং আমি সাফারিতে ফেসবুকের কুকিগুলি মুছতে কীভাবে পারি।
নদা গামাল

8

এই সম্পর্কে কিছু তথ্য যুক্ত করতে চেয়েছিলেন।

ইন OS X এর 10.9 / আইওএস 7 এবং পরে, আপনি ব্যবহার করতে পারেন : -resetWithCompletionHandler কুকিজ এবং ক্যাশে আপনার থেকে পুরো অ্যাপের ইত্যাদি পরিষ্কার sharedSession:

সমস্ত কুকি, ক্যাশে এবং শংসাপত্রের শূন্যপদ খালি করে, ডিস্ক ফাইলগুলি সরিয়ে দেয়, ডিস্কে অগ্রগতি ডাউনলোডগুলি ফ্লাশ করে এবং ভবিষ্যতের অনুরোধগুলি একটি নতুন সকেটে ঘটবে তা নিশ্চিত করে।

[[NSURLSession sharedSession] resetWithCompletionHandler:^{
    // Do something once it's done.
}];

জন্য-ইন লুপ সঙ্গে deleteCookie:মত শোনায় যখন একটি সংগ্রহ enumerating পরিবর্তন আমার কাছে। (জানেন না, কোনও খারাপ ধারণা হতে পারে?)


আমি দুটি পদ্ধতি ব্যবহার করেছি যা সাফল্যের সাথে সঞ্চালিত হয়, তবে আমি এখনও সন্ধান করছি যে গুগল এই সমস্তগুলির পরেও সাইন ইন করছে না (সাইন ইন না করে)। কোন ধারনা? ধন্যবাদ
মাইলগন 21

এটি আলাফোফায়ারের কোনও রাজ্য এবং আমার ব্যাকএন্ড আরএসটি এপিআইগুলির আমার ব্যবহারকে প্রভাবিত করবে? অ্যালামোফায়ার কি এর সমাধানটি ইউআরএলসেশনে ভিত্তি করে না?
সাজান

1

আপনি ওয়েবভিউয়ের এইচটিএমএল এর ভিতরে একটি ফাংশন তৈরি করতে পারেন যা কুকিগুলি পরিষ্কার করে।

আপনার যদি প্রয়োজন হয় কেবল একবার অ্যাপ্লিকেশন শুরু হওয়ার পরে, আপনি কোনও টাইটানিয়াম ইভেন্টের সাথে এই ফাংশনটি ট্রিগার করতে পারেন একবার cleaning


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.