বান্ডলে এনআইবি লোড করা যায়নি


111

আমি জেনারিন এনগেজকে অ্যাপিলিটার টাইটানিয়ামের সাথে কাস্টম মডিউল হিসাবে সংহত করার চেষ্টা করছি। আমি একটি নমুনা মডিউল তৈরি করেছি এবং জেরেনেজ ফোল্ডারটিকে জৈনরেনের ডকুমেন্টেশনে উল্লিখিত নমুনা মডিউল xcodeproj এ টেনে আনলাম।

এখন আমি এই প্রকল্পে বিল্ড কমান্ড দিচ্ছি, তারপরে এক্সিকিউট করব ./build.pyএবং তারপরে আমি titanium runকমান্ডটি কার্যকর করব । এটি একটি ফাঁকা স্ক্রিন সহ অ্যাপ্লিকেশনটি সিমুলেটারে আরম্ভ করে এবং তত্ক্ষণাত নীচের ত্রুটিটি ছুঁড়ে ক্র্যাশ করে।

'NSInternInconsistencyException' এর ব্যতীত অ্যাপ্লিকেশনটি সমাপ্ত করা হচ্ছে, কারণ: 'বান্ডলে NIB লোড করা যায়নি:' এনএসবান্ডেল </ ব্যবহারকারী / অভিলাষ / গ্রন্থাগার / অ্যাপ্লিকেশন সহায়তা / আইফোন সিমুলেটর / 4.2 / অ্যাপ্লিকেশন / CA167346-4091-4E16-B841-955D1D391713 / পরীক্ষার অ্যাপ্লিকেশন (লোড) 'জেআরপ্রভাইডারস নিয়ন্ত্রণকারী' নামের সাথে

কেন এই ত্রুটি ঘটতে পারে?

উত্তর:


213

ফাইল ইন্সপেক্টরটিতে .xib ফাইলের বৈশিষ্ট্যগুলি দেখুন - নির্বাচন বাক্সে সম্পত্তি "টার্গেট সদস্যতা" পিচ, তারপরে আপনার xib ফাইলটি আপনার টার্গেটের সাথে সংযুক্ত ছিল


2
অতিরিক্ত হিসাবে, আপনি যদি initWithNibName: bule: এর পরিবর্তে বরাদ্দ init ব্যবহার করেন তবে আপনি যা পাবেন তা একটি কালো পর্দা।
রবার্ট চাইল্ডান

ভাবছেন কেন একেবারে অব্যবহৃত .xib ফাইলটি অবশ্যই একটি প্রকল্পের ফোল্ডারে ঝুলিয়ে রাখতে হবে ...
বেন

আমার ধারণা আমি ঘটনাক্রমে অটোলেআউটটির পরিবর্তে এই চেকবক্সটি চেক করে ফেলেছি। আমার জন্য ক্র্যাশটি স্থির করে দিয়েছি, ধন্যবাদ
ইউনূস নেদিম মেহেল

সমস্ত লক্ষ্য সদস্যপদ চেকবক্স আমার জন্য ধূসর হয় ... কারণ কি হতে পারে?
স্টাস

64

ভিতরে Targets -> Build Phases

নিশ্চিত করুন যে .xib যোগ করা হয়েছে Copy Bundle Resources, যদি এটি উপস্থিত না থাকে তবে .xib ফাইল যুক্ত করুন।


আমার জন্য কাজ করেছেন। এটি সাধারণত আপনি যখন কোনও xib ফাইলের অনুলিপি / অনুলিপি করেন তখন ঘটে। +1
ভয়েডমাইন

22

সব জানতে চেষ্টা করুন

XXXController = [[XXXControlloer alloc] initWithNibName:@"XXXController" bundle:nil];

আপনার কোডে রয়েছে এবং তা XXXControllerবানানটি সঠিকভাবে রয়েছে তা নিশ্চিত করুন


এটি সহজ, যেহেতু নীলাম নামটি স্বয়ংচালিত নয়
চিংস 228

1
তিনি বরাদ্দের ঠিক আগে ক্লাসের নামটি বোঝাচ্ছিলেন, যা স্বয়ংচালিত: পি
গিল স্যান্ড

ইউভিউউব নিব থেকে লোড করা যেতে পারে তবে তার কোনও initWithNibName:bundle:পদ্ধতি নেই
ভাইচাস্লাভ জেরচিকভ

