আপনার কোডে কোনও ভুল নেই। এটি অ্যাপলের অভ্যন্তরীণ লগিং বার্তা, এবং আপনার এটি সম্পর্কে একটি রাডার ফাইল করা উচিত।
দুটি ইঙ্গিত রয়েছে যা দেখায় যে এটি সম্ভবত অ্যাপলের কোড:
পদ্ধতির নামটির নেতৃত্বাধীন আন্ডারস্কোরটি _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion
একটি কনভেনশন যা এটি নির্দেশ করে যে পদ্ধতিটি শ্রেণীর মধ্যে ব্যক্তিগত / অভ্যন্তরীণ বলে ঘোষণা করা হয়েছে in ( এই মন্তব্যটি দেখুন ))
এটি অনুমান করা যুক্তিসঙ্গত যে দুটি অক্ষরের উপসর্গটি FBSSceneSnapshotAction
ফ্রন্টবোর্ডের জন্য সংক্ষিপ্তরূপ, যা " আইওএস 9 ইচ্ছার-তালিকা: অতিথি মোড" এ অ্যাপ্লিকেশন প্রবর্তন সম্পর্কিত সফ্টওয়্যারটির পুরো পরিবারের অংশ:
আইওএস 8 এর সাহায্যে অ্যাপল তার সিস্টেম ম্যানেজার, স্প্রিংবোর্ডকে বেশ কয়েকটি ছোট, আরও বেশি কেন্দ্রীভূত উপাদানগুলিতে রিফ্যাক্ট করেছে। ব্যাকবোর্ড ছাড়াও, যা পটভূমির কাজগুলি পরিচালনা করার জন্য ইতিমধ্যে ছড়িয়ে পড়েছিল, তারা অগ্রভাগের কাজের জন্য ফ্রন্টবোর্ড যুক্ত করেছিল। তারা সুরক্ষিত, এনক্রিপ্ট হওয়া শর্তে লক স্ক্রিনটি পরিচালনা করতে প্রি-বোর্ডকে যুক্ত করেছে। [...]
BS
উপসর্গটি কীসের জন্য রয়েছে তা আমার কোনও ধারণা নেই BSSettings
তবে
BS
সংক্ষিপ্তরূপে BackBoard Settings
, এবং এই লগ বার্তাটির বিশ্লেষণ ইঙ্গিত দেয় যে এটি আপনার করা কিছু নয়, এবং লগিং বার্তাটি পুনরুত্পাদন করার পদক্ষেপ সহ আপনার একটি রাডার ফাইল করা উচিত।
আপনি যদি স্ট্যাক ট্রেসটি চেষ্টা করতে এবং ধরতে চান তবে আপনি এখানে লিঙ্কযুক্ত বিভাগটি প্রয়োগ করতে পারেন । কিছু তর্ক করবে যে প্রাইভেট এপিআই ওভাররাইড করা একটি খারাপ ধারণা, তবে এই ক্ষেত্রে স্ট্যাকের ট্রেস ধরার জন্য একটি অস্থায়ী ইঞ্জেকশন খুব ক্ষতিকারক হতে পারে না।
সম্পাদনা:
তবে, আমরা এখনও জানতে চাই যে এই ক্রিয়াটি কী। সুতরাং আমি একটি ব্রেকপয়েন্ট রেখেছি -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion]
এবং নিবন্ধকের মানগুলি মুদ্রণ করতে শুরু করেছি এবং একটি ক্লাস পেয়েছি FBSceneImpl
যা আমার অ্যাপ্লিকেশন সম্পর্কে পুরো গোটা তথ্য ছিল:
পরবর্তী কোন ব্যক্তিগত পদ্ধতিটি বলা হয় তা আমরা খুঁজে পেতে সক্ষম হয়েছি ( প্রোগ্রামের কাউন্টারে সঞ্চিত , নির্দেশ নির্দেশক, নিবন্ধন 15)
আমি FBSceneSnapshotAction
লগে আন-হ্যান্ডেলযুক্ত রেফারেন্সগুলি সন্ধান করার চেষ্টা করেছি , তবে কোনও ডাইস নেই। তারপরে, আমি ইউআইএপ্লিকেশনটি সাবক্লাস করেছি এবং ওভাররড করেছি _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion
। এখন আমি সরাসরি অ্যাকশনটিতে পেতে সক্ষম হয়েছি, তবে এখনও, আমরা এটি জানি না।
তারপরে, আমি আবার এফবিএসসিনস্পটঅ্যাকশনটির দিকে তাকালাম। দেখা যাচ্ছে এটির একটি সুপারক্লাস রয়েছে BSAction
।
তারপরে আমি রানটাইমব্রোজারের মতো একটি সরঞ্জাম লিখেছি এবং বিএসএকশনের সমস্ত সাবক্লাসটি সন্ধান করেছি। দেখা যাচ্ছে যে তাদের বেশ কয়েকটি তালিকা রয়েছে:
আমাদের কাছে দুটি পদ্ধতির নাম রয়েছে (একটি লগ থেকে এবং একটি ডিভাইসে প্রোগ্রামের কাউন্টার থেকে) বোঝায় যে এই ক্রিয়াগুলি হুডের নীচে সিস্টেমের চারপাশে অ্যাকশনগুলি পাস করার জন্য ব্যবহৃত হয়।
কিছু ক্রিয়া সম্ভবত অ্যাপের প্রতিনিধিটির কলব্যাকগুলিতে প্রেরণ করা হয়, অন্যদিকে অভ্যন্তরীণভাবে পরিচালিত হয়।
এখানে যা ঘটছে তা হ'ল এমন একটি ক্রিয়া রয়েছে যা সঠিকভাবে পরিচালনা করা হয়নি এবং সিস্টেম এটি লক্ষ্য করছে। আমাদের এটি দেখার কথা ছিল না, স্পষ্টতই।