বর্তমান ভিউকন্ট্রোলার: আইওএস <6 (অটোলআউট) এ ক্র্যাশ


92

এটি আমি একটি অদ্ভুত ক্রাশ পাচ্ছি। ক্র্যাশ ঘটে যখন আমি একটি বোতাম টিপুন যা একটি নির্দিষ্ট ভিউকন্ট্রোলারে যায়। যে লাইনে এটি ক্রাশ হয়ে গেছে তা হ'ল:

DestinationInformationViewController *info = [[DestinationInformationViewController alloc] init];
[info setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[self presentViewController:info animated:YES completion: nil]; // CRASHES HERE
[info release];

ক্র্যাশ ট্রেসটি হ'ল:

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint' *** First throw call stack: (0x3758288f 0x35287259 0x37582789 0x375827ab 0x3153d54d 0x3153d6bb 0x3153d423 0x314ce001 0x3143c3c7 0x31319c59 0x3128fc17 0x3129a267 0x3129a1d5 0x3133959b 0x31338367 0x84091 0x374dc3fd 0x31271e07 0x31271dc3 0x31271da1 0x31271b11 0x31272449 0x3127092b 0x31270319 0x31256695 0x31255f3b 0x33c9822b 0x37556523 0x375564c5 0x37555313 0x374d84a5 0x374d836d 0x33c97439 0x31284cd5 0x82bb3 0x71200) terminate called throwing an exception(gdb) Could not instantiate class named NSLayoutConstraint

দ্রষ্টব্য: এটি আমার আইফোন 4 আইওএস 5.1 এ ক্র্যাশ হয় তবে আমার আইফোন 4 এস আইওএস 6 বিটা 2 তে নয়


4
আমি Xcode 4.5 আপগ্রেড করার পরে একই সমস্যা ছিল আইফোনের এই লিঙ্কে 5.1 লুক দৌড়ানো অ্যাপ: artstudioh.com/calculator/images/error_xcode.png
Sinuhe Huidobro

হ্যাঁ আমি মনে করি আমরা এটি প্রতিষ্ঠা করেছি :)
এমসিকেপুর

উত্তর:


201

আমি বিশ্বাস করি এটি এক্সকোডের নতুন ইন্টারফেস বিল্ডারের একটি সমস্যা। আপনি কি Xcode 4.5 এর ইন্টারফেস বিল্ডার ব্যবহার করে আপনার .xib তৈরি করতে পেরেছিলেন? আমি এই মুহূর্তে এই একই সমস্যায় পড়েছি এবং আমি মনে করি এটিই সমস্যা। আমার অ্যাপ্লিকেশনটি আইওএস 6 এ চলে তবে এর চেয়ে বড় কিছু নয়।

এবং আপনাকে নিশ্চিত করতে হবে যে আপনি Use Auto Layoutনিজের xibs বন্ধ করেছেন

এটি করা যেতে পারে:

  1. আপনার এক্সিব খুলুন।
  2. File Inspectorট্যাবে যান ।
  3. এই Interface Builder Documentঅধিকার টুলবারে অধ্যায়।
  4. Use Auto Layoutবিকল্পটি আনচেক করুন ।

37
হ্যাঁ, আপনাকে নিশ্চিত করতে হবে যে আপনি আপনার নিবসের জন্য "অটো লেআউট ব্যবহার করুন" বন্ধ করেছেন।
ওয়েভাহ

হ্যাঁ, একই সমস্যা। এটা সম্পর্কে কি করতে হবে? আমি কি এটি Xcode 4.4 এ পরীক্ষা করতে হবে (এটি কারণ হতে পারে, কোনও অদ্ভুত কারণে আমার আইফোন 4 আইওএস 5.1
এক্সকোড

16
আপনার এক্সিবের মূল দৃশ্যে, ডান সরঞ্জামদণ্ডে ইন্টারফেস বিল্ডার ডকুমেন্ট বিভাগ।
চিহ্নিত করুন

আগ্রহী যে কারও জন্য, আমি কোনও পুরানো ভিউ কন্ট্রোলারের জন্য এক্সকোড ৪.৫ এ একটি নিব ফাইল তৈরি করেছি যা প্রোগ্রামটিভাবে নিজের ভিউ সেটআপ করে। আমি শীঘ্রই বুঝতে পেরেছি যে আমার নতুন নিব আইওএস 5 এ কাজ করবে না, তাই আমি নিব ফাইলটি মুছে ফেলেছি এবং একই রকম ত্রুটি পেতে শুরু করেছি, এমনকি ভেবেছিলাম নতুন নিব ফাইলটি আমার প্রকল্পেও নেই! সমাধানটি ছিল .h এবং .m ফাইলগুলির নাম পরিবর্তন করা, উগ।
কেলার

4
আজকাল অ্যাপলের মান নিয়ন্ত্রণে কী হচ্ছে তা উদ্বেগের বিষয়।
আর্দোচিঘ

43

স্ক্রিনশট

আমি নতুন এক্সকোড আপডেট এবং আইওএস 6 এসডিকে ডাউনলোড করার সময় আমার একই সমস্যা হয়েছিল। আমি কীভাবে এটি সমাধান করেছি তা এখানে:

আপনার ত্রুটি দেখা দেয় সেখানে ইন্টারফেস বিল্ডার ফাইল (xib বা স্টোরিবোর্ড ফাইল কিনা) নির্বাচন করুন। এক্সকোডের ডানদিকে সহকারী সম্পাদকে, বাম থেকে প্রথম ট্যাবটি নির্বাচন করুন এবং উপরের স্ক্রিনশটের মতো "অটোলেআউট ব্যবহার করুন" বিকল্পের জন্য একটি চেকবক্স রয়েছে। চেকবক্সটি আনচেক করুন।


4

নাগারাজা জিজ্ঞাসা করলেন "আমরা যদি এক্সবি ব্যবহার না করি তবে এটির কীভাবে সমাধান করা যায়? আমি ঠিক এই সমস্যার মধ্যে পড়েছিলাম। যা আমার বাস্তবায়নের দরকার ছিল

- (void) loadView

আমার নিয়ামক শ্রেণিতে আমি এই পদ্ধতিটি প্রয়োগ করার পরে সমস্যাটি সমাধান হয়ে যায়।


1

বর্তমানের ভিউকন্ট্রোলারের সাথে ক্র্যাশ হওয়ার আরেকটি সম্ভাব্য কারণ হ'ল নিবিতে এমন কোনও ভেরিয়েবলের সাথে সংযুক্ত রয়েছে যা এখন নেই - ভেরিয়েবলটির নাম পরিবর্তন হয়েছে বা এটি মুছে ফেলা হয়েছে।

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