আমরা ভিউকন্ট্রোলার সম্পর্কে বলছি
চিংস 228

@ চিংস 228 এক্সএক্সএক্সএকআর কনট্রোলার এবং এক্সএক্সএক্সএকন্ট্রোলার, পার্থক্যটি দেখুন
ওলেকসান্দার

15

আমার এক্সকোডটি 3.2 থেকে 4.02 এ আপগ্রেড করার পরে আমার একই সমস্যা ছিল (ব্যতিক্রম 'বান্ডলে এনআইবি লোড করা যায়নি: ..')। যদিও Xcode 3.2 এর সাথে আমার অ্যাপ্লিকেশনটি মোতায়েন করা হয়েছে এটি এক্সকোড 4 দিয়ে ক্র্যাশ করে উপরে উল্লিখিত ব্যতিক্রমটি উত্থাপন করেছে - তবে আমি যখন আইওএস সিমুলেটর (v.4.2) স্থাপন করার চেষ্টা করেছি তখনই। আইওএস ডিভাইসকে লক্ষ্য করে (v.4.1) এক্সকোড 4 এর সাথেও অভিনয় করে।

দেখা গেল (ঘন ঘন ঘন ঘন ঘন স্ক্রাবলিংয়ের পরে) যে কারণটি। Xib-file এ প্রায় "লুকানো" সেটিং ছিল:

ফাইল ইন্সপেক্টরটিতে .xib ফাইলের বৈশিষ্ট্যাবলী দেখুন: সম্পত্তি 'অবস্থান' সমস্ত .xib ফাইলের জন্য 'গ্রুপের তুলনায়' সেট করা হয়েছিল। আমি এটিকে 'রিলেটিভ টু প্রজেক্ট' এবং ভয়েলাতে পরিবর্তন করেছি: সমস্ত .xib ফাইলগুলি এখন আইওএস সিমুলেটারে সঠিকভাবে লোড হয়েছে!

এই অদ্ভুত এক্সকোড 4 আচরণের পেছনের কারণটি সম্পর্কে আমার কোনও ধারণা নেই তবে সম্ভবত এটি চেষ্টা করার মতো?


এটি একটি ক্র্যাশ সমাধান করেছে যা আমি খুব পুরানো কোয়ার্টজ রচয়িতা প্লাগইন সংকলন করার সময় মোকাবিলা করেছিলাম।
পিটার কাজাজেস 10'15

12

আমার ক্ষেত্রে এটি খুব অদ্ভুত ছিল (স্টোরিবোর্ড ব্যবহার করুন): কোনও কারণে এটি প্লাস্টে "মেইন স্টোরিবোর্ড ফাইল বেস নাম" থেকে "মেইন নিব ফাইল বেস নাম" এ পরিবর্তিত হয়েছে।

"মূল স্টোরিবোর্ড ফাইলের বেস নাম" (UIMainStoryboardFile) এ ফিরে যাওয়া সমস্যার সমাধান করেছে


1
ভাল একটা. একই সমস্যা ছিল। ধন্যবাদ। এটি এটি সমাধান।
রমিজ হুসেন

1
এটি আমার সমস্যার সমাধান! ধন্যবাদ. আমি সবেমাত্র আমার প্রকল্পটির সদৃশ হয়েছি এবং সমস্ত প্রাসঙ্গিক ফাইলের নাম পরিবর্তন করেছি। সবকিছু এই কাজ কিন্তু। এখন সব কাজ !!
BeccaP

11

ত্রুটিটির অর্থ হ'ল "JRProvidersController"নাম সহ কোনও .xib ফাইল নেই । JRProvidersController.xibউপস্থিত কিনা তা যাচাই করুন ।

আপনি লোড করা হবে .xib fileসঙ্গে

controller = [[JRProvidersController alloc] initWithNibName:@"JRProvidersController" bundle:nil];

1
ওহে হনুমান, আমি জেআরপ্রভাইডারস নিয়ন্ত্রণ নিয়ন্ত্রণ ফাইলটি পরীক্ষা করেছি x আমি ফাইলটির পুনরায় নামকরণ এবং সম্পাদন করার চেষ্টা করেছি, তারপরেও এটি একই ব্যতিক্রম ছোঁড়াচ্ছে।
Goje87

