আইওএস 10: "[অ্যাপ] আমরা যদি সত্যিকারের প্রাক কমিট হ্যান্ডলারে থাকি তবে আমরা আসলে CA বাধার কারণে কোনও নতুন বেড়া যুক্ত করতে পারি না"


389

আমার অ্যাপ্লিকেশনটি চালানোর সময় আমি কখনও কখনও এক্সকোড 8 বি 3 এর লগগুলিতে এই বার্তাটি পাই, সমস্ত কিছু কাজ করে বলে মনে হচ্ছে তবে আমি কোথা থেকে এসেছি তা জানতে চাই। গুগল মোটেই সহায়তা করেনি।


2
আপনি কি ইউআইএনএভিগেশন কন্ট্রোলার প্রতিনিধি পদ্ধতিটি কল করছেন: মজাদার ন্যাভিগেশনকন্ট্রোলার (নেভিগেশনকন্ট্রোলার: ইউআইএনএভিগেশন কন্ট্রোলার, উইলশোভিউ কনট্রোলার ভিউ কনট্রোলার: ইউআইভিউ কনট্রোলার, অ্যানিমেটেড: বুল)}}?
নরম্যান জি

2
willShowViewController কখনও বলা হয় না, না ...
স্বল্কনার

আমি একই পেতে। আমি স্প্রিটকিট এবং সিনকিট ব্যবহার করছি এবং তাদের সন্দেহ করছি!
হাওয়ার্ড লোভাত

3
কেউ বাগ রিপোর্ট দায়ের করেন? আমি প্রায়
ডেভিড ডেলমন্টে

1
এই উত্তরটি দেখুন দয়া করে। stackoverflow.com/a/39997761/6602495
স্নেহা

উত্তর:


285

আপনার এক্সকোডে:

  • স্টপ বোতামের ঠিক পাশে আপনার সক্রিয় স্কিমের নামটিতে ক্লিক করুন
  • সম্পাদনা প্রকল্পে ক্লিক করুন ....
  • রান (ডিবাগ) এ আর্গুমেন্ট ট্যাবটি নির্বাচন করুন
  • এনভায়রনমেন্ট ভেরিয়েবলগুলিতে + ক্লিক করুন
  • পরিবর্তনশীল যুক্ত করুন: OS_ACTIVITY_MODE = অক্ষম

স্ক্রিনশট


4
অতিরিক্ত তথ্যের জন্য আপনাকে ধন্যবাদ
আমেরিকান

26
সচেতন থাকুন যে আমি এলোমেলোভাবে কনসোলে কোনও এনএসএলগ আউটপুট পাচ্ছি না এবং এটি ঠিক করার জন্য এটি আবার সরিয়েছি। এটি 'হাই-ক্লাস' প্রোগ্রামিংয়ের আরও কিছু যা আমরা আপেল-এর গুন্ডাদের দ্বারা শিকার হই।
আমেরিকান

37
এটি মূল্যবান জন্য, আমি যখনই ওরিয়েন্টেশন পরিবর্তন করা হয় তখনই আমি এই বার্তাটি পাই এবং আমার কাছে OS_ACTIVITY_MODE পরিবেশ পরিবর্তনশীল অক্ষম থাকবে।
ব্যবহারকারী2698617

5
দ্রষ্টব্য: এটি যুক্ত করার পরে আপনি কনসোলে এনএসলোগগুলি দেখতে পাবেন না।
niravdesai21

4
এটি কি ফায়ার অ্যালার্ম বন্ধ করার মতো নয়?
স্কটিব্ল্যাডেস

191

এটি +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]os_log API এর মাধ্যমে আসে । এটি আপনি যে অন্য উপাদানগুলি / ফ্রেমওয়ার্কগুলি ব্যবহার করছেন তা থেকে নির্ভর করে না (কেবলমাত্র ইউআইকিট থেকে) - এটি ইন্টারফেস ওরিয়েন্টেশন পরিবর্তনে পরিষ্কার একক দর্শন অ্যাপ্লিকেশন প্রকল্পে পুনরুত্পাদন করে।

এই পদ্ধতিটি 2 টি অংশ থেকে গঠিত:

  1. হ্যান্ডলারের তালিকায় পাস হওয়া প্রাকমমিট হ্যান্ডলার যুক্ত করা;
  2. কিছু কাজ করুন যা বর্তমান সীমাবদ্ধ রাষ্ট্রের মেশিনের রাজ্যের উপর নির্ভর করে।

যখন দ্বিতীয় অংশটি ব্যর্থ হয় (নিষিদ্ধ রূপান্তরের মতো দেখায়), এটি ত্রুটির লগের জন্য উপরে বার্তা প্রিন্ট করে। তবে, আমি মনে করি যে এই সমস্যাটি মারাত্মক নয়: এই পদ্ধতিতে আরও 2 টি অতিরিক্ত দাবী মামলা রয়েছে, যা ডিবাগে ক্র্যাশ ঘটায়।

দেখে মনে হচ্ছে যে রাডার আমরা করতে পারি সেরা।


1
আপনি, দয়া করে, সরঞ্জামগুলির বিষয়ে বিস্তারিত বলতে পারেন, যা আপনি এই ব্যক্তিগত পদ্ধতির নাম এবং এর কাঠামোটি পেতে ডিবাগিংয়ের জন্য ব্যবহার করেছিলেন?
ওলেকসান্ডার কারাবেরভ

