ত্রুটি: আইওএস 9-এ হ্যান্ডলননলানচ স্পেসিফিকেশনস


157

আমি আইওএস 9 এ নিম্নলিখিত ত্রুটিটি পাচ্ছি:

    -[UIApplication_handleNonLaunchSpecificActions:
      forScene:
      withTransitionContext:
      completion:] unhandled action -> 
      <FBSSceneSnapshotAction: 0x150b2aef0> 
       {
            handler          = remote;
            info = <BSSettings: 0x15333f650> 
            {
                (1) = 5;
            };
        }

অন্য কেউ কি এই ত্রুটিটি পেয়েছে বা এর প্রভাব রয়েছে? কি সমস্যা?


6
আইওএস 9 পোস্ট বিটা রিলিজে এখনও রয়েছে। সমস্যাটি কী তা এবং এর কী কী প্রভাব রয়েছে তা বোঝা ভাল।
রডি

11
আমার অ্যাপ্লিকেশনটি চালু থাকাকালীন আমি যখন আইফোনটি লক করি তখন আমার একই সমস্যা হয়। আইওএস 9.0, এক্সকোড 7.0।
এনকোরোটকভ

5
এটি একটি অ্যাপল বাগ বলে মনে হচ্ছে যেহেতু এক্সকোড 7 দিয়ে তৈরি একটি একেবারে নতুন প্রকল্পেও এই সঠিক সমস্যা রয়েছে।
হংকফেই

12
অ্যাপল বিকাশকারী ফোরামে কোনও যোগ্যতার কিছু কি আলোচনা হয়? দেখে মনে হচ্ছে যে কোনও প্রকারের বাগ বন্ধ হয়ে যায় "যদি অ্যাপল আপনাকে না চান তবে আপনি কেন এটি করতে চান?" সমস্যাগুলি সমাধান করার জন্য যখন হতাশার শেষ স্টপ।
রডি

11
স্ট্যাকওভারফ্লো.com / প্রশ্নগুলি / 32658037/… দেখুন - এটি একই সমস্যা নিয়ে আলোচনা করে।
আইফোন গাই

উত্তর:


10

আপনার কোডে কোনও ভুল নেই। এটি অ্যাপলের অভ্যন্তরীণ লগিং বার্তা, এবং আপনার এটি সম্পর্কে একটি রাডার ফাইল করা উচিত।

দুটি ইঙ্গিত রয়েছে যা দেখায় যে এটি সম্ভবত অ্যাপলের কোড:

  1. পদ্ধতির নামটির নেতৃত্বাধীন আন্ডারস্কোরটি _handleNonLaunchSpecificActions:forScene:withTransitionContext:completionএকটি কনভেনশন যা এটি নির্দেশ করে যে পদ্ধতিটি শ্রেণীর মধ্যে ব্যক্তিগত / অভ্যন্তরীণ বলে ঘোষণা করা হয়েছে in ( এই মন্তব্যটি দেখুন See )

  2. এটি অনুমান করা যুক্তিসঙ্গত যে দুটি অক্ষরের উপসর্গটি FBSSceneSnapshotActionফ্রন্টবোর্ডের জন্য সংক্ষিপ্তরূপ, যা " আইওএস 9 ইচ্ছার-তালিকা: অতিথি মোড" এ অ্যাপ্লিকেশন চালু করার সাথে সম্পর্কিত পুরো পরিবারের অংশ:

আইওএস 8 এর সাহায্যে অ্যাপল তার সিস্টেম ম্যানেজার, স্প্রিংবোর্ডকে বেশ কয়েকটি ছোট, আরও বেশি কেন্দ্রীভূত উপাদানগুলিতে রিফেক্ট করে। ব্যাকবোর্ড ছাড়াও, যা পটভূমির কাজগুলি পরিচালনা করার জন্য ইতিমধ্যে কাটা হয়েছিল, তারা অগ্রভাগের কার্যগুলির জন্য ফ্রন্টবোর্ড যুক্ত করেছিল। তারা সুরক্ষিত, এনক্রিপ্ট হওয়া শর্তে লক স্ক্রিনটি পরিচালনা করতে প্রিবার্ড যুক্ত করেছে। [...]

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

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