অনুরোধটি initWithNibName: NSStringFromClass ([মাইভিউকন্ট্রোলার শ্রেণি]) এ পরিবর্তনের চেষ্টা করুন। ফাইলের নাম হিসাবে এটি সংবেদনশীল হিসাবে নিবিড়ভাবে পরীক্ষা করুন
হনুমান


আমি আপনার প্রস্তাবিত পরিবর্তনগুলি করেছি, তবে কোনও সাফল্য পাইনি।
Goje87

7

অবজেক্টিভ সি ভিউ কন্ট্রোলারে কাস্টম সুইফট ভিউ ব্যবহার করে (হ্যাঁ, <<PROJECT NAME>>-Swift.hফাইলটি আমদানির পরেও ), আমি নীবটি লোড করার চেষ্টা করব:

MyCustomView *customView = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([MyCustomView class]) owner:self options:nil] objectAtIndex:0];

... তবে NSStringFromClass([MyCustomView class])ফিরে আসে <<PROJECT NAME>>.MyCustomViewএবং বোঝা ব্যর্থ হয়। টিএল; ডিআর সবাই স্ট্রিং আক্ষরিক ব্যবহার করে নিব লোড করার জন্য ভাল কাজ করেছে:

MyCustomView *customView = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil] objectAtIndex:0];

6

বিল্ড টার্গেটটি আমার আইওএস ডিভাইসগুলির মধ্যে অন্যতম হওয়ায় আমি প্রোডাক্ট ফাইলটি (xyzw.app) ডান ক্লিক করে ফাইন্ডার পপআপ আইটেমটিতে শো নির্বাচন করেছি। এটি xyzw.app ভিতরে ভিতরে একটি উইন্ডো খোলা; আমি প্যাকেজ বিষয়বস্তুগুলি প্রদর্শন করে বান্ডিলটি খুললাম এবং একটি ফাইল বাদে আমার যে সমস্ত ফাইলের অভিযোগ করা হয়েছিল সেগুলি দেখলাম, মূলধনটি আমি নামের সাথে একটি ছোট-ছোট আইয়ের পরিবর্তে (zoomieVew.nib) zoomieView.nib এর পরিবর্তে করব )। আমি xib ফাইলের নামের বড় হাতের অক্ষরটি লক্ষ্য করেছি, এবং এটি পরিবর্তন করে পুনর্নির্মাণ করেছি; আপাতত এক্সকোড জেনারেটেড .nib নামটি রেখেছিল left আমি জুমিয়েভিউ.ইনিবকে বান্ডলে মুছে ফেলেছিলাম, পুনর্নির্মাণ করেছি এবং এক্সকোড যথাযথভাবে ফাইলটিকে জুমভিউ.এনআইবি হিসাবে পুনরায় তৈরি করেছি। অ্যাপটি ডিভাইসে কাজ শুরু করে।


মাইকেল হিসাবে বর্ণনা এখানে একই জিনিস। আমি একটি কাস্টম UITableViewCell ধারণ করে একটি xib ফাইল তৈরি করেছি। আমি যখন অ্যাপ্লিকেশনটি খুলি এবং মাইসেল.এক্সিব অনুসন্ধান করি তখন আমি দেখতে পাই এটি আসলে আমারसेल.নিব। আরও আরও, অ্যাপ্লিকেশনটি কেবলমাত্র ডিভাইসে ক্রাশ হচ্ছে এবং সিমুলেটারে চালিত হওয়ার সময় xib ফাইলটি লোড করে। এটি পুনরায় সেট করতে কিছুটা জটিল ছিল। আমার পক্ষে অন্তত কেবলমাত্র যখন আমি ফাইলটি মুছলাম, লক্ষ্যটি সাফ করেছিলাম এবং ফাইলটি আবার অনুলিপি করেছিলাম - এটি কাজ করে।
নীড় পেঙ্গাস

এটি প্যাকেজ সামগ্রীগুলি সন্ধান এবং দেখার সহজ
উপায়টিও

DOH। আমি কীভাবে নিজেকে আবার এই জায়গায় পেতে পারি। ধন্যবাদ দয়ালু মানুষ :) আমি এই সমস্যাটি নিয়ে গবেষণার খুব প্রথম দিকে ছিলাম
হেক্সিমাল

6

স্টোরিবোর্ডে আমার এই সমস্যা ছিল এবং নিবকে 'বিকেডি-জে 3-এফএইচআর-ভিউ-জেডএসআর -8 এম -2 ডি' এর মতো কিছু বলা হয়েছিল।