9
@ আলেকজান্ডারকারাবেরভ আপনি ফ্রেম বাইনারিতে সতর্কতা পাঠ্য এবং ব্যক্তিগত পদ্ধতি থেকে এই পাঠ্যের রেফারেন্সের জন্য হপার ডিসসেম্বেবলার ব্যবহার করতে পারেন।
k06a

কীবোর্ডটি যখন স্ক্রল হয় তখন আমি এগুলি পাই এবং আমার কাছে একটি নিয়ামক এর দৃষ্টিভঙ্গিগুলি পুনরায় আকার দিয়ে সাড়াতে সাবস্ক্রাইব করেছে।
yo.ian.g

82

environment variablesস্কিমের অধীনে নিম্নলিখিতগুলিতে রাখার চেষ্টা করুনrun(debug)

OS_ACTIVITY_MODE = disable

আমি হার্ডওয়্যার-> মেনু আইটেমগুলি ঘোরানোর সময় আইফোন 7 ঘুরানোর সময় সিমুলেটরটিতে পেয়েছি। এই পরিবেশের পরিবর্তনশীলটি উদ্বুদ্ধ বার্তাটিকে দূরে সরিয়ে দেয়।
জর্জ ডি গিরটন

1
নীচে @Foo এর উত্তরটি কার্যকর কারণ এটিতে কীভাবে বিশদ রয়েছে তা অন্তর্ভুক্ত।
কেভিন ওভেন

1
এটি সীমাবদ্ধতা সতর্কতা
লগটিও

36
বার্তাটি কোথা থেকে আসে ওপি জিজ্ঞাসা করেছিল। এটি কীভাবে চুপ করে যায় তা কেবল সঠিক উত্তর নয়।
আইকারাম্বা

6
"IOS_ACTIVITY_MODE = অক্ষম" উত্তরটি সমস্ত লগিং বন্ধ করে দেয়! আপনি যদি লগটি দেখতে না চান তবে কেবল লগিং ভিউটি বন্ধ করুন। সত্যিই হাস্যকর উত্তর, আশ্চর্যজনক যে এর এত বেশি ভোট রয়েছে! প্রকৃত বার্তাটি সম্বোধনের জন্য কিছুই করে না। আমাদের অ্যাপ্লিকেশনগুলি যা প্রচুর পরিমাণে মূল ডেটা ব্যবহার করে তা সূক্ষ্মভাবে কাজ করে, এই বার্তাগুলি এবং অন্যগুলি সর্বশেষ এক্সকোড আপডেটের পরে উপস্থিত হতে শুরু করে। দুঃখের বিষয় যে অ্যাপল এই ধরণের সমস্যা সমাধান করতে পারে না।
জন

13

আমরা এটিকে এটিকে নিঃশব্দ করতে পারি (ডিভাইস এবং সিমুলেটরের বিভিন্ন মান প্রয়োজন):

নাম OS_ACTIVITY_MODEএবং মান যুক্ত করুন ${DEBUG_ACTIVITY_MODE}এবং এটি পরীক্ষা করুন (পণ্য -> প্রকল্প -> স্কিম সম্পাদনা করুন -> চালান -> যুক্তি -> পরিবেশ)।

এখানে চিত্র বর্ণনা লিখুন

ব্যবহারকারী-সংজ্ঞায়িত সেটিং যুক্ত করুন DEBUG_ACTIVITY_MODE, তারপরে যুক্ত Any iOS Simulator SDKকরুন Debugএবং এর মান সেট করুন disable(প্রকল্পে -> বিল্ড সেটিংস -> + -> ব্যবহারকারী-সংজ্ঞায়িত সেটিং)

এখানে চিত্র বর্ণনা লিখুন


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

-1

ঠিক করার জন্য, আমি সিমুলেটর থেকে অ্যাপটি মুছলাম।

আমি প্রথমে ক্লিন দৌড়েছি ।

আমি মনে করি না যে ওরিয়েন্টেশন সম্পর্কিত কোনও এটিই ট্রিগার করেছিল। এই লক্ষণটি শুরুর আগে সবচেয়ে বড় যে বিষয়টি পরিবর্তিত হয়েছিল তা হ'ল একটি সুইফ্ট কাঠামোটি NSLogমূল থ্রেডের পরিবর্তে শ্রমিক থ্রেডগুলিতে কল করা শুরু করে।


1
একটি পরিষ্কার না করা আমার পক্ষে প্রথমে কাজ করেছিল যখন আমি এটি ঘোরানো না করে সিমুলেটারে চালিত করি, তবে তারপরে আমি আবার কোনও ঘূর্ণন কমান্ড দিয়ে আবার পরীক্ষা করে দেখি, এটি একই ত্রুটিটি বলেছিল।
চিজনাড

আমি প্যান অঙ্গভঙ্গি ব্যবহার করছি এবং অভিমুখীকরণ পরিবর্তন করার সময় কেবল এই ত্রুটিটি পাই।
জেরেমি অ্যান্ড্রুজ

-8
OS_ACTIVITY_MODE = disable

এটি বাস্তব ডিভাইসগুলিতে ডিবাগ করার ক্ষমতাও অক্ষম করবে (এরপরে রিয়েল ডিভাইসগুলি থেকে কোনও কনসোল আউটপুট নেই)।


6
আপনি সবেমাত্র একটি পূর্ববর্তী উত্তর অনুলিপি করেছেন (কম বিশদ সহ)
অ্যাশলে মিলস

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