সম্পাদনা করুন:

তবে, আমরা এখনও জানতে চাই যে এই ক্রিয়াটি কী। সুতরাং আমি একটি ব্রেকপয়েন্ট রেখেছি -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion]এবং নিবন্ধকের মানগুলি মুদ্রণ করতে শুরু করে এবং এমন একটি ক্লাস পেয়েছি FBSceneImplযার সাথে আমার অ্যাপ্লিকেশন সম্পর্কে পুরো তথ্য রয়েছে:

দৃশ্য

পরবর্তী কোন ব্যক্তিগত পদ্ধতিটি বলা হয় তা আমরা খুঁজে পেতে সক্ষম হয়েছি (প্রোগ্রামের কাউন্টারে সঞ্চিত, 15 নিবন্ধন করুন))

প্রোগ্রাম কাউন্টার

আমি FBSceneSnapshotActionলগে আন-হ্যান্ডেলযুক্ত রেফারেন্সগুলি সন্ধান করার চেষ্টা করেছি , তবে কোনও পাশা নেই। তারপরে, আমি ইউআইএপ্লিকেশনটি সাবক্লাস করেছি এবং ওভাররড করেছি _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion। এখন আমি সরাসরি অ্যাকশনটিতে পেতে সক্ষম হয়েছি, তবে এখনও, আমরা এটি জানি না।

তারপরে, আমি আবার এফবিএসসিনস্পটঅ্যাকশনটির দিকে তাকালাম। দেখা যাচ্ছে এটির একটি সুপারক্লাস রয়েছে BSAction

তারপরে আমি রানটাইমব্রোজারের মতো একটি সরঞ্জাম লিখেছি এবং বিএসএকশনের সমস্ত সাবক্লাসটি সন্ধান করেছি। দেখা যাচ্ছে যে তাদের বেশ কয়েকটি তালিকা রয়েছে:

কার্য তালিকা

আমাদের কাছে দুটি পদ্ধতির নাম রয়েছে (একটি লগ থেকে এবং একটি ডিভাইসে প্রোগ্রামের কাউন্টার থেকে) ইঙ্গিত দেয় যে এই ক্রিয়াগুলি হুডের নীচে সিস্টেমের চারপাশে অ্যাকশনগুলি পাস করার জন্য ব্যবহৃত হয়।

কিছু ক্রিয়া সম্ভবত অ্যাপের প্রতিনিধিটির কলব্যাকগুলিতে প্রেরণ করা হয়, অন্যদিকে অভ্যন্তরীণভাবে পরিচালিত হয়।

এখানে যা ঘটছে তা হ'ল এখানে এমন একটি ক্রিয়া রয়েছে যা সঠিকভাবে পরিচালনা করা হয়নি এবং সিস্টেম এটি লক্ষ্য করছে। আমাদের এটি দেখার কথা ছিল না, স্পষ্টতই।


দুঃখিত তবে এটি আসলে কোনও উত্তর নয়; নিম্নলিখিত মন্তব্য আরও। কোডটি অ্যাপলের অভ্যন্তরীণ ত্রুটিটি খুব বেশি, এটি প্রশ্নবিদ্ধ নয়। অনুমানগুলি আসলে কোনও সমাধান নয় এবং প্রদত্ত iOS8 ব্যাখ্যাটি প্রাসঙ্গিক নয় কারণ ত্রুটিটি কেবল iOS9 এ হাজির হয়েছিল (এটি iOS8 এ ঘটে না) iOS
রডি

2
"কী ভুল" এর উত্তর হ'ল স্প্রিংবোর্ডের ভিতরে থাকা কিছু স্ন্যাপশট ক্রিয়া পরিচালনা করে নি। লগিং বার্তাটি এটাই বলে। অ্যাপলের বাইরের আর কেউ আপনাকে বলতে পারে।
মোশে

এই লগিং বার্তাটি আইওএস 8-তে প্রকাশিত হয়নি তা সত্য যদিও প্রাসঙ্গিক নয়। এটি একটি বিপথগামী লগিং বার্তা যা রাডার দিয়ে দায়ের করা উচিত।
মোশে

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

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