এটি কারণ আমি ভিউ কন্ট্রোলারের ইন-ভি (কোডার সহ) এ সেলফ.ভিউতে একটি সংক্ষিপ্তসার যুক্ত করার চেষ্টা করছিলাম। সেলফ ভিউ এখনও বিদ্যমান নেই।

এটি দেখার জন্য সরানো হয়েছেডিডলোড এবং আরও ভাল!


5

প্রকল্প দেখুন

Target -> Buid Phases -> Copy Bundle Resources

লাল রঙের সাথে আপনি পাবেন আপনার এক্সিব / স্টোরিবোর্ড।

কেবল এটি সরান A এছাড়াও প্রকল্প থেকে অনুপস্থিত ফাইলের সমস্ত উল্লেখ মুছে ফেলুন।

এবার এই স্টোরিবোর্ড / এক্সিব ফাইলটি আবার টেনে আনুন। Copy Bundle Resourcesএটি আপনাকে লাল রঙের সাথে ফাইল প্রদর্শন করবে তবে এটি নিয়ে চিন্তা করবেন না।

প্রকল্পটি কেবল পরিষ্কার এবং বিল্ড করুন।

এখন আপনি আপনার প্রকল্পটি আবার সফলভাবে চলমান পাবেন !!


1
এটি আমার সমস্যার সমাধান করেছে, যেহেতু আমি দুটি স্টোরিবোর্ড পেয়েছি "মাইস্টিরিবোর্ড.স্টোরিবোর্ড" এবং "মাইস্টিরিবোর্ড ip আইপ্যাড.স্টরিবোড" ... সুতরাং আইপ্যাড টার্গেট থেকে আমি "মাইস্টিরিবোর্ড.স্টরিবোর্ড" কে "কপি বান্ডিল রিসোর্স" থেকে সরিয়ে দিয়েছি
i89

5

স্টোরিবোর্ডের জন্য

আমি এখানে পোস্ট প্রতিটি একক সমাধান চেষ্টা করেছি কিন্তু আমার পক্ষে কিছুই কার্যকর হয়নি কারণ আমি সুইফট 5 এর সাথে স্টোরিবোর্ডটি ব্যবহার করছি।

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

সুতরাং এখানে আমার সমাধান, আপনি যদি ভিউকন্ট্রোলার এ -> কন্ট্রোলার বি থেকে যেতে চান তবে

পদক্ষেপ 1. স্টোরিবোর্ডে: কেবল নিশ্চিত হয়ে নিন যে আপনার ভিউকন্ট্রোলার নেভিগেশন কন্ট্রোলারে এম্বেড হয়েছে

স্টেপবোর্ডে ২. স্টোরিবোর্ডে: এখন আপনার ভিউকন্ট্রোলারবি জন্য আপনি স্টোরিবোর্ড আইডি উল্লেখ করেছেন যা আপনি কোডটিতে সনাক্তকারী হিসাবে ব্যবহার করবেন check

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

পদক্ষেপ 3. এবং অবশেষে নিশ্চিত হয়ে নিন যে আপনি বাটন ক্লিকের সাথে আপনার ভিউকন্ট্রোলারএতে নিয়ামকটিকে এইভাবে চাপ দিচ্ছেন।

if let viewControllerB = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewControllerB") as? ViewControllerB {

            if let navigator = navigationController {
                navigator.pushViewController(viewControllerB, animated: true)
            }
        }

4

আপনি যখন XIB নাম লিখুন .xib রাখবেন না! এটি ইতিমধ্যে প্রয়োগ করা হয়!

এটি করবেন না:

 UIView *viewFromNib = [[NSBundle mainBundle] loadNibNamed:@"ResultsAssessmentView.xib" owner:self options:nil][0];

এটা কর:

 UIView *viewFromNib = [[NSBundle mainBundle] loadNibNamed:@"ResultsAssessmentView" owner:self options:nil][0];

4

যদি আপনার মাইক্রোস্টমভিউ.সুইফ্ট এবং মাই কাস্টমভিউ.সিবিব কোনও ফ্রেমওয়ার্কে স্যুইফ্ট 4 উদাহরণ । এটি মাই কাস্টমভিউ'র উদ্যোগে রাখুন :

