আমি বর্তমানে আইওএস কীচেইনে ব্যবহারকারীর নাম (ইমেল) এবং ইমেল এবং পাসওয়ার্ডের একটি সল্টেড হ্যাশ সংরক্ষণ করছি। আমি এখানে পাওয়া ARC'ified সংস্করণ ব্যবহার করছি ।
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyCustomIdentifier" accessGroup:nil];
[wrapper setObject:APP_NAME forKey:(__bridge id)kSecAttrService];
[wrapper setObject:email forKey:(__bridge id)kSecAttrAccount];
[wrapper setObject:token forKey:(__bridge id)kSecValueData];
অ্যাপটি সক্রিয় থাকাকালীন যখন আমার নেটওয়ার্ক কলগুলির জন্য টোকন টানতে হবে তখন এই সমস্ত কাজ করে। এটি একটি ক্লিন স্টার্টআপ থেকে লগ ইন করার পাশাপাশি সমস্ত নেটওয়ার্ক কল জুড়ে কাজ করে। অ্যাপটি ব্যাকগ্রাউন্ডে থাকলে সমস্যা শুরু হয়।
মনে রাখবেন, এটি কেবল বিক্ষিপ্তভাবে ঘটে এবং আমি এখনও এটি নির্দিষ্ট আইওএস সংস্করণ বা ডিভাইসে পিন করতে পারিনি।
ব্যবহারকারী একটি অবস্থান ট্রিপ করে (অঞ্চল পর্যবেক্ষণ) এবং আমি তাদের স্থিতি দিয়ে সার্ভারটি আপডেট করতে চাই। আমি কীচেন থেকে টোকেনটি টেনে আনার চেষ্টা করি, অন্য প্রতিটি নেটওয়ার্ক কলের জন্য আমি যেমন করি এবং স্থিতি আপডেট করি। তবে কিছু ব্যবহারকারীর জন্য মান শূন্য। এটি ছাড়া আমি নেটওয়ার্ক স্টাফ আপডেট করতে পারি না। কেন এটি বেশিরভাগের জন্য কাজ করবে, তবে অল্প শতাংশের জন্য নয়?
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyCustomIdentifier" accessGroup:nil];
NSString *token = [wrapper objectForKey:(__bridge id)kSecValueData];
আমি কীচেইনওয়ার্পারের নন-এআরসি সংস্করণে ফিরে গিয়েছি, তবে আমি এখনও একই ফলাফল পেয়েছি। আমি এই সম্পর্কে কোন প্রতিক্রিয়া প্রশংসা করব। এটি আমার ব্যবহারকারীর একটি ক্ষুদ্র অংশ, তবে এটি এমন একটি বিষয় যা আমি ঠিক করতে চাই এবং উদ্বেগ ঘটাতে চাই না। আগাম ধন্যবাদ.
এছাড়াও, আমার সমস্ত ব্যাকগ্রাউন্ডের কাজগুলি সময় শেষ হতে না দেওয়ার জন্য একটি ব্যাকগ্রাউন্ড টাস্কে সেট আপ করা হয়েছে। আমি কীচেইনকে ঘিরে কাজটি নিয়ে কোনও সমস্যা নেই, তবে আমার টোকেনটি পূরণ না হওয়া পর্যন্ত আমি জিনিসগুলিকে এগিয়ে যেতে দিচ্ছি না।
এডিট করুন আমি আমার সমস্যাটি খুঁজে পেয়েছি তারা ব্যাকগ্রাউন্ড থেকে মানগুলি পুনরুদ্ধার না করে কীচেইন করে। আমি নীচের উত্তরটি পোস্ট করব এবং এটি গ্রহণ করব কারণ আমার মনে হয় এই প্রশ্নটি পরে অন্যদের কাছে মূল্যবান হয়ে উঠতে পারে।