let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: "MyCustomView", bundle: bundle)
if let nibView = nib.instantiate(withOwner: self, options: nil).first as? UIView {
    self.aViewInMyCustomView = nibView
    self.aViewInMyCustomView.frame = self.frame
    self.addSubview(self.aViewInMyCustomView)
    // set constraints
    self.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint(item: self.aViewInMyCustomView, attribute: .leading, relatedBy: .equal, toItem: self, attribute: .leading, multiplier: 1.0, constant: 0).isActive = true
    NSLayoutConstraint(item: self.aViewInMyCustomView, attribute: .trailing, relatedBy: .equal, toItem: self, attribute: .trailing, multiplier: 1.0, constant: 0).isActive = true
    NSLayoutConstraint(item: self.aViewInMyCustomView, attribute: .top, relatedBy: .equal, toItem: self, attribute: .top, multiplier: 1.0, constant: 0).isActive = true
    NSLayoutConstraint(item: self.aViewInMyCustomView, attribute: .bottom, relatedBy: .equal, toItem: self, attribute: .bottom, multiplier: 1.0, constant: 0).isActive = true
} 

অবশেষে! আমি আইওএসের মডুলার প্রজেক্টে কাজ করি এবং এটিই আমি খুঁজছি। ধন্যবাদ!
ফিরদা সহিদি

# ভিউইনমাইক্রাস্টমভিউ কী?
ফ্যামফামফাম

3

আমি এটিও দেখতে পেলাম যে আমি যখন "" মাইফাইল.এক্সিব "এর মতো নাম সহ এক্সআইবি লোড করার চেষ্টা করেছি তখন এটি ব্যর্থ হয়েছিল। যখন আমি সবেমাত্র @ "মাইফাইল" ব্যবহার করেছি এটি কাজ করেছিল - দৃশ্যত এটি সর্বদা এক্সটেনশান যুক্ত করে। তবে ত্রুটির বার্তাটি কেবল বলেছিল যে এটি বান্ডলে মাইএফআইএল.এক্সিবকে খুঁজে পাচ্ছে না - যদি এটি মাইফিল.এক্সিব.এক্সিব বলত, তবে এটি একটি বড় সূত্র হত।


আপনি এক্সটেনশনটি যুক্ত না করার কারণটি হ'ল আপনার সংকলিত বান্ডেলে, .xib ফাইলগুলি .nib ফাইলগুলিতেও সংকলিত হয়। সুতরাং আপনার বান্ডিলটিতে আসলে কোনও মাইফিল.এক্সিব ছিল না, দ্বিগুণ এক্সটেনশন মাইন্ডমাইন্ড করুন।
পিটার জঙ্গসমা

2

এক্সকোড ৪.6.৩ এ কাজ করা এবং আমার এনআইবি ফাইলগুলিকে স্থানীয়করণ করা আমিও এই সমস্যাটিতে চলেছি।

আমার জন্য ফাইল ইন্সপেক্টরটিতে "ডকুমেন্ট ভার্সন" পরিবর্তন করার পরিবর্তে 6.1 এর পরিবর্তে 5.0 ডিপ্লোয়মেন্ট 5.0-এ পরিবর্তন করা ছাড়া আর কিছুই সাহায্য করেনি।


2

আপনি যখন নিব ফাইলটির নাম পরিবর্তন করেন তখন এটি ঘটে। আপনার যদি ইতিমধ্যে থাকে তবে নতুন নিব তৈরি করুন (যার অর্থ বর্তমান নিব ফাইল সামগ্রীগুলি নতুন নিবিতে অনুলিপি করুন), পুরানো নিব ফাইলটি মুছুন এবং এটি আপনার সমস্যার সমাধান করবে।

সম্পাদনা করুন: নতুন এক্সকোডের প্রারম্ভিক সংস্করণ ৪. With.৩ সহ, আপনি যদি নামটি পরিবর্তন করেন (রিফ্যাক্টর বৈশিষ্ট্য সহ) কন্ট্রোলার শ্রেণি, এটি নিব ফাইলটিরও নাম পরিবর্তন করবে এবং আপনার নিব লোডিং সমস্যা সম্পর্কে চিন্তার দরকার নেই।


2

এক্সকোড 6.3 ব্যবহার করে আমার কেবল একটি আকর্ষণীয় অভিজ্ঞতা হয়েছিল had

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

অবশেষে, ব্রায়ান মাইকেল বেন্টলির উত্তর অনুসরণ করে অবশেষে আমি আমার এইচডি-তে আমার সিমুলেটারের ফোল্ডারে আমার .app ফাইলটি পরিদর্শন করার সিদ্ধান্ত নিয়েছি। আমি দেখতে পেলাম যে আমার সমস্ত নিব সেখানে ছিল তবে প্রত্যাশিত abc.nib এর পরিবর্তে একটি abc ipad.nib সহ। আমি আইপ্যাড অংশটি সরানোর জন্য ম্যানুয়ালি এই ফাইলগুলির সমস্তটির নামকরণ করেছি, নির্মিত এবং এটি কাজ করেছে!

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

আমি সিমুলেটর থেকে অ্যাপটি মুছলাম এবং আবার একই জিনিসটি করেছি - আবার কেবল আইপ্যাড সমর্থিত। এবার। অ্যাপ্লিকেশনটিতে প্রতিটি প্রত্যাশিত স্টোরিবোর্ডের জন্য abc ~ iphone.nib এবং abc ip ipad.nib উপস্থিত ছিল এবং এটি আইফোন সিমুলেটরটিতে চলেছিল ঠিক। আবার - আমরা যদি কেবলমাত্র আমাদের ডিপ্লোয়মেন্ট তথ্য সেটিংগুলিতে আইপ্যাড চয়ন করি তবে এটি আইফোন সিমুলেটারে চলবে না। এটি একটি এক্সকোড বাগ।

সুতরাং, এক্সকোডের পক্ষ থেকে এখানে কিছু অসঙ্গত আচরণ রয়েছে এবং দুর্ভাগ্যক্রমে এটি একটি বিরতিযুক্ত বাগ এবং এটি পুনরুত্পাদন করা কঠিন হতে পারে তবে আমি এটি এখানে রেখেছি যাতে এটি ভবিষ্যতে অন্যদের সহায়তা করতে পারে।


2

এই একই ইস্যুতে কোনও কাজ হয়নি, সুতরাং আমি প্রাপ্ত উপাত্ত সহ অদ্ভুত কিছু অনুভব করেছি।

এক্সকোড 6.3.2 এ আমাকে করতে হয়েছিল:

এক্সকোড মেনুতে -> পছন্দসমূহ -> অবস্থানগুলির ট্যাব -> অবস্থানগুলিতে উত্স প্রাপ্ত ডেটাগুলিকে আপেক্ষিকভাবে পরিবর্তন করুন এবং তারপরে আবার ডিফল্টে টগল করুন

তারপর নিব জরিমানা জরিমানা।


আমি সবেমাত্র ডেরিভড ডেটা ফোল্ডারটি মুছে ফেলেছি এবং এটি কার্যকর হয়েছে। বিভ্রান্ত বলে মনে হচ্ছে কারণ আমি প্রকল্প নেভিগেশনে xib ফাইলটির নতুন নামকরণ করেছি। অদ্ভুত এক.
কাইল গোসলান

2

আপনার এক্সআইবি ফাইল সম্ভবত আপনার প্রকল্প ফোল্ডারের বাইরে রয়েছে। এটি লক্ষ্য পরিদর্শককে না দেখায়। যাইহোক, XIB ফাইলটিকে আপনার প্রকল্প ফোল্ডারে সরিয়ে নেওয়া ঠিক করা উচিত।


2

সতর্কতা অবলম্বন করুন: এক্সকোড ফাইলের নামগুলির সাথে সংবেদনশীল। এটি "মজা" এর চেয়ে একই "মজা" নয়।


আমার নিবের ফাইলের নাম ছিল ফর্মআইটেমচেকবক্সসেল.নিব, ক্লাস ছিল ফর্মআইটেমচেকবক্সসেল। "বাক্স" নামের মূলধনটি আমার জীবনের 45 মিনিটের জন্য ব্যয় করে।
সেফফাস্টএক্সপ্রেসিভ

1

আপনি যদি আপনার প্রকল্পে ফ্রেমওয়ার্ক ব্যবহার করছেন তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি সঠিক বান্ডেল থেকে লোড করছেন:

NSBundle *bundle = [NSBundle bundleWithIdentifier:@"<your bundle id here>"];
ABCViewController *vc = [[ABCViewController alloc] initWithNibName:@"<your nib name>" bundle:bundle];

1

আমার জন্য, এটি কেবলমাত্র আমার ঘরের ফাইলের নামটিকে তার শ্রেণীর মতো করে পরিবর্তন করে সমাধান করেছে।

অ্যাট্রিবিউটস ইন্সপেক্টর ইন (স্টোরি বোর্ডের ডান পাশের বারের তৃতীয় ট্যাব):

  1. ঘরের সনাক্তকারী সেট করুন (উদাহরণস্বরূপ: "MyCellId"),
  2. ঘরের শ্রেণি সেট করুন (উদাহরণস্বরূপ: "MyCellClass" ফাইলটি যখন "MyCellClass" হয়),
  3. আপনার ভিউ কন্ট্রোলারে সেলটি নীচের হিসাবে নিবন্ধ করুন:

    টেবিলভিউ.গ্রিস্টার (ইউআইএনআইবি (নিবনাম: "মাইসেলক্লাস", বান্ডেল: শূন্য)), জন্য সেলসরেজআইডেন্টিফায়ার: "মাইসেলআইডি")


0

আমার পুরানো কোডটি এক্সকোড 3x থেকে এক্সকোড 4 এ রূপান্তর করার সময় এই সমস্যাটি পেয়েছেন এবং কেবলমাত্র wwwwwwww.xib নামকরণ করে রুটভিউকন্ট্রোলআরআইএসবিতে এর সমাধান করেছেন


0

আমি একই সমস্যা মধ্যে দৌড়ে। আমার ক্ষেত্রে নিবের নাম ছিল "মাইভিউকন্ট্রোলআরসিবিব" এবং আমি এটিকে "মাইভিউ.অক্সিব" নাম দিয়েছি। এটি ত্রুটি থেকে মুক্তি পেয়েছে।

আমি এক্সকোড 3 থেকে 4.2 এও একটি প্রকল্প চালিয়ে যাচ্ছিলাম। পথের ধরণটি পরিবর্তন করা কোনও বিষয় নয়।


0

এছাড়াও আপনি স্থানীয়করণের সাথে গোলমাল করার সময় ফাইলটি ভুল ভাষার নির্দিষ্ট ফোল্ডারে সন্ধান করার কারণ হতে পারে।


0

প্রতিবারই আমি আমার অ্যাপ্লিকেশনটিতে এমন কোনও নিয়ন্ত্রকের নাম রিফ্যাক্ট করি যা আমি এতে সময় নষ্ট করি। রিফ্যাক্টরিং নিবি নামটি দীক্ষাবিহীন নামনে পরিবর্তন করে না: @ "MYOldViewControllerName"।


0

আমার একই সমস্যা ছিল, স্টোরিবোর্ডে আমার ভিউ কন্ট্রোলার শনাক্তকরণটির নামকরণ আমার পক্ষে কাজ করে।


0

আমি লক্ষ্য করেছি যে আপনি যদি গিটের মধ্যে শাখাগুলির মধ্যে স্যুইচ করেন এবং একটি পরিষ্কার করতে ভুলে যান তবে এটি হতে পারে। সুতরাং xib আছে এবং সবকিছু সন্ধান করা হয়েছে তবে সঠিক বিল্ডটিতে সমস্যা হতে পারে। সুতরাং শুধু ক্ষেত্রে একটি পরিষ্কার করতে ভুলবেন না


0
SecondViewController *secondViewController = [[SecondViewController alloc]initWithNibName:@"SecondView.xib" bundle:nil];
    [self.navigationController pushViewController:secondViewController animated:YES];

উপরের কোডে, আপনি যদি "সেকেন্ডভিউ.এক্সিব" এর মতো কোনও ফাইল এক্সটেনশানও দেন, তবে এটি ভুল এবং আপনাকে উপরে ত্রুটি দেবে। পরিবর্তে "সেকেন্ডভিউ" ব্যবহার করুন। আমি যে ভুল করেছি।


0

এটি আমার জন্য কাজ করা হয়েছে .. আপনি নিব নামটি সঠিকভাবে লিখেছেন তা নিশ্চিত করুন।

[[এনএসবান্ডেল মেইনবান্ডেল] লোডনিব নাম: @ "গ্রাফভিউ" মালিক: স্ব বিকল্পসমূহ: শূন্য];

গ্রাফভিউ (নিব নাম)

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